Changeset 50e80ac in Klonkt for src/assets/css/guardian.css


Ignore:
Timestamp:
08/08/2026 02:19:06 AM (5 weeks ago)
Author:
roboburr <roboburr@…>
Branches:
main
Children:
3b43e4c
Parents:
2bd31d6
git-author:
Robin <roboburr@…> (08/08/2026 02:18:27 AM)
git-committer:
roboburr <roboburr@…> (08/08/2026 02:19:06 AM)
Message:

Het poortenpaneel als cockpit (shaer-ahy.1)

Barts richting (8-8): een uitklapbaar poortenpaneel per ward met
aan/uit-toetsen die een klein statusveld dragen, zoals de airco-toets in
een dashboard.

Elke gate is nu zo'n toets: lampje links, de naam erop, en een verzonken
LCD-achtig veldje met de stand als tekst -- in de ACCENTKLEUR van het
huis, als de cijfers op het aircopaneel (Barts aanwijzing tijdens het
bouwen, net als: meer contrast tussen toets en opschrift; de tekst
erfde de paginakleur en zakte weg in het toetsvlak, nu expliciet in
beide thema's). Lampje en veld zeggen hetzelfde in twee vormen -- kleur
alleen is voor kleurenblind en onwennig volk geen antwoord.

Vijf lampstanden: aan gloeit, uit is dof, onbeslist is een open
kringetje (geen besluit is de afwezigheid van een), wachten knippert --
de enige stand die vanzelf verandert, dus de enige die om je blik mag
vragen, en stil bij prefers-reduced-motion -- en gepland is een lege
fitting, geen dichte deur.

De TOETS is de toggle: aanraken stelt de andere stand voor, met de
nf9-uitleg ervoor (uitleg staat er, dan pas de knop); dichtzetten
vraagt niet, dat laat niets nieuws door. Niet verstelbaar drukt niet in
maar blijft zijn stand tonen. aria-pressed draagt de stand voor wie
niet kijkt.

Het inklapgedrag en de samenvattingsregel blijven; de oude stand-chips
en hun CSS zijn opgeruimd. Donker thema kreeg eigen verf -- de site
heeft er echt een (style.css).

Geverifieerd op een fixture-pagina met alle vijf lampstanden, een
lopend voorstel, een onomkeerbare gate en een geplande: raster,
standen, knipperen en de bevestigingsstroom kloppen. Geen
serverwijziging, geen nieuwe tekstsleutels.

Co-Authored-By: Claude Opus 5 <noreply@…>

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/assets/css/guardian.css

    r2bd31d6 r50e80ac  
    201201.g-panel-history { border-top: 2px solid var(--g-line, rgba(0,0,0,.12)); margin-top: 1rem; opacity: .8; }
    202202
    203 /* De stand-chip op een gate-rij. Drie standen, drie gewichten: aan valt op,
    204    uit is rustig, en "nog niets besloten" is lichter nog -- dat is namelijk geen
    205    besluit maar de afwezigheid ervan. */
    206 .g-gate-chip { font-size: .78em; padding: .1em .5em; border-radius: 999px; border: 1px solid currentColor; }
    207 .g-gate-chip-on { font-weight: 600; }
    208 .g-gate-chip-off { opacity: .8; }
    209 .g-gate-chip-undecided { opacity: .55; border-style: dashed; }
    210 
    211 /* De poortenlijst: compact, en ingeklapt tot je hem opent. Met twaalf rijen
    212    duwt een open lijst alles eronder van het scherm. */
     203/* ── Het poortenpaneel als cockpit (shaer-ahy.1, Barts richting 8-8) ──
     204   Elke gate is een toets zoals op een aircopaneel: lampje links, naam erop,
     205   en een klein verzonken statusveld met de stand als tekst. Het lampje en het
     206   veld zeggen hetzelfde in twee vormen -- kleur alleen is geen antwoord. */
     207.g-gates { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: .5rem; margin: .35rem 0; }
     208.g-sw-wrap { display: flex; flex-direction: column; gap: .25rem; min-width: 0; }
     209.g-sw {
     210  display: flex; flex-direction: column; align-items: stretch; gap: .3rem;
     211  text-align: left; padding: .5rem .6rem; border-radius: 10px;
     212  border: 1px solid var(--g-line, rgba(0,0,0,.18));
     213  background: var(--g-key, linear-gradient(180deg, rgba(255,255,255,.9), rgba(0,0,0,.04)));
     214  box-shadow: inset 0 1px 0 rgba(255,255,255,.6), 0 1px 2px rgba(0,0,0,.12);
     215  cursor: pointer; font: inherit;
     216  /* Expliciet, niet geerfd (Barts aanwijzing, 8-8): de paginakleur zakte weg
     217     in het toetsvlak. Het opschrift is het donkerste op de toets. */
     218  color: var(--g-key-ink, #1b1e22);
     219}
     220.g-sw:active:not([disabled]) { box-shadow: inset 0 1px 3px rgba(0,0,0,.25); transform: translateY(1px); }
     221/* Niet verstelbaar is niet kapot: de toets drukt niet in, de stand blijft leesbaar. */
     222.g-sw[disabled] { cursor: default; opacity: .8; }
     223.g-sw-head { display: flex; align-items: center; gap: .45em; min-width: 0; }
     224.g-sw-name { font-weight: 650; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
     225
     226/* Het lampje. Aan gloeit, uit is dof, onbeslist is een open kringetje (geen
     227   besluit is de afwezigheid van een), wachten knippert -- de enige stand die
     228   vanzelf verandert, dus de enige die om je blik mag vragen -- en gepland is
     229   een lege fitting: een poort die nog niet bestaat is geen dichte deur. */
     230.g-sw-lamp { flex: none; width: .6em; height: .6em; border-radius: 50%; box-shadow: inset 0 0 2px rgba(0,0,0,.35); }
     231.g-lamp-on { background: var(--g-lamp-on, #2f9e5f); box-shadow: 0 0 6px 1px rgba(47,158,95,.55); }
     232.g-lamp-off { background: var(--g-lamp-off, #7a8087); }
     233.g-lamp-undecided { background: transparent; border: 1px dashed currentColor; opacity: .55; box-shadow: none; }
     234.g-lamp-waiting { background: var(--g-warn, #b8860b); animation: g-lamp-pulse 1.4s ease-in-out infinite; }
     235.g-lamp-planned { background: transparent; border: 1px dotted currentColor; opacity: .4; box-shadow: none; }
     236@keyframes g-lamp-pulse { 50% { opacity: .3; } }
     237@media (prefers-reduced-motion: reduce) { .g-lamp-waiting { animation: none; } }
     238
     239/* In het donker geen lichte toetsen: de site heeft een echt donker thema
     240   (style.css), en een wit-op-lichtgrijs paneel is daar onleesbaar. Zelfde
     241   vorm, andere verf; de vars blijven overschrijfbaar. */
     242@media (prefers-color-scheme: dark) {
     243  .g-sw {
     244    background: var(--g-key, linear-gradient(180deg, rgba(255,255,255,.10), rgba(0,0,0,.25)));
     245    box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 1px 2px rgba(0,0,0,.5);
     246    color: var(--g-key-ink, rgba(255,255,255,.95));
     247  }
     248  .g-sw-state { background: var(--g-lcd, rgba(0,0,0,.4)); }
     249}
     250
     251/* Het statusveld: verzonken venstertje, vaste letter, zoals de temperatuur op
     252   het aircopaneel. */
     253.g-sw-state {
     254  align-self: flex-start; font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
     255  font-size: .74em; padding: .1em .5em; border-radius: 4px;
     256  border: 1px solid var(--g-line, rgba(0,0,0,.18));
     257  background: var(--g-lcd, rgba(0,0,0,.07));
     258  box-shadow: inset 0 1px 2px rgba(0,0,0,.12);
     259  /* Het oplichtende display van de toets: de stand in de accentkleur van het
     260     huis (Barts aanwijzing, 8-8), zoals de cijfers op het aircopaneel. */
     261  color: var(--accent, #6b8f71);
     262  font-weight: 600;
     263}
     264.g-sw-meta { display: flex; flex-wrap: wrap; gap: .3em .7em; opacity: .7; font-size: .82em; }
     265
     266/* De poortenlijst blijft ingeklapt tot je hem opent. Met twaalf toetsen duwt
     267   een open paneel alles eronder van het scherm. */
    213268.g-gates-toggle { display: block; width: 100%; text-align: left; margin: .25rem 0; }
    214 .g-gates .g-gate { padding: .35rem 0; }
    215 .g-gates .g-gate-head { gap: .4rem; }
    216 /* Een poort die nog niet bestaat is een lege plek, geen dichte deur. */
    217 .g-gate-chip-planned { opacity: .45; border-style: dotted; }
    218269
    219270/* De waarschuwing bij een gate-voorstel (shaer-nf9). Geen rode paniekbalk: dit
Note: See TracChangeset for help on using the changeset viewer.