Skip to content

feat(checkin): redesign screens with shared motion + scan→profile transition#35

Merged
ut42tech merged 11 commits into
developfrom
feat/checkin-redesign
May 29, 2026
Merged

feat(checkin): redesign screens with shared motion + scan→profile transition#35
ut42tech merged 11 commits into
developfrom
feat/checkin-redesign

Conversation

@ut42tech
Copy link
Copy Markdown
Owner

Summary

Elevates the checkin iPad PWA with a cohesive, reduced-motion-aware motion vocabulary, bringing all seven non-profile screens up to the polish bar set by the participant profile page.

  • Shared motion kitlib/motion.ts constants + Reveal / StatTile / LiveDot / PageShell primitives (all reduced-motion aware).
  • All 7 screens redesigned — home (gradient ground, staggered cards, static scan reticle, scan-lock puck, IconBug→keyboard fix), login (welcome hero), manual (sliding segmented control), first-time (staggered steps + candidate grid), history (animated summary + pulsing presence dot), settings (mentor identity header), guideline (directional slide transitions, animated progress, ←/→ keys).
  • Result card — extracted SuccessIcon + choreographed ResultSummaryCard (icon pop + sonar ring, staggered rows, footer settle), shared by check-in/out and first-time.
  • Scan → profile View Transition — React experimental.viewTransition; the home scan-lock puck morphs into the profile header via a shared participant-portal name, plus an app-wide route crossfade, all reduced-motion guarded in CSS.

Out of scope (intentionally untouched)

The profile detail view and the AppShell header are not redesigned. The only change to the profile page is the <ViewTransition> wrap on its header card and the result branch delegating to ResultSummaryCard.

Notes

  • Stack: Next.js 16.2.4 / React 19.2.4 / Tailwind v4 / motion. Tone resolution uses static Record maps (Tailwind-v4 safe). No any.
  • Spec + plan live in docs/superpowers/specs/2026-05-29-checkin-redesign-design.md and docs/superpowers/plans/2026-05-29-checkin-redesign.md.
  • Passed a holistic pre-merge review with no Critical/Important findings.

Test plan

No JS test runner in this app; CI gate is type-check + Biome + build (all green). Manual device checks:

  • Home: gradient + staggered cards, static scan reticle, keyboard icon on the manual-entry card.
  • Scan a QR → emerald lock puck morphs into the profile header (verify on iPad PWA / Safari).
  • Check-in / check-out / first-time: result-card choreography (icon ring, staggered rows).
  • Guideline: directional slide transitions, animated progress fill, ←/→ navigation.
  • History: animated summary counts, pulsing 滞在中 dot.
  • Login / settings / manual / first-time: gradient ground + entrance motion.
  • OS "Reduce Motion" on → everything instant, no morph/pulse.

🤖 Generated with Claude Code

ut42tech and others added 11 commits May 30, 2026 00:00
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…s/today

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Spec and task-by-task plan for elevating the checkin screens with a shared motion vocabulary.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Reusable motion constants plus Reveal, StatTile, LiveDot, and PageShell, all reduced-motion aware.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Extract the sonar success icon and choreograph the result card (icon pop + ring, staggered rows, footer settle).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Gradient ground, staggered card entrance, a static scan reticle, and a scan-lock confirmation puck; fix the manual-entry icon.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Apply the motion vocabulary to login, manual (sliding segmented control), first-time, history (animated summary + live dot), settings, and the guideline carousel (directional slides).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Enable React view transitions and morph the scan-lock puck into the participant profile header; reduced-motion safe.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The exit crossfade still played a 0.2s fade when motion is reduced; make it instant for consistency with the rest of the app.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@vercel
Copy link
Copy Markdown

vercel Bot commented May 29, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
tecnova-platform-admin Ready Ready Preview, Comment May 29, 2026 5:13pm
tecnova-platform-checkin Ready Ready Preview, Comment May 29, 2026 5:13pm

@ut42tech ut42tech merged commit 444c0d8 into develop May 29, 2026
4 checks passed
@ut42tech ut42tech deleted the feat/checkin-redesign branch May 29, 2026 17:20
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