Commit Graph

6 Commits

Author SHA1 Message Date
jeanGaston 1b4ddd043a fix(create): surface submit errors and fix keyboard overlap on mobile
The create-proposal submit had no error handling, so failures (e.g.
crypto.subtle unavailable outside a secure context) silently reset the
button with no feedback. Also set interactiveWidget so the mobile
keyboard resizes the layout instead of covering the sticky submit button.
2026-07-30 10:16:56 +02:00
jeanGaston 6ea31e8ac0 feat: allow a single activity proposition and add optional location field
Senders no longer need to fill in two activities to publish; one is
now enough (still capped at 5). Each activity can also specify a
place, which flows into the generated Google Calendar link and .ics
file when the recipient picks a slot.
2026-07-29 20:45:24 +02:00
jeanGaston 80bb4c9474 chore: remove stale *.old.tsx backups and fix Button/Card casing in git
The *.old.tsx files (page.old.tsx, layout.old.tsx, ManageClient.old.tsx,
etc.) were pre-refactor backups left alongside their replacements,
confirmed unreferenced by any import.

Also fixes a latent git-tracking bug: since the very first baseline
commit tracked these two files as Button.tsx/Card.tsx, and Windows'
case-insensitive filesystem means a same-path case change isn't
recorded as a rename by default, git's tree kept the capitalized path
forever even after they were rewritten to shadcn's lowercase
button.tsx/card.tsx content. This surfaced intermittently as a
TS1261 "differs only in casing" build error whenever git re-checked-out
the tree (e.g. after this branch's merge to master rewrote the working
copy back to the capitalized path). Fixed with a two-hop git mv so the
rename is actually recorded.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-29 20:32:32 +02:00
jeanGaston 56b3e6c131 refactor(ui): rebuild ProposalForm, CreateClient, ManageClient on shadcn/ui
ProposalForm:
- Step tabs -> Radix Tabs (roving tabindex, arrow-key nav, proper
  ARIA) driven by the same `step` state as before.
- Evasive-no toggle -> Switch, wrapped in a <label> so the whole row
  (not just the small control) is tappable.
- All raw <input>/<textarea> -> Input/Textarea; buttonVariants
  'primary' -> 'default' to match the new variant names.
- New StepActions wrapper makes Back/Next/Publish sticky to the
  viewport bottom on mobile (safe-area aware) so the wizard never
  requires scrolling to find the next action; reverts to normal
  inline flow at sm+.

CreateClient / ManageClient:
- Card/Button/Input swapped to shadcn equivalents.
- Copy-link feedback moved from a per-button `copied` boolean +
  setTimeout to a single sonner toast call, removing the duplicated
  state pattern.
- ManageClient's delete confirmation moved from window.confirm() to
  an AlertDialog, matching the skill's accessible-primitives guidance
  and giving it proper focus trapping on mobile.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-29 19:47:02 +02:00
jeanGaston 5f736525fb refactor(ui): mobile-first pass on shared chrome + shadcn Field wrapper
- Field.tsx re-added composing shadcn Label (no built-in equivalent
  in this CLI generation).
- Bumped Input/Textarea to h-12/rounded-xl/px-4 (44px+ touch targets,
  matches the app's existing rounded, roomy input style).
- Card padding restored to the old flat p-5 sm:p-6 default so most
  call sites (`<Card>children</Card>`) don't need CardContent
  wrapping; CardHeader/Content/Footer still exported for the few
  structured cards.
- Swapped literal pink-500/gray-100 focus/border colors for
  text-primary / border-border / ring-ring tokens in Footer and
  CalendarButtons so brand color flows from the CSS vars.
- min-h-screen -> min-h-[100dvh] on full-bleed screens (home,
  create, not-found) so mobile browser chrome doesn't clip content.
- Responsive type scale (text-4xl sm:text-5xl md:text-6xl, etc.)
  instead of a single jump at md:, so headings don't overflow on
  narrow phones.
- Root layout now mounts <Toaster> and uses bg-background/
  text-foreground (background token matches the previous gray-50).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-29 19:42:48 +02:00
jeanGaston 1064a0362b Initial commit: baseline snapshot before UI/UX refactor
Captures the existing lovelope.app codebase (Next.js App Router,
custom Tailwind components, Prisma) as a rollback point prior to
adopting shadcn/ui and a mobile-first redesign.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-29 19:27:12 +02:00