Files
Dune/components/seat-confirmation.tsx
T
Quintine 137f9223f1 Keep admin and seat recovery notices readable
Show progress during initial admin and seat-control submissions; retain exact recovery instructions for uncertain requests and explicit retries. Keep seat recovery and handover confirmations above the table until Continue without blocking gameplay. Use readable 16px text and 44px controls.

Verified isolated checkpoint: types, lint, 5381 offline tests, 52 HTTP tests and build. Local delayed/lost-response browser QA covered admin creation, durable retry, handover and seat recovery, mobile readability and saved-seat restoration. Existing 2098 rooms and 4455 seats preserved. Deployment acceptance follows separately.
2026-09-26 13:36:05 +10:00

17 lines
1002 B
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
'use client';
import { Button } from './ui/button';
export type SeatConfirmationKind = 'recovery' | 'handover';
/** Local acknowledgement only; reconnects and game actions never dismiss it. */
export function SeatConfirmation({ kind, onContinue }: { kind: SeatConfirmationKind; onContinue: () => void }) {
return <section className="notice" style={{ fontSize: '1rem', lineHeight: 1.5 }} aria-label="Seat confirmation">
<h2>{kind === 'recovery' ? 'Seat recovered' : 'Seat handover complete'}</h2>
<output className="block">{kind === 'recovery'
? 'Your seat is recovered in this browser. Previous browser sessions for this seat have been revoked.'
: 'You now control this seat and its saved progress. The previous owner’s access has been revoked. Use Protect your saved seat to create your own recovery kit.'}</output>
<Button type="button" variant="outline" className="mt-3 min-h-11" style={{ fontSize: '1rem' }} onClick={onContinue}>Continue</Button>
</section>;
}