docs: Zeitsteuerung in AGENTS.md und DESIGN.md nachziehen
AGENTS.md: - Helper-Liste nannte playlist_item_enabled(), die es nicht mehr gibt; ersetzt durch is_item_active() und die neuen Schedule-Helfer - Playlist-Items: auch Datei-Eintraege koennen Dicts sein, save_playlist kopiert bestehende Dicts, daher ueberlebt schedule das Umsortieren - Neuer Abschnitt "Zeitsteuerung": Format, Auswertungsregeln, Reload-Kopplung ueber playlist_hash() und die beteiligten Stellen. Festgehalten sind besonders die Punkte, die man beim Umbau kaputt macht: unlesbare Angaben blenden nicht aus, Mitternachtsfenster gehoert zum Starttag, daily ignoriert days. DESIGN.md: - Playlist-Grid war mit 6 Spalten dokumentiert, tatsaechlich sind es 7 (Edit-Button fehlte). Dazu die Regel, dass Statusmarkierungen in den .playlist-name-Span gehoeren - als Geschwisterelement verschieben sie die gesamte Zeile. - Cards: festgehalten, dass .card global gestylt ist und deshalb nicht zum Gruppieren von Formularfeldern taugt; dafuer schlichte Zeilen mit <hr> + <h3>. - Schedule-Badge dokumentiert. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
11
DESIGN.md
11
DESIGN.md
@@ -141,6 +141,7 @@ The palette is rooted in CANCOM's corporate red and high-contrast neutrals.
|
||||
- **Muted (#6B7280 / #9AA4B2 Dark):** Secondary text, captions, metadata, placeholders.
|
||||
- **Online/Offline:** Green (#2FB344) for online status badge, Red (#D63939) for offline.
|
||||
- **Role Badges:** Red for Admin, Purple (#8B5CF6) for Superuser, Blue (#3B82F6) for User.
|
||||
- **Schedule Badge:** Bootstrap `bg-info` with white text, label "Zeit", marks a scheduled playlist item; the tooltip carries the plain-text schedule from the `schedule_text` filter.
|
||||
- **Newsticker:** Red bar (#DA002D) with white text.
|
||||
|
||||
### States
|
||||
@@ -194,7 +195,9 @@ Screen management cards have:
|
||||
|
||||
### Grid Areas
|
||||
|
||||
The playlist row uses a fixed grid: `28px 1fr 90px 80px 90px 32px` for checkbox, name, type badge, size, delete button, drag handle.
|
||||
The playlist row uses a fixed grid: `28px 1fr 90px 80px 50px 40px 32px` for checkbox, name, type badge, size, delete button, edit button, drag handle — identical in `admin.html` and `priority.html`.
|
||||
|
||||
**The column count is fixed.** Anything added to a row becomes an extra grid item and shifts every following column. Status markers therefore live *inside* the `.playlist-name` span, not as siblings — this applies to the passthrough link icon and the "Zeit" badge.
|
||||
|
||||
## Elevation & Depth
|
||||
|
||||
@@ -250,6 +253,10 @@ Red background (`--ccm-primary`). Contains white outline buttons (`btn-white`):
|
||||
- Body contains Tabler tabs (6 tabs for screen cards)
|
||||
- Tab background matches card surface; tab link text uses muted color; active tab uses surface background
|
||||
|
||||
**`.card` is styled globally**, so the red left accent and grey header apply to *every* element carrying the class. The card is the container for a top-level entity — a screen, a help topic, the priority playlist. It is not a way to group fields.
|
||||
|
||||
Grouping form fields inside a modal or a tab uses plain rows (`mb-3`, `form-check`) with an `<hr>` and an `<h3>` where a separator is wanted. A `.card` there reads as a foreign tile inside the form and violates the one-red-accent-per-card rule.
|
||||
|
||||
### Player Media Elements
|
||||
|
||||
- img, video, iframe: fullscreen (`100vw × 100vh`), fixed position, centered via `top:50%; left:50%; transform:translate(-50%,-50%)`
|
||||
@@ -323,6 +330,8 @@ Same base as action button plus:
|
||||
- Do keep player pages completely chromeless — no headers, navs, or footers
|
||||
- Don't add shadows to cards; use border + left accent instead
|
||||
- Don't use more than one red accent per card (the 6px left border is sufficient)
|
||||
- Don't use `.card` to group form fields inside a modal or tab — it inherits the global red accent and grey header; use plain rows with `<hr>` + `<h3>` instead
|
||||
- Don't add elements as direct children of a playlist row — the grid has a fixed column count; put status markers inside `.playlist-name`
|
||||
- Don't mix corner radii: cards use 1rem, player buttons use 20px — keep each category consistent
|
||||
- Do set `data-bs-theme` synchronously before rendering to prevent dark-mode flash
|
||||
- Do persist theme preference in `localStorage("signage-theme")`
|
||||
|
||||
Reference in New Issue
Block a user