Make the marketing site a usable in-page app preview - #86
Conversation
Replace the nested 264px phone mock with a single AppShell stage at readable size, wire Sensory Profile so Quiet/motion/contrast actually change the preview, and drop autoplay plus overselling copy. Co-authored-by: Muhammad Rafiq <mohabbis@users.noreply.github.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Portal focus mode to document.body so the sticky nav cannot cover Close, put the in-page stage first on small screens, and tighten Playwright locators for the consent loop. Co-authored-by: Muhammad Rafiq <mohabbis@users.noreply.github.com>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c1e465670a
ℹ️ About Codex in GitHub
Your team has set up Codex to 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 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| setSheet(null); | ||
| setApprovalScene(null); | ||
| setActiveScene(eveningScene.name); | ||
| applyScenePreset(eveningScene.name); |
There was a problem hiding this comment.
Keep guided execution behind confirmation
When a user taps the fourth guided “Runs” step or the corresponding “Execution” flow card, this branch immediately applies the Evening preset and reports the scene as applied, bypassing both reasoning and Action confirmation. That makes the public preview demonstrate a one-tap action despite its advertised consent flow; route this step through the confirmation sheet instead of mutating device state directly.
AGENTS.md reference: AGENTS.md:L9-L11
Useful? React with 👍 / 👎.
| </div> | ||
| ); | ||
| })} | ||
| {ids.map(id => <DeviceRow key={id} id={id} />)} |
There was a problem hiding this comment.
Preserve room labels in the Intel list
In the Intel screen, replacing the inline rows with DeviceRow changes each device’s subtitle from d.room to d.category. Because the list is already grouped by category, users now see redundant labels such as “Lighting” under every item and lose the room information needed to distinguish similarly named devices; pass the room as the Intel-row subtitle or let DeviceRow select the appropriate metadata for this context.
Useful? React with 👍 / 👎.
The marketing site was a waitlist page with a nested ~264px phone mock (6.5px tab labels). That is not a live demo.
This turns the hero into a playable in-page preview of Lumen:
AppShellat usable size (~390px on desktop; viewport-height, no nested bezel on mobile)AppShellto focus mode (page chrome hidden) instead of mounting a second tree#flowauto-cycle; guided step 5 completes Apply → toastWeb tests: Vitest covers Quiet cadence and unnamed copy; Playwright covers the in-page consent loop, guided execution, focus-mode add-device, and a mobile viewport pass.