Conversation
Design doc for a downloadable ticket image on /wait, giving customers a device-independent way back to their queue position (name, arrival time, position snapshot, recovery code, QR code) beyond the current localStorage-only auto-redirect. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
7 tasks: pure time/URL helpers, html-to-image dependency, TicketCard component, /retrouver QR pre-fill, merchant logo/brand-color plumbing, WaitClient wiring, and manual verification on the dev Preview deployment rather than local dev — per this session's explicit request to stop fighting local-only quirks (StrictMode double-invoke, geolocation) that don't reproduce on a real deployed build. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…existing merchant TicketCard Task 3 named the new customer-facing, downloadable-ticket component "TicketCard" without checking for an existing name — a component with that exact name and path already existed for the merchant dashboard's queue list (components/sections/QueueList.tsx, app/design-system/page.tsx), with an entirely different prop contract (id, status, onCall/onComplete/ onCancel/onReportName). The implementer's commit silently overwrote it, which would have broken the merchant queue dashboard. Restores components/composed/TicketCard.tsx and its story to their pre-Task-3 state, and adds the new component under its own name, TicketDownloadCard, in TicketDownloadCard.tsx / TicketDownloadCard.stories.tsx. Updates the plan document throughout so Tasks 4-6 reference the correct name going forward. Verified: tsc --noEmit clean, eslint clean, app-storybook contract check passes, both merchant-facing importers (QueueList.tsx, design-system/page.tsx) resolve against the restored original with no changes needed on their end. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The review flagged the eslint-disable comment as suppressing the wrong
rule: it targeted exhaustive-deps, which wasn't actually firing (no
missing dep — setCustomerName/setCode are stable, parseRecoverParams
is a stable import), while the real warning was
react-hooks/set-state-in-effect ("calling setState synchronously
within an effect can trigger cascading renders").
Applies the same fix already established in this codebase for the
identical warning (CarteClient.tsx's geolocation effect): defer the
setState calls via setTimeout(0), matching the "defer to avoid a
synchronous setState in the effect body" pattern used there. No
remaining eslint-disable needed either — the deferred version doesn't
trigger the exhaustive-deps rule.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
The final whole-branch review caught that WaitClient.tsx passes the live polled position (WaitClient.tsx:458), not a snapshot frozen at the "Enregistrer" click as originally specced. Confirmed with the user this is the preferred behavior — live is arguably more accurate than a value that could go stale while the dialog sits open — so the code stays as built and the spec is corrected to describe it, rather than leaving a written contradiction. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.