refactor: make the reference week a dense one-row-per-day table

One card per day pushed the week to roughly 1100px, so checking a change
meant scrolling back up past the day you had just edited. All seven days
now fit on one phone screen.

Each row carries the day, an open switch, its slots inline and its two
actions. The per-row "duplicate onto the other open days" button was
repeated five times in prose; it is now a short labelled control on the
row itself, with the full sentence kept as its accessible name.

Unsaved days are marked with a dot rather than a badge, and the footer
still names which days are about to change — the point of the preview is
that it is readable without leaving the week.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012cSY9pVhZmJUKNN7wf1Myd
This commit is contained in:
2026-09-20 19:04:42 +02:00
co-authored by Claude Opus 5
parent eb23eb650b
commit c8235763b0
3 changed files with 164 additions and 137 deletions
+4 -4
View File
@@ -22,11 +22,11 @@ export default async function HoursPage() {
);
return (
<main className="mx-auto max-w-3xl px-4 py-10">
<main className="mx-auto max-w-3xl px-4 py-8">
<h1 className="text-2xl">Horaires fixes</h1>
<p className="mt-2 max-w-prose text-[var(--ink-muted)]">
La semaine de référence. Les fermetures ponctuelles, les vacances et les jours fériés se
règlent ailleurs et priment sur ces horaires.
<p className="mt-1 text-sm text-[var(--ink-muted)]">
Semaine de référence. Fermetures ponctuelles, vacances et jours fériés priment sur ces
horaires.
</p>
<WeekEditor initial={initial} canEdit={session?.user?.role === 'admin'} />