Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b2467b87f5 | ||
|
|
4fed048843 |
No files matched your search
@@ -215,3 +215,45 @@
|
||||
Präsentationswerkzeug visuell kontrolliert; langer Titel bricht vollständig um,
|
||||
Werkzeugfläche ist opak und die Speicherleiste überdeckt mobil keine Eingaben
|
||||
- `bash -n start.sh` und `git diff --check`: erfolgreich
|
||||
|
||||
## Oberflächenrelease 0.5.4
|
||||
|
||||
| Kriterium | Nachweis | Stand |
|
||||
| ------------------------------------------ | ---------------------------------------------------------------------------------------------- | --------------------- |
|
||||
| Klare Hierarchie in beiden Themes | Eingang, Fundus, Editor, Sendungsplan und Live-Steuerung in Light/Dark visuell kontrolliert | erfüllt am 22.10.2026 |
|
||||
| Exakte heinzlive-Darkmode-Farben | berechnete Theme-Tokens und Screenshots der dunklen Arbeitsansichten geprüft | erfüllt am 22.10.2026 |
|
||||
| Responsive Darstellung ohne Seitenüberlauf | Chromium-Messung bei 1440 × 1000 und 390 × 844 Pixeln auf allen gezielt geprüften Ansichten | erfüllt am 22.10.2026 |
|
||||
| Sendungsplan-Aktionen bleiben erreichbar | drei sichtbare Aktionen einer Planzeile liegen waagerecht auf gleicher Höhe; Mobilbild geprüft | erfüllt am 22.10.2026 |
|
||||
| Fokus und reduzierte Bewegung | sichtbarer Cyan-Fokusring und bestehende `prefers-reduced-motion`-Regeln im Stylesheet geprüft | erfüllt am 22.10.2026 |
|
||||
|
||||
## Ausgeführte Prüfungen Oberflächenrelease 0.5.4
|
||||
|
||||
- `npm run check`: 0 Fehler und 0 Warnungen
|
||||
- `npm run build`: erfolgreich mit `@sveltejs/adapter-node`
|
||||
- gezielter Chromium-Lauf für Eingang, Fundus, Piece-Editor, Sendungsplan und
|
||||
Live-Steuerung bei 1440 × 1000 und 390 × 844 Pixeln in Light/Dark ohne
|
||||
Konsolenfehler oder horizontalen Seitenüberlauf
|
||||
- Desktop- und Mobilaufnahmen aller genannten Ansichten visuell kontrolliert
|
||||
- vollständige Unit- und E2E-Matrix nicht erneut ausgeführt, weil dieser Release
|
||||
ausschließlich Darstellung und redaktionelle Kurztexte verändert
|
||||
- `git diff --check`: erfolgreich
|
||||
|
||||
## Oberflächenkorrektur 0.5.5
|
||||
|
||||
| Kriterium | Nachweis | Stand |
|
||||
| ------------------------------------- | ------------------------------------------------------------------------------------------- | --------------------- |
|
||||
| Nachtblau und Glaswirkung erkennbar | berechnete Transparenz/Unschärfe und Desktop-/Mobilaufnahmen in Darkmode geprüft | erfüllt am 22.10.2026 |
|
||||
| Schreibfelder im Ruhezustand sichtbar | deckende Feldfarbe, feine Kontur, Innenabstand und Textcursor im Piece-Editor geprüft | erfüllt am 22.10.2026 |
|
||||
| Goldener Tastaturfokus | berechnete Fokusfarbe und Fokus-Schatten am Titelfeld geprüft; Cyanrahmen nicht mehr aktiv | erfüllt am 22.10.2026 |
|
||||
| Inhaltsgerechte Feldhöhen | kurze Einleitung ist niedriger als ausführliche Moderationsfläche; beide bleiben skalierbar | erfüllt am 22.10.2026 |
|
||||
| Lightmode und Smartphone erhalten | fünf Arbeitsansichten bei 1440 × 1000 und 390 × 844 Pixeln ohne Seitenüberlauf geprüft | erfüllt am 22.10.2026 |
|
||||
|
||||
## Ausgeführte Prüfungen Oberflächenkorrektur 0.5.5
|
||||
|
||||
- `npm run check`: 0 Fehler und 0 Warnungen
|
||||
- `npm run build`: erfolgreich mit `@sveltejs/adapter-node`
|
||||
- gezielter Chromium-Lauf in Light/Dark und Desktop/Mobil ohne Konsolenfehler
|
||||
oder horizontalen Seitenüberlauf; Glas-, Feld- und Fokuswerte zusätzlich
|
||||
programmatisch geprüft
|
||||
- vollständige Unit- und E2E-Matrix gemäß Auftrag nicht erneut ausgeführt
|
||||
- `git diff --check`: erfolgreich
|
||||
@@ -7,6 +7,48 @@ Anmeldung, Rollen, persistente Inhaltsbearbeitung, Sendungsplanung,
|
||||
Live-Steuerung, Präsentationsausgabe und lokaler Betriebsweg sind dokumentiert.
|
||||
Etappe 6 wurde nicht begonnen.
|
||||
|
||||
## Oberflächenkorrektur 0.5.5
|
||||
|
||||
- dunkle Grundfläche mit sehr zurückhaltenden Gold-/Cyan-Lichtfeldern innerhalb
|
||||
der Anwendung statt gleichmäßig deckender Blauflächen
|
||||
- Navigation, große Arbeitsflächen und Piece-Dialog als dunkles beziehungsweise
|
||||
helles Glas mit feiner Lichtkante, Unschärfe und ruhigem Schatten
|
||||
- Gold für Dialogkontur, Fokus, aktive Zustände und Hauptaktionen; Cyan nur noch
|
||||
für ergänzende redaktionelle Hinweise und Links
|
||||
- klar abgegrenzte, weitgehend deckende Schreibfelder mit Goldfokus, Platzhaltern
|
||||
und nach Textrolle abgestuften Höhen
|
||||
- bestehende nachträgliche CSS-Override-Schicht entfernt und die Gestaltung in
|
||||
gemeinsame Tokens und ursprüngliche Komponentenregeln zurückgeführt
|
||||
|
||||
Geprüft wurden Typen, Produktionsbuild sowie gezielte Chromium-Ansichten von
|
||||
Eingang, Fundus, Piece-Editor, Sendungsplanung und Live-Steuerung bei 1440 × 1000
|
||||
und 390 × 844 Pixeln in beiden Themes. Die vollständige Unit- und E2E-Matrix
|
||||
bleibt wie beauftragt Schritt 3 vorbehalten.
|
||||
|
||||
## Oberflächenrelease 0.5.4
|
||||
|
||||
- gemeinsame Light-/Dark-Tokens für ruhige Arbeitsflächen, Cyan als
|
||||
Interaktionsfarbe und Gold für die jeweilige Hauptaktion
|
||||
- Darkmode im heinzlive-Farbraum mit Hintergrund `#0B1220`, Flächen `#152238`,
|
||||
Text `#FFF7E8`, Sekundärtext `#A9B6C8`, Gold `#E7B957`, Cyan `#67DDE8` und
|
||||
Grenzen `#30435C`
|
||||
- vereinheitlichte Navigation, Formulare, Meldungen, Listen, Sendungsplan,
|
||||
Live-Steuerung und Piece-Dialoge ohne Änderung der Bedienlogik
|
||||
- kompaktere Planzeilen mit sichtbarem Drag-Griff und waagerechter Aktionsgruppe;
|
||||
Klick-, Touch- und Tastaturalternativen bleiben erhalten
|
||||
- verständliche Kontextnamen „Fundusfassung“ und „Sendungsfassung“ sowie weniger
|
||||
technische Erläuterungen im redaktionellen Arbeitsfluss
|
||||
- dezente Speicheraktion im gespeicherten Zustand und hervorgehobene Aktion bei
|
||||
ungespeicherten Änderungen, Fehlern oder Konflikten
|
||||
|
||||
Für diesen Design-Release wurden `npm run check`, `npm run build` und gezielte
|
||||
Chromium-Sichtkontrollen auf Eingang, Fundus, Piece-Editor, Sendungsplan und
|
||||
Live-Steuerung bei 1440 × 1000 sowie 390 × 844 Pixeln in Light/Dark ausgeführt.
|
||||
Konsolenfehler und horizontaler Seitenüberlauf traten dabei nicht auf. Die
|
||||
vollständige Unit- und E2E-Matrix wurde für die rein visuelle Änderung bewusst
|
||||
nicht erneut ausgeführt; die fachlichen Nachweise der Etappen 1 bis 5 bleiben
|
||||
unverändert.
|
||||
|
||||
## Umgesetzter Stand Etappe 1
|
||||
|
||||
- SvelteKit-/TypeScript-Monolith mit Node-Adapter
|
||||
|
||||
Generated
+2
-2
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "sendewerk",
|
||||
"version": "0.5.3",
|
||||
"version": "0.5.5",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "sendewerk",
|
||||
"version": "0.5.3",
|
||||
"version": "0.5.5",
|
||||
"dependencies": {
|
||||
"@node-rs/argon2": "^2.2.2",
|
||||
"better-sqlite3": "^13.0.3",
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "sendewerk",
|
||||
"private": true,
|
||||
"version": "0.5.3",
|
||||
"version": "0.5.5",
|
||||
"type": "module",
|
||||
"engines": {
|
||||
"node": ">=22.17 <25"
|
||||
|
||||
+343
-140
@@ -9,46 +9,68 @@
|
||||
sans-serif;
|
||||
font-synthesis: none;
|
||||
color-scheme: light;
|
||||
--bg: #f3f1ec;
|
||||
--bg-elevated: rgba(255, 255, 255, 0.78);
|
||||
--panel: #fffefa;
|
||||
--panel-strong: #ffffff;
|
||||
--panel-soft: #ebe9e3;
|
||||
--text: #20211f;
|
||||
--text-muted: #6e706b;
|
||||
--text-faint: #969891;
|
||||
--line: rgba(35, 36, 33, 0.1);
|
||||
--line-strong: rgba(35, 36, 33, 0.16);
|
||||
--accent: #225a4e;
|
||||
--accent-soft: #dfece7;
|
||||
--accent-text: #173e36;
|
||||
--gold: #c99530;
|
||||
--danger: #a94a43;
|
||||
--shadow: 0 18px 45px rgba(56, 52, 44, 0.08);
|
||||
--bg: #edf2f7;
|
||||
--bg-elevated: rgb(255 255 255 / 72%);
|
||||
--panel: rgb(250 252 255 / 76%);
|
||||
--panel-strong: #fbfdff;
|
||||
--panel-soft: rgb(226 233 242 / 72%);
|
||||
--glass: rgb(252 254 255 / 68%);
|
||||
--glass-strong: rgb(250 252 255 / 84%);
|
||||
--field: #f8fbfe;
|
||||
--text: #172033;
|
||||
--text-muted: #5d6a7d;
|
||||
--text-faint: #8491a3;
|
||||
--line: rgb(104 124 150 / 22%);
|
||||
--line-strong: rgb(93 113 139 / 38%);
|
||||
--accent: #087e98;
|
||||
--accent-soft: #dff5f8;
|
||||
--accent-text: #07586b;
|
||||
--gold: #e7b957;
|
||||
--gold-strong: #9a6a12;
|
||||
--focus: #bd8730;
|
||||
--primary: #e7b957;
|
||||
--primary-text: #172033;
|
||||
--success: #247a5a;
|
||||
--warning: #9a6a12;
|
||||
--danger: #b34148;
|
||||
--shadow-soft: 0 12px 32px rgb(33 49 72 / 8%);
|
||||
--shadow: 0 18px 44px rgb(26 45 72 / 11%);
|
||||
--shadow-large: 0 30px 80px rgb(16 31 52 / 20%);
|
||||
--sidebar-width: 14rem;
|
||||
--radius-large: 1.5rem;
|
||||
--radius-medium: 1rem;
|
||||
--radius-small: 0.7rem;
|
||||
--radius-large: 1.35rem;
|
||||
--radius-medium: 0.95rem;
|
||||
--radius-small: 0.65rem;
|
||||
}
|
||||
|
||||
:root[data-theme='dark'] {
|
||||
color-scheme: dark;
|
||||
--bg: #151714;
|
||||
--bg-elevated: rgba(31, 34, 30, 0.82);
|
||||
--panel: #20231f;
|
||||
--panel-strong: #272a26;
|
||||
--panel-soft: #2b2e29;
|
||||
--text: #f1f0ea;
|
||||
--text-muted: #b1b4ab;
|
||||
--text-faint: #858980;
|
||||
--line: rgba(244, 243, 236, 0.1);
|
||||
--line-strong: rgba(244, 243, 236, 0.18);
|
||||
--accent: #74b9a7;
|
||||
--accent-soft: #203d36;
|
||||
--accent-text: #d9f3eb;
|
||||
--bg: #0b1220;
|
||||
--bg-elevated: rgb(11 18 32 / 68%);
|
||||
--panel: rgb(18 31 52 / 72%);
|
||||
--panel-strong: #111d30;
|
||||
--panel-soft: rgb(28 43 65 / 62%);
|
||||
--glass: rgb(15 27 46 / 62%);
|
||||
--glass-strong: rgb(17 30 51 / 82%);
|
||||
--field: #101a2b;
|
||||
--text: #fff7e8;
|
||||
--text-muted: #a9b6c8;
|
||||
--text-faint: #7f91a8;
|
||||
--line: rgb(139 162 192 / 23%);
|
||||
--line-strong: rgb(161 181 207 / 40%);
|
||||
--accent: #67dde8;
|
||||
--accent-soft: #17394c;
|
||||
--accent-text: #baf8ff;
|
||||
--gold: #e7b957;
|
||||
--danger: #e48a81;
|
||||
--shadow: 0 20px 55px rgba(0, 0, 0, 0.24);
|
||||
--gold-strong: #f0c96f;
|
||||
--focus: #e7b957;
|
||||
--primary: #e7b957;
|
||||
--primary-text: #0b1220;
|
||||
--success: #69d6a5;
|
||||
--warning: #e7b957;
|
||||
--danger: #ff8d91;
|
||||
--shadow-soft: 0 14px 38px rgb(0 0 0 / 18%);
|
||||
--shadow: 0 22px 52px rgb(0 0 0 / 28%);
|
||||
--shadow-large: 0 36px 90px rgb(0 0 0 / 48%);
|
||||
}
|
||||
|
||||
* {
|
||||
@@ -67,11 +89,17 @@ body {
|
||||
min-height: 100vh;
|
||||
background:
|
||||
radial-gradient(
|
||||
circle at 94% 4%,
|
||||
color-mix(in srgb, var(--accent) 7%, transparent),
|
||||
transparent 24rem
|
||||
ellipse 62rem 38rem at 88% -8%,
|
||||
color-mix(in srgb, var(--gold) 7%, transparent),
|
||||
transparent 70%
|
||||
),
|
||||
radial-gradient(
|
||||
ellipse 54rem 42rem at 4% 48%,
|
||||
color-mix(in srgb, var(--accent) 6%, transparent),
|
||||
transparent 72%
|
||||
),
|
||||
var(--bg);
|
||||
background-attachment: fixed;
|
||||
color: var(--text);
|
||||
font-size: 0.95rem;
|
||||
line-height: 1.5;
|
||||
@@ -99,10 +127,29 @@ a {
|
||||
}
|
||||
|
||||
:focus-visible {
|
||||
outline: 3px solid color-mix(in srgb, var(--accent) 72%, white);
|
||||
outline: 2px solid var(--focus);
|
||||
outline-offset: 3px;
|
||||
}
|
||||
|
||||
input:not([type='checkbox']):not([type='radio']):not([type='hidden']),
|
||||
select,
|
||||
textarea {
|
||||
caret-color: var(--gold);
|
||||
}
|
||||
|
||||
input:not([type='checkbox']):not([type='radio']):not([type='hidden']):focus,
|
||||
select:focus,
|
||||
textarea:focus {
|
||||
border-color: var(--focus) !important;
|
||||
box-shadow: 0 0 0 3px color-mix(in srgb, var(--gold) 13%, transparent);
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
::placeholder {
|
||||
color: var(--text-faint);
|
||||
opacity: 0.82;
|
||||
}
|
||||
|
||||
.sr-only {
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
@@ -127,8 +174,9 @@ a {
|
||||
width: var(--sidebar-width);
|
||||
flex-direction: column;
|
||||
padding: 1.25rem 0.85rem 1rem;
|
||||
border-right: 1px solid var(--line);
|
||||
background: color-mix(in srgb, var(--bg-elevated) 90%, transparent);
|
||||
border-right: 1px solid color-mix(in srgb, var(--gold) 20%, var(--line));
|
||||
background: var(--glass);
|
||||
box-shadow: 10px 0 34px rgb(0 0 0 / 12%);
|
||||
backdrop-filter: blur(24px) saturate(1.3);
|
||||
overflow-y: auto;
|
||||
}
|
||||
@@ -153,8 +201,8 @@ a {
|
||||
gap: 0.14rem;
|
||||
padding: 0.37rem;
|
||||
border-radius: 0.53rem;
|
||||
background: var(--accent);
|
||||
box-shadow: 0 6px 16px color-mix(in srgb, var(--accent) 28%, transparent);
|
||||
background: var(--gold);
|
||||
box-shadow: 0 7px 18px color-mix(in srgb, var(--gold) 22%, transparent);
|
||||
}
|
||||
|
||||
.brand-mark i {
|
||||
@@ -204,9 +252,10 @@ a {
|
||||
|
||||
.main-navigation a.active,
|
||||
.utility-navigation a.active {
|
||||
background: var(--panel-strong);
|
||||
box-shadow: 0 7px 20px rgba(48, 48, 43, 0.07);
|
||||
color: var(--accent);
|
||||
border: 1px solid color-mix(in srgb, var(--gold) 42%, var(--line));
|
||||
background: color-mix(in srgb, var(--gold) 11%, var(--glass-strong));
|
||||
box-shadow: inset 0 1px rgb(255 255 255 / 8%);
|
||||
color: var(--text);
|
||||
}
|
||||
|
||||
.sidebar-footer {
|
||||
@@ -392,7 +441,7 @@ a {
|
||||
align-items: center;
|
||||
gap: 0.6rem;
|
||||
border: 1px solid var(--line);
|
||||
background: var(--panel);
|
||||
background: var(--field);
|
||||
color: var(--text-muted);
|
||||
}
|
||||
|
||||
@@ -422,6 +471,15 @@ a {
|
||||
color: var(--text-faint);
|
||||
}
|
||||
|
||||
.search-field:focus-within {
|
||||
border-color: var(--focus);
|
||||
box-shadow: 0 0 0 3px color-mix(in srgb, var(--gold) 13%, transparent);
|
||||
}
|
||||
|
||||
.search-field input:focus {
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.filter-tabs,
|
||||
.mobile-pane-switch {
|
||||
display: flex;
|
||||
@@ -454,8 +512,8 @@ a {
|
||||
|
||||
.filter-tabs button.active,
|
||||
.mobile-pane-switch button.active {
|
||||
background: var(--panel-strong);
|
||||
box-shadow: 0 3px 10px rgba(40, 40, 36, 0.08);
|
||||
background: color-mix(in srgb, var(--gold) 11%, var(--glass-strong));
|
||||
box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--gold) 28%, transparent);
|
||||
color: var(--text);
|
||||
}
|
||||
|
||||
@@ -465,7 +523,9 @@ a {
|
||||
overflow: hidden;
|
||||
border: 1px solid var(--line);
|
||||
border-radius: var(--radius-medium);
|
||||
background: var(--panel);
|
||||
background: var(--glass);
|
||||
box-shadow: var(--shadow-soft);
|
||||
backdrop-filter: blur(18px) saturate(1.08);
|
||||
}
|
||||
|
||||
.piece-card {
|
||||
@@ -485,6 +545,11 @@ a {
|
||||
border-bottom: 0;
|
||||
}
|
||||
|
||||
.piece-card:hover,
|
||||
.piece-card:focus-within {
|
||||
background: color-mix(in srgb, var(--glass-strong) 84%, transparent);
|
||||
}
|
||||
|
||||
.source-card > div,
|
||||
.live-kicker {
|
||||
display: flex;
|
||||
@@ -523,8 +588,8 @@ a {
|
||||
}
|
||||
|
||||
.status-label.ready {
|
||||
background: var(--accent-soft);
|
||||
color: var(--accent-text);
|
||||
background: color-mix(in srgb, var(--success) 14%, var(--panel));
|
||||
color: var(--success);
|
||||
}
|
||||
|
||||
.piece-primary {
|
||||
@@ -617,8 +682,8 @@ a {
|
||||
padding: 0.65rem 0.9rem;
|
||||
border: 0;
|
||||
border-radius: 0.65rem;
|
||||
background: var(--accent);
|
||||
color: var(--panel-strong);
|
||||
background: var(--primary);
|
||||
color: var(--primary-text);
|
||||
cursor: pointer;
|
||||
font-weight: 650;
|
||||
}
|
||||
@@ -651,8 +716,9 @@ a {
|
||||
min-height: 2.45rem;
|
||||
padding: 0.55rem 0.8rem;
|
||||
border-radius: 0.72rem;
|
||||
background: var(--text);
|
||||
color: var(--bg);
|
||||
background: var(--primary);
|
||||
box-shadow: 0 8px 20px color-mix(in srgb, var(--gold) 18%, transparent);
|
||||
color: var(--primary-text);
|
||||
font-size: 0.78rem;
|
||||
font-weight: 680;
|
||||
}
|
||||
@@ -695,7 +761,9 @@ a {
|
||||
padding: 0.9rem;
|
||||
border: 1px solid var(--line);
|
||||
border-radius: var(--radius-medium);
|
||||
background: var(--panel);
|
||||
background: var(--glass);
|
||||
box-shadow: var(--shadow-soft);
|
||||
backdrop-filter: blur(18px) saturate(1.08);
|
||||
}
|
||||
|
||||
.pane-heading {
|
||||
@@ -834,7 +902,41 @@ a {
|
||||
gap: 0.65rem;
|
||||
padding: 0.55rem 0.65rem;
|
||||
border-radius: 0.72rem;
|
||||
background: var(--panel-soft);
|
||||
border: 1px solid transparent;
|
||||
background: color-mix(in srgb, var(--panel-soft) 68%, transparent);
|
||||
transition:
|
||||
background-color 140ms ease,
|
||||
border-color 140ms ease;
|
||||
}
|
||||
|
||||
.usage-row:hover,
|
||||
.usage-row:focus-within {
|
||||
border-color: var(--line-strong);
|
||||
background: var(--glass-strong);
|
||||
}
|
||||
|
||||
.section-drag-handle,
|
||||
.usage-drag-copy {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.section-drag-handle {
|
||||
padding-right: 7rem;
|
||||
}
|
||||
|
||||
.usage-drag-copy {
|
||||
padding-left: 1.2rem;
|
||||
}
|
||||
|
||||
.usage-drag-copy::before {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: -0.2rem;
|
||||
color: var(--text-faint);
|
||||
font-size: 1rem;
|
||||
line-height: 1;
|
||||
content: '⠿';
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
|
||||
.usage-row div {
|
||||
@@ -857,8 +959,8 @@ a {
|
||||
font-weight: 690;
|
||||
}
|
||||
.usage-status.current {
|
||||
background: var(--accent-soft);
|
||||
color: var(--accent-text);
|
||||
background: color-mix(in srgb, var(--gold) 12%, var(--panel));
|
||||
color: var(--gold-strong);
|
||||
}
|
||||
.section-placeholder {
|
||||
margin: 0.5rem 0 0 2.8rem;
|
||||
@@ -940,8 +1042,9 @@ a {
|
||||
padding: clamp(1.25rem, 3vw, 2.25rem);
|
||||
border: 1px solid var(--line);
|
||||
border-radius: 1.8rem;
|
||||
background: var(--panel);
|
||||
background: var(--glass);
|
||||
box-shadow: var(--shadow);
|
||||
backdrop-filter: blur(20px) saturate(1.08);
|
||||
}
|
||||
|
||||
.live-kicker {
|
||||
@@ -974,7 +1077,7 @@ a {
|
||||
margin-top: 1.25rem;
|
||||
padding: 1rem 1.1rem;
|
||||
border-radius: 0.9rem;
|
||||
background: var(--panel-soft);
|
||||
background: color-mix(in srgb, var(--panel-soft) 66%, transparent);
|
||||
}
|
||||
|
||||
.moderation-card span,
|
||||
@@ -1022,7 +1125,9 @@ a {
|
||||
padding: 1rem;
|
||||
border: 1px solid var(--line);
|
||||
border-radius: 1rem;
|
||||
background: var(--panel);
|
||||
background: var(--glass);
|
||||
box-shadow: var(--shadow-soft);
|
||||
backdrop-filter: blur(16px) saturate(1.06);
|
||||
}
|
||||
.next-card > span {
|
||||
color: var(--accent);
|
||||
@@ -1060,7 +1165,7 @@ a {
|
||||
width: 45%;
|
||||
height: 100%;
|
||||
border-radius: inherit;
|
||||
background: var(--accent);
|
||||
background: var(--gold);
|
||||
}
|
||||
.rail-section {
|
||||
display: grid;
|
||||
@@ -1086,8 +1191,8 @@ a {
|
||||
font-size: 0.64rem;
|
||||
}
|
||||
.rail-section.active {
|
||||
background: var(--accent-soft);
|
||||
color: var(--accent-text);
|
||||
background: color-mix(in srgb, var(--gold) 10%, var(--panel));
|
||||
color: var(--text);
|
||||
}
|
||||
.readonly-actions {
|
||||
display: flex;
|
||||
@@ -1116,7 +1221,10 @@ a {
|
||||
padding: 0.75rem;
|
||||
border: 1px solid var(--line);
|
||||
border-radius: 1rem;
|
||||
background: var(--panel);
|
||||
border-color: color-mix(in srgb, var(--gold) 16%, var(--line));
|
||||
background: var(--glass);
|
||||
box-shadow: var(--shadow-soft);
|
||||
backdrop-filter: blur(20px) saturate(1.08);
|
||||
}
|
||||
|
||||
.live-session-summary {
|
||||
@@ -1171,12 +1279,12 @@ a {
|
||||
margin-top: 0.35rem;
|
||||
padding: 0.5rem 0.55rem;
|
||||
border-radius: 0.65rem;
|
||||
background: var(--panel-soft);
|
||||
background: color-mix(in srgb, var(--panel-soft) 68%, transparent);
|
||||
}
|
||||
|
||||
.live-run-item.current {
|
||||
box-shadow: inset 3px 0 var(--accent);
|
||||
background: var(--accent-soft);
|
||||
box-shadow: inset 3px 0 var(--gold);
|
||||
background: color-mix(in srgb, var(--gold) 9%, var(--panel));
|
||||
}
|
||||
|
||||
.live-run-item > div:first-child,
|
||||
@@ -1510,7 +1618,9 @@ a {
|
||||
.quiet-panel {
|
||||
border: 1px solid var(--line);
|
||||
border-radius: var(--radius-large);
|
||||
background: var(--panel);
|
||||
background: var(--glass);
|
||||
box-shadow: var(--shadow-soft);
|
||||
backdrop-filter: blur(18px) saturate(1.08);
|
||||
}
|
||||
|
||||
.planned-panel {
|
||||
@@ -1667,7 +1777,7 @@ a {
|
||||
padding: 0.55rem 0.7rem;
|
||||
border: 1px solid var(--line-strong);
|
||||
border-radius: var(--radius-small);
|
||||
background: var(--panel-strong);
|
||||
background: var(--field);
|
||||
color: var(--text);
|
||||
}
|
||||
|
||||
@@ -1685,8 +1795,14 @@ a {
|
||||
min-height: 2.7rem;
|
||||
padding: 0.6rem 0.9rem;
|
||||
border-radius: var(--radius-small);
|
||||
background: var(--accent);
|
||||
color: var(--panel-strong);
|
||||
background: var(--primary);
|
||||
box-shadow: 0 7px 18px color-mix(in srgb, var(--gold) 18%, transparent);
|
||||
color: var(--primary-text);
|
||||
}
|
||||
|
||||
.primary-button:hover:not(:disabled) {
|
||||
background: color-mix(in srgb, var(--primary) 90%, white);
|
||||
box-shadow: 0 10px 24px color-mix(in srgb, var(--gold) 24%, transparent);
|
||||
}
|
||||
|
||||
.secondary-button,
|
||||
@@ -1695,7 +1811,12 @@ a {
|
||||
padding: 0.48rem 0.7rem;
|
||||
border: 1px solid var(--line);
|
||||
border-radius: var(--radius-small);
|
||||
background: transparent;
|
||||
background: color-mix(in srgb, var(--glass) 72%, transparent);
|
||||
}
|
||||
|
||||
.secondary-button:hover:not(:disabled) {
|
||||
border-color: color-mix(in srgb, var(--gold) 42%, var(--line));
|
||||
background: color-mix(in srgb, var(--gold) 8%, var(--glass));
|
||||
}
|
||||
|
||||
.primary-button:disabled,
|
||||
@@ -1749,13 +1870,14 @@ a {
|
||||
}
|
||||
|
||||
.form-message.error {
|
||||
border-color: color-mix(in srgb, var(--danger) 45%, var(--line));
|
||||
background: color-mix(in srgb, var(--danger) 8%, var(--panel));
|
||||
border-color: color-mix(in srgb, var(--danger) 68%, var(--line));
|
||||
background: color-mix(in srgb, var(--danger) 13%, var(--panel));
|
||||
color: var(--text);
|
||||
}
|
||||
|
||||
.form-message.success {
|
||||
border-color: color-mix(in srgb, var(--accent) 38%, var(--line));
|
||||
background: color-mix(in srgb, var(--accent-soft) 55%, var(--panel));
|
||||
border-color: color-mix(in srgb, var(--success) 45%, var(--line));
|
||||
background: color-mix(in srgb, var(--success) 10%, var(--panel));
|
||||
}
|
||||
|
||||
.account-summary {
|
||||
@@ -1912,7 +2034,7 @@ a {
|
||||
padding: 0.4rem 0.55rem;
|
||||
border: 1px solid var(--line);
|
||||
border-radius: 0.55rem;
|
||||
background: var(--panel-strong);
|
||||
background: var(--field);
|
||||
color: var(--text);
|
||||
}
|
||||
|
||||
@@ -1988,7 +2110,7 @@ a {
|
||||
padding: 0.35rem 0.5rem;
|
||||
border: 1px solid var(--line);
|
||||
border-radius: 0.7rem;
|
||||
background: var(--panel);
|
||||
background: var(--field);
|
||||
color: var(--text);
|
||||
}
|
||||
|
||||
@@ -2094,9 +2216,11 @@ a {
|
||||
}
|
||||
|
||||
.piece-actions {
|
||||
display: grid;
|
||||
justify-items: end;
|
||||
gap: 0.22rem;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
flex-wrap: wrap;
|
||||
justify-content: flex-end;
|
||||
gap: 0.55rem;
|
||||
}
|
||||
|
||||
.danger-text {
|
||||
@@ -2104,7 +2228,8 @@ a {
|
||||
}
|
||||
|
||||
.capture-panel {
|
||||
padding: 1rem;
|
||||
padding: clamp(1rem, 2vw, 1.35rem);
|
||||
border-color: color-mix(in srgb, var(--gold) 18%, var(--line));
|
||||
}
|
||||
|
||||
.capture-panel h2,
|
||||
@@ -2142,11 +2267,13 @@ a {
|
||||
padding: 0.5rem 0.65rem;
|
||||
border: 1px solid var(--line-strong);
|
||||
border-radius: var(--radius-small);
|
||||
background: var(--panel-strong);
|
||||
background: var(--field);
|
||||
color: var(--text);
|
||||
}
|
||||
|
||||
.inbox-list {
|
||||
display: grid;
|
||||
gap: 0.45rem;
|
||||
margin-top: 1rem;
|
||||
}
|
||||
|
||||
@@ -2155,9 +2282,20 @@ a {
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
gap: 1rem;
|
||||
padding: 0.75rem 0;
|
||||
border-bottom: 1px solid var(--line);
|
||||
padding: 0.8rem 0.9rem;
|
||||
border: 1px solid transparent;
|
||||
border-radius: var(--radius-small);
|
||||
background: color-mix(in srgb, var(--glass) 68%, transparent);
|
||||
font-size: 0.76rem;
|
||||
transition:
|
||||
background-color 140ms ease,
|
||||
border-color 140ms ease;
|
||||
}
|
||||
|
||||
.inbox-item:hover,
|
||||
.inbox-item:focus-visible {
|
||||
border-color: var(--line);
|
||||
background: var(--glass-strong);
|
||||
}
|
||||
|
||||
.inbox-item > span:first-child {
|
||||
@@ -2168,6 +2306,11 @@ a {
|
||||
color: var(--text-muted);
|
||||
}
|
||||
|
||||
.inbox-item > span:last-child {
|
||||
color: var(--accent);
|
||||
font-weight: 720;
|
||||
}
|
||||
|
||||
.archive-list {
|
||||
display: grid;
|
||||
gap: 0.65rem;
|
||||
@@ -2377,7 +2520,7 @@ a {
|
||||
padding: 0.55rem 0.65rem;
|
||||
border: 1px solid var(--line-strong);
|
||||
border-radius: var(--radius-small);
|
||||
background: var(--panel-strong);
|
||||
background: var(--field);
|
||||
color: var(--text);
|
||||
}
|
||||
|
||||
@@ -2575,9 +2718,10 @@ a {
|
||||
padding: 0;
|
||||
resize: none;
|
||||
overflow: hidden;
|
||||
border: 0;
|
||||
border: 1px solid var(--line-strong);
|
||||
border-radius: var(--radius-small);
|
||||
outline-offset: 0.3rem;
|
||||
background: transparent;
|
||||
background: var(--field);
|
||||
color: var(--text);
|
||||
font: inherit;
|
||||
font-size: clamp(1.65rem, 3.3vw, 2.8rem);
|
||||
@@ -2730,7 +2874,7 @@ a {
|
||||
resize: vertical;
|
||||
border: 1px solid var(--line-strong);
|
||||
border-radius: var(--radius-small);
|
||||
background: var(--panel-strong);
|
||||
background: var(--field);
|
||||
color: var(--text);
|
||||
font: inherit;
|
||||
font-size: 0.82rem;
|
||||
@@ -2873,7 +3017,7 @@ a {
|
||||
padding: 0.5rem 0.58rem;
|
||||
border: 1px solid var(--line-strong);
|
||||
border-radius: var(--radius-small);
|
||||
background: var(--panel-strong);
|
||||
background: var(--field);
|
||||
color: var(--text);
|
||||
}
|
||||
|
||||
@@ -3015,7 +3159,9 @@ a {
|
||||
padding: 1rem;
|
||||
border: 1px solid var(--line);
|
||||
border-radius: var(--radius-large);
|
||||
background: var(--panel);
|
||||
background: var(--glass);
|
||||
box-shadow: var(--shadow-soft);
|
||||
backdrop-filter: blur(18px) saturate(1.08);
|
||||
}
|
||||
|
||||
.show-create-panel h2,
|
||||
@@ -3068,7 +3214,7 @@ a {
|
||||
padding: 0.48rem 0.58rem;
|
||||
border: 1px solid var(--line-strong);
|
||||
border-radius: 0.65rem;
|
||||
background: var(--panel-strong);
|
||||
background: var(--field);
|
||||
color: var(--text);
|
||||
}
|
||||
|
||||
@@ -3213,22 +3359,44 @@ a {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.usage-row .row-actions {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 0.18rem;
|
||||
padding: 0.16rem;
|
||||
border: 1px solid var(--line);
|
||||
border-radius: 0.7rem;
|
||||
background: var(--glass-strong);
|
||||
}
|
||||
|
||||
.row-actions > form > button,
|
||||
.usage-edit-button {
|
||||
border: 0;
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.row-actions > form > button:hover:not(:disabled),
|
||||
.usage-edit-button:hover {
|
||||
background: color-mix(in srgb, var(--gold) 10%, var(--panel-soft));
|
||||
color: var(--gold-strong);
|
||||
}
|
||||
|
||||
.usage-edit-button {
|
||||
display: grid;
|
||||
width: 1.8rem;
|
||||
height: 1.8rem;
|
||||
place-items: center;
|
||||
padding: 0;
|
||||
border: 1px solid var(--line-strong);
|
||||
border: 0;
|
||||
border-radius: 0.6rem;
|
||||
background: var(--panel-soft);
|
||||
background: transparent;
|
||||
color: var(--text-muted);
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.usage-edit-button:hover {
|
||||
border-color: var(--accent);
|
||||
color: var(--accent);
|
||||
background: color-mix(in srgb, var(--gold) 10%, var(--panel-soft));
|
||||
color: var(--gold-strong);
|
||||
}
|
||||
|
||||
.piece-editor-route {
|
||||
@@ -3245,11 +3413,12 @@ a {
|
||||
grid-template-rows: auto auto minmax(0, 1fr) auto;
|
||||
padding: 0;
|
||||
overflow: hidden;
|
||||
border: 1px solid var(--line-strong);
|
||||
border: 1px solid color-mix(in srgb, var(--gold) 58%, var(--line-strong));
|
||||
border-radius: var(--radius-large);
|
||||
background: var(--panel-strong);
|
||||
background: var(--glass-strong);
|
||||
box-shadow: var(--shadow-large);
|
||||
color: var(--text);
|
||||
backdrop-filter: blur(28px) saturate(1.12);
|
||||
}
|
||||
|
||||
.piece-editor-dialog[open] {
|
||||
@@ -3257,8 +3426,8 @@ a {
|
||||
}
|
||||
|
||||
.piece-editor-dialog::backdrop {
|
||||
background: color-mix(in srgb, #07110e 62%, transparent);
|
||||
backdrop-filter: blur(6px);
|
||||
background: color-mix(in srgb, var(--bg) 76%, transparent);
|
||||
backdrop-filter: blur(12px);
|
||||
}
|
||||
|
||||
.piece-dialog-header {
|
||||
@@ -3269,7 +3438,8 @@ a {
|
||||
gap: 1rem;
|
||||
padding: 0.9rem 1rem 0.75rem;
|
||||
border-bottom: 1px solid var(--line);
|
||||
background: var(--panel-strong);
|
||||
background: color-mix(in srgb, var(--glass-strong) 88%, transparent);
|
||||
backdrop-filter: blur(20px) saturate(1.12);
|
||||
}
|
||||
|
||||
.piece-dialog-heading {
|
||||
@@ -3295,13 +3465,14 @@ a {
|
||||
.piece-dialog-title textarea {
|
||||
width: 100%;
|
||||
min-width: 0;
|
||||
height: 1.2em;
|
||||
padding: 0;
|
||||
height: 1.55em;
|
||||
padding: 0.16rem 0.45rem;
|
||||
resize: none;
|
||||
overflow: hidden;
|
||||
border: 0;
|
||||
border: 1px solid var(--line-strong);
|
||||
border-radius: 0.55rem;
|
||||
outline-offset: 0.2rem;
|
||||
background: transparent;
|
||||
background: var(--field);
|
||||
color: var(--text);
|
||||
font: inherit;
|
||||
font-size: clamp(1.25rem, 2.5vw, 1.85rem);
|
||||
@@ -3315,7 +3486,8 @@ a {
|
||||
gap: 0.25rem;
|
||||
padding: 0.45rem 1rem;
|
||||
border-bottom: 1px solid var(--line);
|
||||
background: var(--panel-strong);
|
||||
background: color-mix(in srgb, var(--glass-strong) 88%, transparent);
|
||||
backdrop-filter: blur(20px) saturate(1.12);
|
||||
}
|
||||
|
||||
.piece-dialog-tabs button {
|
||||
@@ -3330,8 +3502,9 @@ a {
|
||||
}
|
||||
|
||||
.piece-dialog-tabs button.active {
|
||||
background: var(--accent-soft);
|
||||
color: var(--accent);
|
||||
background: color-mix(in srgb, var(--gold) 13%, var(--panel));
|
||||
box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--gold) 36%, transparent);
|
||||
color: var(--text);
|
||||
}
|
||||
|
||||
.piece-dialog-workspace {
|
||||
@@ -3340,6 +3513,7 @@ a {
|
||||
padding: clamp(0.85rem, 2vw, 1.4rem);
|
||||
overflow: auto;
|
||||
overscroll-behavior: contain;
|
||||
background: color-mix(in srgb, var(--bg) 76%, transparent);
|
||||
}
|
||||
|
||||
.piece-dialog-form {
|
||||
@@ -3347,7 +3521,7 @@ a {
|
||||
}
|
||||
|
||||
.piece-editor-panel {
|
||||
width: min(100%, 66rem);
|
||||
width: min(100%, 62rem);
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
@@ -3382,17 +3556,27 @@ a {
|
||||
gap: 0.8rem;
|
||||
}
|
||||
|
||||
.piece-writing-stack .markdown-editor-field:first-child {
|
||||
padding-top: 0;
|
||||
}
|
||||
|
||||
.piece-writing-stack .markdown-editor-field:last-child {
|
||||
border-bottom: 0;
|
||||
}
|
||||
|
||||
.markdown-editor-field {
|
||||
display: block;
|
||||
padding: 0.8rem;
|
||||
border: 1px solid var(--line);
|
||||
border-radius: var(--radius-medium);
|
||||
background: var(--panel);
|
||||
padding: 0.75rem 0;
|
||||
border: 0;
|
||||
border-bottom: 1px solid var(--line);
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.markdown-editor-field.private-field {
|
||||
border-color: color-mix(in srgb, var(--gold) 38%, var(--line));
|
||||
background: color-mix(in srgb, var(--gold) 5%, var(--panel));
|
||||
padding: 0.85rem;
|
||||
border: 1px solid color-mix(in srgb, var(--gold) 30%, var(--line));
|
||||
border-radius: var(--radius-medium);
|
||||
background: color-mix(in srgb, var(--gold) 5%, var(--glass));
|
||||
}
|
||||
|
||||
.markdown-editor-heading {
|
||||
@@ -3427,7 +3611,7 @@ a {
|
||||
padding: 0.22rem 0.4rem;
|
||||
border: 1px solid var(--line);
|
||||
border-radius: 0.45rem;
|
||||
background: var(--panel-soft);
|
||||
background: color-mix(in srgb, var(--panel-soft) 72%, transparent);
|
||||
color: var(--text-muted);
|
||||
font-size: 0.65rem;
|
||||
cursor: pointer;
|
||||
@@ -3436,15 +3620,15 @@ a {
|
||||
.markdown-editor-field textarea {
|
||||
display: block;
|
||||
width: 100%;
|
||||
min-height: 7.5rem;
|
||||
padding: 0.65rem;
|
||||
min-height: 5.5rem;
|
||||
padding: 0.75rem 0.8rem;
|
||||
resize: vertical;
|
||||
border: 1px solid var(--line-strong);
|
||||
border-radius: var(--radius-small);
|
||||
background: var(--panel-strong);
|
||||
background: var(--field);
|
||||
color: var(--text);
|
||||
font: inherit;
|
||||
font-size: 0.82rem;
|
||||
font-size: 0.88rem;
|
||||
line-height: 1.55;
|
||||
}
|
||||
|
||||
@@ -3455,7 +3639,7 @@ a {
|
||||
padding: 0.85rem;
|
||||
border: 1px solid var(--line);
|
||||
border-radius: var(--radius-medium);
|
||||
background: var(--panel);
|
||||
background: color-mix(in srgb, var(--glass) 78%, transparent);
|
||||
}
|
||||
|
||||
.piece-meta-details summary {
|
||||
@@ -3506,7 +3690,7 @@ a {
|
||||
padding: 0.55rem 0.62rem;
|
||||
border: 1px solid var(--line-strong);
|
||||
border-radius: var(--radius-small);
|
||||
background: var(--panel-strong);
|
||||
background: var(--field);
|
||||
color: var(--text);
|
||||
}
|
||||
|
||||
@@ -3534,7 +3718,7 @@ a {
|
||||
padding: 0.85rem;
|
||||
border: 1px solid var(--line);
|
||||
border-radius: var(--radius-medium);
|
||||
background: var(--panel);
|
||||
background: color-mix(in srgb, var(--glass) 78%, transparent);
|
||||
}
|
||||
|
||||
.piece-source-summary strong,
|
||||
@@ -3566,7 +3750,7 @@ a {
|
||||
.piece-presentation-preview {
|
||||
min-width: 0;
|
||||
overflow: hidden;
|
||||
border: 1px solid var(--line);
|
||||
border: 1px solid color-mix(in srgb, var(--gold) 28%, var(--line));
|
||||
border-radius: var(--radius-medium);
|
||||
background: var(--presentation-bg, #0b1220);
|
||||
color: #fff7e8;
|
||||
@@ -3626,7 +3810,9 @@ a {
|
||||
gap: 0.8rem;
|
||||
padding: 0.65rem 1rem;
|
||||
border-top: 1px solid var(--line);
|
||||
background: var(--panel-strong);
|
||||
background: color-mix(in srgb, var(--glass-strong) 90%, transparent);
|
||||
box-shadow: 0 -10px 30px rgb(0 0 0 / 10%);
|
||||
backdrop-filter: blur(20px) saturate(1.12);
|
||||
}
|
||||
|
||||
.piece-dialog-secondary-actions,
|
||||
@@ -3743,7 +3929,7 @@ a {
|
||||
padding: 0.6rem 0.7rem;
|
||||
border: 1px solid var(--line-strong);
|
||||
border-radius: 0.7rem;
|
||||
background: var(--panel-strong);
|
||||
background: var(--field);
|
||||
color: var(--text);
|
||||
}
|
||||
|
||||
@@ -4204,9 +4390,6 @@ a {
|
||||
--mobile-header: 4rem;
|
||||
--mobile-nav: 4.6rem;
|
||||
}
|
||||
body {
|
||||
background: var(--bg);
|
||||
}
|
||||
.sidebar {
|
||||
display: none;
|
||||
}
|
||||
@@ -4219,9 +4402,10 @@ a {
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
padding: 0 0.85rem 0 0.45rem;
|
||||
border-bottom: 1px solid var(--line);
|
||||
background: color-mix(in srgb, var(--bg-elevated) 90%, transparent);
|
||||
backdrop-filter: blur(20px) saturate(1.25);
|
||||
border-bottom: 1px solid color-mix(in srgb, var(--gold) 18%, var(--line));
|
||||
background: var(--glass);
|
||||
box-shadow: 0 8px 28px rgb(0 0 0 / 12%);
|
||||
backdrop-filter: blur(24px) saturate(1.2);
|
||||
}
|
||||
.mobile-header .theme-toggle {
|
||||
width: auto;
|
||||
@@ -4241,9 +4425,10 @@ a {
|
||||
height: calc(var(--mobile-nav) + env(safe-area-inset-bottom));
|
||||
grid-template-columns: repeat(4, 1fr);
|
||||
padding: 0.45rem 0.35rem env(safe-area-inset-bottom);
|
||||
border-top: 1px solid var(--line);
|
||||
background: color-mix(in srgb, var(--bg-elevated) 92%, transparent);
|
||||
backdrop-filter: blur(22px) saturate(1.3);
|
||||
border-top: 1px solid color-mix(in srgb, var(--gold) 18%, var(--line));
|
||||
background: var(--glass);
|
||||
box-shadow: 0 -8px 28px rgb(0 0 0 / 12%);
|
||||
backdrop-filter: blur(24px) saturate(1.2);
|
||||
}
|
||||
.mobile-navigation:has(a:nth-child(5)) {
|
||||
grid-template-columns: repeat(5, 1fr);
|
||||
@@ -4261,8 +4446,8 @@ a {
|
||||
font-weight: 620;
|
||||
}
|
||||
.mobile-navigation a.active {
|
||||
background: var(--accent-soft);
|
||||
color: var(--accent);
|
||||
background: color-mix(in srgb, var(--gold) 13%, var(--panel));
|
||||
color: var(--text);
|
||||
}
|
||||
.mobile-navigation a svg {
|
||||
width: 1.25rem;
|
||||
@@ -4487,6 +4672,7 @@ a {
|
||||
.piece-dialog-tabs {
|
||||
overflow-x: auto;
|
||||
padding: 0.4rem 0.6rem;
|
||||
scrollbar-width: none;
|
||||
}
|
||||
.piece-dialog-tabs button {
|
||||
flex: 1 0 auto;
|
||||
@@ -4647,6 +4833,9 @@ a {
|
||||
.usage-row {
|
||||
grid-template-columns: minmax(0, 1fr) auto;
|
||||
}
|
||||
.usage-row .row-actions {
|
||||
align-self: center;
|
||||
}
|
||||
.show-card,
|
||||
.show-card-facts {
|
||||
align-items: flex-start;
|
||||
@@ -4673,12 +4862,20 @@ a {
|
||||
position: static;
|
||||
margin: 0.5rem 0 0 2.8rem;
|
||||
}
|
||||
.section-drag-handle {
|
||||
padding-right: 0;
|
||||
}
|
||||
.section-editor {
|
||||
margin-left: 0;
|
||||
}
|
||||
.live-header-actions {
|
||||
width: 100%;
|
||||
justify-content: space-between;
|
||||
overflow-x: auto;
|
||||
justify-content: flex-start;
|
||||
padding-bottom: 0.2rem;
|
||||
}
|
||||
.live-header-actions > * {
|
||||
flex: 0 0 auto;
|
||||
}
|
||||
.live-grid {
|
||||
grid-template-columns: 1fr;
|
||||
@@ -4687,6 +4884,12 @@ a {
|
||||
padding: 1.3rem;
|
||||
border-radius: 1.3rem;
|
||||
}
|
||||
.live-current-actions {
|
||||
align-items: stretch;
|
||||
}
|
||||
.live-current-actions form:last-child {
|
||||
margin-left: 0;
|
||||
}
|
||||
.live-current h2 {
|
||||
margin: 1.1rem 0 1.5rem;
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
name,
|
||||
label,
|
||||
value = $bindable(),
|
||||
rows = 7,
|
||||
rows = 4,
|
||||
placeholder = '',
|
||||
privateField = false,
|
||||
form
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
onrequestclose={requestClose}
|
||||
>
|
||||
{#snippet header()}
|
||||
<p class="eyebrow">Verwendung in dieser Sendung</p>
|
||||
<p class="eyebrow">Sendungsfassung</p>
|
||||
<label class="piece-dialog-title">
|
||||
<span class="sr-only">Titel</span>
|
||||
<textarea
|
||||
@@ -78,7 +78,6 @@
|
||||
oninput={() => (dirty = true)}></textarea>
|
||||
</label>
|
||||
<h2 class="sr-only" id={`usage-editor-title-${usage.id}`}>{draft.title}</h2>
|
||||
<small>Änderungen gelten nur für diese Einplanung.</small>
|
||||
{/snippet}
|
||||
|
||||
<form
|
||||
@@ -99,7 +98,6 @@
|
||||
<p class="eyebrow">Für die Moderation</p>
|
||||
<h3>Sendungstext</h3>
|
||||
</div>
|
||||
<small>Die drei Teile bleiben getrennt gespeichert.</small>
|
||||
</div>
|
||||
<div class="piece-writing-stack">
|
||||
<MarkdownEditorField
|
||||
@@ -230,6 +228,7 @@
|
||||
>Titel<input
|
||||
name="presentationTitle"
|
||||
maxlength="300"
|
||||
placeholder="Optionaler Anzeigetitel"
|
||||
bind:value={draft.presentationTitle}
|
||||
/></label
|
||||
>
|
||||
@@ -238,6 +237,7 @@
|
||||
name="presentationImageUrl"
|
||||
type="url"
|
||||
maxlength="2000"
|
||||
placeholder="https://…"
|
||||
bind:value={draft.presentationImageUrl}
|
||||
/></label
|
||||
>
|
||||
@@ -246,6 +246,7 @@
|
||||
name="presentationDescription"
|
||||
rows="3"
|
||||
maxlength="1000"
|
||||
placeholder="Kurzer Text zur Vorschau"
|
||||
bind:value={draft.presentationDescription}></textarea></label
|
||||
>
|
||||
</div>
|
||||
|
||||
@@ -209,7 +209,7 @@
|
||||
onrequestclose={requestClose}
|
||||
>
|
||||
{#snippet header()}
|
||||
<p class="eyebrow">Fundus-Original</p>
|
||||
<p class="eyebrow">Fundusfassung</p>
|
||||
<label class="piece-dialog-title">
|
||||
<span class="sr-only">Titel</span>
|
||||
<textarea
|
||||
@@ -223,7 +223,6 @@
|
||||
oninput={scheduleSave}></textarea>
|
||||
</label>
|
||||
<h1 class="sr-only" id="piece-editor-title">{draft.title}</h1>
|
||||
<small>Original im Fundus · Änderungen wirken nicht rückwirkend auf Einplanungen.</small>
|
||||
{/snippet}
|
||||
|
||||
<form
|
||||
@@ -244,7 +243,6 @@
|
||||
<p class="eyebrow">Für die Moderation</p>
|
||||
<h2>Sendungstext</h2>
|
||||
</div>
|
||||
<small>Die drei Teile bleiben getrennt gespeichert.</small>
|
||||
</div>
|
||||
<div class="piece-writing-stack">
|
||||
<MarkdownEditorField
|
||||
@@ -305,6 +303,7 @@
|
||||
name="summary"
|
||||
rows="3"
|
||||
maxlength="2000"
|
||||
placeholder="Worum geht es in wenigen Sätzen?"
|
||||
bind:value={draft.summary}></textarea></label
|
||||
>
|
||||
<fieldset>
|
||||
@@ -369,6 +368,7 @@
|
||||
>Name<input
|
||||
name="sourceLabel"
|
||||
maxlength="200"
|
||||
placeholder="Name der Quelle"
|
||||
bind:value={source.label}
|
||||
/></label
|
||||
><label
|
||||
@@ -376,6 +376,7 @@
|
||||
name="sourceUrl"
|
||||
type="url"
|
||||
maxlength="2000"
|
||||
placeholder="https://…"
|
||||
bind:value={source.url}
|
||||
/></label
|
||||
><label
|
||||
@@ -384,6 +385,7 @@
|
||||
type="number"
|
||||
min="0"
|
||||
max="86400"
|
||||
placeholder="Optional"
|
||||
bind:value={source.timecodeSeconds}
|
||||
/></label
|
||||
><button
|
||||
@@ -444,6 +446,7 @@
|
||||
>Titel<input
|
||||
name="presentationTitle"
|
||||
maxlength="300"
|
||||
placeholder="Optionaler Anzeigetitel"
|
||||
bind:value={draft.presentationTitle}
|
||||
oninput={() => (draft.presentationTitleManual = true)}
|
||||
/></label
|
||||
@@ -453,6 +456,7 @@
|
||||
name="presentationImageUrl"
|
||||
type="url"
|
||||
maxlength="2000"
|
||||
placeholder="https://…"
|
||||
bind:value={draft.presentationImageUrl}
|
||||
oninput={() => (draft.presentationImageManual = true)}
|
||||
/></label
|
||||
@@ -462,6 +466,7 @@
|
||||
name="presentationDescription"
|
||||
rows="3"
|
||||
maxlength="1000"
|
||||
placeholder="Kurzer Text zur Vorschau"
|
||||
bind:value={draft.presentationDescription}
|
||||
oninput={() => (draft.presentationDescriptionManual = true)}></textarea></label
|
||||
>
|
||||
@@ -581,10 +586,18 @@
|
||||
>
|
||||
<button
|
||||
bind:this={saveButton}
|
||||
class="primary-button"
|
||||
class:primary-button={saveState === 'dirty' ||
|
||||
saveState === 'error' ||
|
||||
saveState === 'conflict'}
|
||||
class:secondary-button={saveState === 'idle' ||
|
||||
saveState === 'saved' ||
|
||||
saveState === 'saving'}
|
||||
type="submit"
|
||||
form="piece-editor-form"
|
||||
disabled={saving}>Jetzt speichern</button
|
||||
disabled={saving}
|
||||
>{saveState === 'error' || saveState === 'conflict'
|
||||
? 'Erneut speichern'
|
||||
: 'Speichern'}</button
|
||||
>
|
||||
</div>
|
||||
{/snippet}
|
||||
|
||||
@@ -533,7 +533,7 @@
|
||||
ondragend={finishDrag}
|
||||
>
|
||||
<strong>{usage.title}</strong><small
|
||||
>{formatClock(usage.durationSeconds)} · sendungsspezifische Kopie</small
|
||||
>{formatClock(usage.durationSeconds)}</small
|
||||
>
|
||||
</div>
|
||||
<div class="row-actions">
|
||||
|
||||
Reference in new issue
Block a user