Add a live D9-style preview to the Club identity page

Two columns (form left, preview right, matching D9) with a mini mock of this
app's own sidebar + a sample button -- primary_color/secondary_color are
what those actually control (base.html's --tenant-* properties), so the
preview reflects a real surface rather than D9's aspirational App/Website/
Email tabs. Colour swatch pickers sync with the existing hex text fields in
both directions, and a contrast-ratio row mirrors Club._content_color_for's
exact WCAG math client-side, so the ✓/⚠ shown is the real number the server
computes on save.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ECGMEwrc2k4D8VQuwjstj9
This commit is contained in:
2026-08-20 09:00:13 +02:00
parent 8baf3f7b3d
commit fc3901fb5a
5 changed files with 363 additions and 50 deletions

View File

@@ -5173,6 +5173,16 @@
grid-template-columns: repeat(6, minmax(0, 1fr));
}
}
.xl\:sticky {
@media (width >= 80rem) {
position: sticky;
}
}
.xl\:top-4 {
@media (width >= 80rem) {
top: calc(var(--spacing) * 4);
}
}
.xl\:grid-cols-2 {
@media (width >= 80rem) {
grid-template-columns: repeat(2, minmax(0, 1fr));
@@ -5188,6 +5198,11 @@
grid-template-columns: repeat(4, minmax(0, 1fr));
}
}
.xl\:grid-cols-\[1\.2fr_1fr\] {
@media (width >= 80rem) {
grid-template-columns: 1.2fr 1fr;
}
}
.xl\:grid-cols-\[1\.6fr_1fr\] {
@media (width >= 80rem) {
grid-template-columns: 1.6fr 1fr;
@@ -5198,6 +5213,11 @@
grid-template-columns: 1.35fr 1fr;
}
}
.xl\:self-start {
@media (width >= 80rem) {
align-self: flex-start;
}
}
.\[\&\:\:-webkit-details-marker\]\:hidden {
&::-webkit-details-marker {
display: none;

File diff suppressed because one or more lines are too long