Dashboard UX cleanup: fix German typos, add loading spinner, fix popstate, create static dir
Some checks failed
Deploy Discord Bot / deploy (push) Has been cancelled

This commit is contained in:
Pepe44DEV
2026-07-01 02:42:57 +02:00
parent 691447d473
commit 85fd5ec915
3 changed files with 126 additions and 21 deletions

92
static/dashboard.css Normal file
View File

@@ -0,0 +1,92 @@
:root {
--bg: #080c15;
--card: rgba(16,19,28,0.65);
--text: #f7fafc;
--accent: #f97316;
--accent-strong: #ff9b3d;
--muted: #a8b2c5;
--border: rgba(255,255,255,0.08);
--surface: rgba(12,15,22,0.75);
}
body {
margin: 0;
font-family: 'Inter', system-ui, -apple-system, sans-serif;
background: radial-gradient(circle at 12% 18%, rgba(249,115,22,0.12), transparent 32%), radial-gradient(circle at 78% -6%, rgba(255,153,73,0.12), transparent 32%), linear-gradient(135deg, #070a11 0%, #0b0f18 50%, #080c15 100%);
color: var(--text);
min-height: 100vh;
}
.layout {
display: flex;
width: 100%;
min-height: 100vh;
background: radial-gradient(circle at 50% 20%, rgba(255,153,73,0.08), transparent 30%);
}
.sidebar {
width: 240px;
background: linear-gradient(180deg, rgba(12,14,22,0.85), rgba(10,12,18,0.78));
border-right: 1px solid rgba(255,255,255,0.06);
padding: 24px 20px;
box-sizing: border-box;
display: flex;
flex-direction: column;
gap: 18px;
backdrop-filter: blur(14px);
box-shadow: 8px 0 32px rgba(0,0,0,0.45);
}
.brand {
font-size: 20px;
font-weight: 800;
letter-spacing: 0.6px;
color: var(--text);
}
.nav { display: flex; flex-direction: column; gap: 8px; }
.nav a {
display: flex;
align-items: center;
gap: 10px;
padding: 11px 13px;
border-radius: 14px;
color: var(--muted);
text-decoration: none;
font-weight: 700;
transition: background 140ms ease, color 140ms ease, box-shadow 140ms ease, border 140ms ease;
border: 1px solid transparent;
background: rgba(255,255,255,0.02);
}
.nav a .icon { opacity: 0.85; width: 18px; display: inline-flex; justify-content: center; }
.nav a.active {
background: rgba(249,115,22,0.18);
color: var(--accent-strong);
border-color: rgba(249,115,22,0.45);
box-shadow: 0 10px 30px rgba(249,115,22,0.28);
}
.nav a:hover {
background: rgba(255,255,255,0.06);
color: var(--text);
border-color: rgba(255,255,255,0.08);
box-shadow: 0 8px 22px rgba(0,0,0,0.28);
}
.nav a.hidden { display: none; }
.content {
flex: 1;
padding: 28px 34px 56px;
box-sizing: border-box;
background: linear-gradient(145deg, rgba(255,153,73,0.05) 0%, rgba(255,255,255,0) 32%);
}
h1 { margin: 0; font-size: 26px; letter-spacing: 0.6px; font-weight: 800; }
.muted { color: var(--muted); font-size: 13px; }
main { padding-top: 18px; display: flex; flex-direction: column; gap: 18px; }
.section { display: none; }
.section.active { display: block; }
.section.hidden { display: none !important; }
.logout {
margin-top: auto;
border: none;
color: white;
padding: 10px 12px;
border-radius: 12px;
cursor: pointer;
background: linear-gradient(135deg, #ef4444, #b91c1c);
width: 100%;
box-shadow: 0 12px 28px rgba(239,68,68,0.32);
}