Skip to content

Add localized Concierge product page - #114

Merged
LakshmanTurlapati merged 2 commits into
mainfrom
implement-concierge-page
Aug 22, 2026
Merged

Add localized Concierge product page#114
LakshmanTurlapati merged 2 commits into
mainfrom
implement-concierge-page

Conversation

@LakshmanTurlapati

Copy link
Copy Markdown
Collaborator

Adds a fully responsive Concierge product page with package guidance, quick start, security/runtime sections, route metadata, JSON-LD, canonical/hreflang output, and component coverage.

Publishes the page throughout prerendering, server allowlists, navigation/footer links, sitemap, LLM crawler docs, and all five translated catalogs while refreshing translation audit artifacts.

Consolidates shared footer layout and fixes dashboard QR scanner CDN/startup lifecycle handling with regression tests.

Verification: production build, focused Karma tests (8), i18n lint, translation drift/quality/tooling, hreflang (601 assertions), and local crawler smoke (133 assertions); the production crawler smoke only reports the not-yet-deployed /concierge route.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 49e7bbeb9b

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment on lines +301 to +305
window.requestAnimationFrame(() => {
if (!this.scrollSpyReady) {
this.setupScrollSpy();
}
});

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Cancel the pending scroll-spy setup on teardown

If the user leaves /concierge before the next animation frame, this callback runs after ngOnDestroy(), finds the detached pageRoot, and installs the window scroll/resize/hashchange listeners after the teardown loop has already completed. Those listeners retain the destroyed component indefinitely and accumulate on repeated rapid visits; store and cancel the setup frame or guard it with a destroyed flag.

Useful? React with 👍 / 👎.

Comment on lines +190 to +194
if (this.browser && navigator.clipboard?.writeText) {
void navigator.clipboard.writeText(block.innerText).catch(() => undefined);
}

this.copied = true;

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Report copy success only after the clipboard write succeeds

When the Clipboard API is unavailable or writeText() rejects—for example in a restricted browser context—the rejection is discarded and copied is still set to true, so the button tells the user the example was copied even though the clipboard was unchanged. Set the success state only after the promise resolves and provide failure or fallback behavior for the other paths.

Useful? React with 👍 / 👎.

@@ -0,0 +1,1503 @@
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700&family=Poppins:wght@100;200;900&family=Space+Mono:wght@400;700&display=swap');

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Allow the page's Google Fonts through production CSP

In the deployed Express environment, showcase/server/server.js sends a CSP whose style-src allows only self, cdnjs, and unpkg and whose font-src likewise omits Google, so this fonts.googleapis.com import—and the resulting fonts.gstatic.com font files—is blocked. Consequently the new page always falls back from Outfit, Poppins, and Space Mono in production; either self-host these fonts or add both required origins to the production policy.

Useful? React with 👍 / 👎.

@LakshmanTurlapati
LakshmanTurlapati merged commit 89df2f4 into main Aug 22, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant