Includes the BMAD install config, the initiative ticket tree, the portal context-resources scripts, and the .gitignore change that tracks BMAD files (generated _bmad/render/ is ignored). Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Sk72AxLwQnYttF6VFSxQLt
85 lines
8.4 KiB
HTML
85 lines
8.4 KiB
HTML
<!doctype html><html lang="de"><meta charset="utf-8"><title>Dashboard (Startseite)</title><style>
|
||
/* Governing spec sections: EXPERIENCE.md Information Architecture, Component Patterns, State Patterns;
|
||
DESIGN.md Colors, Components. Mock only - the spines win on conflict. Offline: no JS, no network.
|
||
Brand blue is the Fluent 2 default (#0F6CBD) [ASSUMPTION, verify at scaffold]. German formal (Sie) is the default voice. */
|
||
:root{--brand:#0F6CBD;--on-brand:#fff}
|
||
*{box-sizing:border-box}
|
||
body{margin:0;padding:24px;font-family:"Segoe UI",system-ui,sans-serif;background:#e8e8e8;color:#242424}
|
||
h1.cap{font-size:14px;font-weight:600;margin:0 0 4px}
|
||
p.cap{font-size:12px;margin:0 0 16px;color:#555;max-width:900px}
|
||
.stage{display:flex;gap:32px;align-items:flex-start;flex-wrap:wrap}
|
||
.frame{border-radius:10px;overflow:hidden;box-shadow:0 4px 24px rgba(0,0,0,.25);border:1px solid #bbb}
|
||
.desk{width:980px}.phone{width:360px;border-radius:28px;border:8px solid #222}
|
||
.light{--bg:#fafafa;--card:#fff;--text:#242424;--sub:#616161;--line:#e0e0e0;--nav:#f5f5f5;--warn-bg:#fff9f5;--warn-line:#f7630c;--chip-bg:#fff4ce;--chip-text:#5c4400;--field:#fff;--fieldline:#8a8a8a}
|
||
.dark{--bg:#1f1f1f;--card:#292929;--text:#ffffff;--sub:#c8c8c8;--line:#3d3d3d;--nav:#242424;--warn-bg:#3a2a1f;--warn-line:#f7630c;--chip-bg:#4a3b00;--chip-text:#ffe9a8;--field:#333;--fieldline:#9a9a9a;--brand:#479ef5;--on-brand:#0a0a0a}
|
||
.app{background:var(--bg);color:var(--text);display:flex;flex-direction:column;min-height:560px}
|
||
.top{height:48px;background:var(--brand);color:var(--on-brand);display:flex;align-items:center;justify-content:space-between;padding:0 16px;font-weight:600}
|
||
.dark .top{background:#0f2a43;color:#fff}
|
||
.av{width:32px;height:32px;border-radius:50%;background:#fff;color:var(--brand);display:grid;place-items:center;font-size:12px;font-weight:700}
|
||
.dark .av{background:#479ef5;color:#0a0a0a}
|
||
.body{display:flex;flex:1}
|
||
.nav{width:220px;background:var(--nav);border-right:1px solid var(--line);padding:12px 8px}
|
||
.nav a{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:4px;color:var(--text);font-size:14px;margin-bottom:2px}
|
||
.nav a.on{background:var(--card);font-weight:600;box-shadow:inset 3px 0 0 var(--brand)}
|
||
.nav i{width:14px;height:14px;border-radius:3px;background:var(--sub);opacity:.6;display:inline-block}
|
||
.main{flex:1;min-width:0;padding:24px 28px}
|
||
.phone .main{padding:16px}
|
||
.phone .row{flex-direction:column;gap:2px}
|
||
.phone .row span:first-child{width:auto}
|
||
.row span:last-child{min-width:0;overflow-wrap:anywhere}
|
||
.phone .card{padding:14px}
|
||
h2{font-size:24px;font-weight:600;margin:0 0 4px}.phone h2{font-size:20px}
|
||
.lead{font-size:14px;color:var(--sub);margin:0 0 18px;max-width:640px}
|
||
.card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:16px 18px;margin-bottom:14px}
|
||
.card h3{font-size:16px;margin:0 0 8px}
|
||
.banner{border:1px solid var(--warn-line);background:var(--warn-bg);border-left-width:5px;border-radius:6px;padding:14px 16px;margin-bottom:14px;font-size:14px}
|
||
.banner b{display:block;margin-bottom:4px}
|
||
.grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.phone .grid{grid-template-columns:1fr}
|
||
.row{display:flex;gap:10px;font-size:14px;padding:5px 0;border-bottom:1px solid var(--line)}
|
||
.row span:first-child{width:130px;color:var(--sub);flex:none}
|
||
.pic{width:72px;height:72px;border-radius:50%;background:var(--brand);color:var(--on-brand);display:grid;place-items:center;font-size:26px;font-weight:600;flex:none}
|
||
.btn{display:inline-block;background:var(--brand);color:var(--on-brand);border-radius:4px;padding:8px 16px;font-size:14px;font-weight:600;margin:0 8px 6px 0}
|
||
.btn.sec{background:transparent;color:var(--text);border:1px solid var(--fieldline)}
|
||
.field{margin-bottom:14px}.field label{display:block;font-size:14px;font-weight:600;margin-bottom:4px}
|
||
.field .in{height:34px;border:1px solid var(--fieldline);border-bottom-width:2px;border-radius:4px;background:var(--field);padding:6px 10px;font-size:14px;color:var(--sub)}
|
||
.hint{font-size:12px;color:var(--sub);margin-top:4px}
|
||
.chip{display:inline-block;background:var(--chip-bg);color:var(--chip-text);border-radius:10px;padding:2px 10px;font-size:12px;font-weight:600}
|
||
ul.rules{margin:6px 0 0;padding-left:20px;font-size:13px;color:var(--sub)}
|
||
.small{font-size:13px;color:var(--sub)}
|
||
.menu{position:absolute;right:16px;top:44px;background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:12px 14px;font-size:13px;width:240px;box-shadow:0 6px 20px rgba(0,0,0,.25)}
|
||
.menu div{padding:4px 0}
|
||
.rel{position:relative}
|
||
.burger{display:inline-block;width:18px;height:2px;background:currentColor;box-shadow:0 6px 0 currentColor,0 -6px 0 currentColor}
|
||
</style><body><h1 class="cap">Dashboard (Startseite)</h1><p class="cap">Desktop light with the profile menu open (theme, language, formality). Phone dark: menu collapsed, cards stacked. Illustrates: IA Dashboard, announcement banner (warning), account card including password age.</p><div class="stage"><div class="frame desk light"><div class="app rel"><div class="top"><span>ping-mee Portal</span><span class="av">LM</span></div><div class="body"><div class="nav"><a class="on"><i></i>Startseite</a><a class=""><i></i>Profil</a><a class=""><i></i>Profilbild</a><a class=""><i></i>Passwort</a><a class=""><i></i>Ankündigungen</a><a class=""><i></i>Benachrichtigungen</a></div><div class="main">
|
||
<h2>Guten Tag, Lena</h2><p class="lead">Hier sehen Sie aktuelle Hinweise und Ihre Kontodaten auf einen Blick.</p>
|
||
<div class="banner"><b>Geplante Wartung: Samstag, 18. Oktober, 08:00–12:00 Uhr (Europe/Berlin)</b>
|
||
Jellyfin und die Dateifreigabe sind in dieser Zeit nicht erreichbar. Alles andere läuft normal.</div>
|
||
<div class="grid">
|
||
<div class="card"><h3>Ihr Konto</h3>
|
||
<div style="display:flex;gap:14px;align-items:center;margin-bottom:10px"><div class="pic">LM</div><div><b>Lena Meier</b><div class="small">Benutzername: lmeier</div></div></div>
|
||
<div class="row"><span>E-Mail</span><span>lena.meier@example.com</span></div>
|
||
<div class="row"><span>Telefon</span><span>+49 170 1234567</span></div>
|
||
<div class="row"><span>Passwort zuletzt geändert</span><span>3. September 2026</span></div>
|
||
<p style="margin:12px 0 0"><span class="btn sec">Profil bearbeiten</span></p></div>
|
||
<div class="card"><h3>Letzte Ankündigungen</h3>
|
||
<div class="row"><span>12. Okt.</span><span>Neue Serie in Jellyfin verfügbar</span></div>
|
||
<div class="row"><span>29. Sep.</span><span>Server-Umzug abgeschlossen</span></div>
|
||
<div class="row"><span>14. Sep.</span><span>Kurze Unterbrechung heute Abend</span></div>
|
||
<p style="margin:12px 0 0"><span class="btn sec">Alle Ankündigungen</span></p></div></div>
|
||
</div></div><div class="menu"><b>Lena Meier</b><div class="small">lmeier</div><hr style="border:0;border-top:1px solid var(--line)"><div>Design: Hell · Dunkel · <b>System</b></div><div>Sprache: <b>Deutsch</b> · English</div><div>Anrede: <b>Sie</b> · Du</div><hr style="border:0;border-top:1px solid var(--line)"><div>Abmelden</div></div></div></div><div class="frame phone dark"><div class="app rel"><div class="top"><span class="burger"></span><span>ping-mee Portal</span><span class="av">LM</span></div><div class="body"><div class="main">
|
||
<h2>Guten Tag, Lena</h2><p class="lead">Hier sehen Sie aktuelle Hinweise und Ihre Kontodaten auf einen Blick.</p>
|
||
<div class="banner"><b>Geplante Wartung: Samstag, 18. Oktober, 08:00–12:00 Uhr (Europe/Berlin)</b>
|
||
Jellyfin und die Dateifreigabe sind in dieser Zeit nicht erreichbar. Alles andere läuft normal.</div>
|
||
<div class="grid">
|
||
<div class="card"><h3>Ihr Konto</h3>
|
||
<div style="display:flex;gap:14px;align-items:center;margin-bottom:10px"><div class="pic">LM</div><div><b>Lena Meier</b><div class="small">Benutzername: lmeier</div></div></div>
|
||
<div class="row"><span>E-Mail</span><span>lena.meier@example.com</span></div>
|
||
<div class="row"><span>Telefon</span><span>+49 170 1234567</span></div>
|
||
<div class="row"><span>Passwort zuletzt geändert</span><span>3. September 2026</span></div>
|
||
<p style="margin:12px 0 0"><span class="btn sec">Profil bearbeiten</span></p></div>
|
||
<div class="card"><h3>Letzte Ankündigungen</h3>
|
||
<div class="row"><span>12. Okt.</span><span>Neue Serie in Jellyfin verfügbar</span></div>
|
||
<div class="row"><span>29. Sep.</span><span>Server-Umzug abgeschlossen</span></div>
|
||
<div class="row"><span>14. Sep.</span><span>Kurze Unterbrechung heute Abend</span></div>
|
||
<p style="margin:12px 0 0"><span class="btn sec">Alle Ankündigungen</span></p></div></div>
|
||
</div></div></div></div></div></body></html> |