Compare commits

...

4 Commits

Author SHA1 Message Date
elpatron 10835c9def chore: release v0.1.1.18 2026-06-05 11:30:44 +02:00
elpatron cdbc618521 fix(admin): kompakteres Mobile-Layout für Admin-Dashboard
KPI-Karten bleiben auf schmalen Viewports in zwei Spalten, Header und Filter nutzen weniger vertikalen Platz.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-05 11:30:25 +02:00
elpatron f75fe42910 chore: release v0.1.1.17 2026-06-05 11:15:46 +02:00
elpatron 212775ffdc fix(deploy): pass ADMIN_USER_IDS into backend container
Docker Compose did not forward the admin whitelist from .env, so production always treated every user as non-admin.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-05 11:14:56 +02:00
4 changed files with 90 additions and 7 deletions
+1 -1
View File
@@ -37,7 +37,7 @@ ORIGIN=http://localhost:5173
SESSION_SECRET=
# Admin dashboard access — comma-separated list of User IDs (UUIDs)
# Example: ADMIN_USER_IDS=e6bcd493-80a0-400f-8a27-43c9cdce6e29,11111111-2222-3333-4444-555555555555
# Example: ADMIN_USER_IDS=11111111-2222-3333-4444-555555555555,22222222-3333-4444-5555-666666666666
ADMIN_USER_IDS=
# Web Push (VAPID) — generate with: npx web-push generate-vapid-keys
+1 -1
View File
@@ -1 +1 @@
0.1.1.17
0.1.1.19
+87 -5
View File
@@ -5025,16 +5025,68 @@ html.theme-cupertino .events-scroll-container {
@media (max-width: 640px) {
.admin-page {
padding: 16px;
padding: 12px 12px 20px;
gap: 16px;
min-height: auto;
}
.admin-header {
padding-bottom: 12px;
}
.admin-header-left {
flex-direction: column;
gap: 12px;
display: grid;
grid-template-columns: auto 1fr;
grid-template-rows: auto auto;
align-items: center;
column-gap: 10px;
row-gap: 2px;
}
.admin-kpi-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
.admin-header-left .btn-back {
grid-row: 1 / -1;
align-self: center;
padding: 6px 10px;
font-size: 13px;
}
.admin-title {
font-size: 18px;
line-height: 1.2;
}
.admin-subtitle {
font-size: 11px;
margin: 0;
line-height: 1.35;
}
.admin-main {
gap: 16px;
}
.admin-controls {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 12px;
padding: 12px;
}
.admin-control-buttons {
gap: 6px;
}
.admin-control-label {
font-size: 11px;
}
.admin-control-buttons .btn {
padding: 6px 8px;
font-size: 12px;
}
.admin-charts-grid {
gap: 14px;
}
}
@@ -5137,6 +5189,36 @@ html.theme-cupertino .events-scroll-container {
grid-template-columns: 1fr;
}
/* Admin dashboard: keep 2-column KPI grid on mobile (overrides rule above) */
.stats-kpi-grid.admin-kpi-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 10px;
}
.admin-kpi-grid .stats-kpi-card {
padding: 10px 12px;
gap: 8px;
}
.admin-kpi-grid .stats-kpi-icon {
margin-top: 0;
}
.admin-kpi-grid .stats-kpi-icon svg {
width: 18px;
height: 18px;
}
.admin-kpi-grid .stats-kpi-label {
font-size: 11px;
line-height: 1.25;
margin-bottom: 2px;
}
.admin-kpi-grid .stats-kpi-value {
font-size: 18px;
}
.stats-kpi-value {
font-size: 20px;
}
+1
View File
@@ -35,6 +35,7 @@ services:
OpenRouterAPIKey: ${OpenRouterAPIKey:-}
OpenRouterModel: ${OpenRouterModel:-anthropic/claude-3.5-haiku}
SESSION_SECRET: ${SESSION_SECRET:-}
ADMIN_USER_IDS: ${ADMIN_USER_IDS:-}
NTFY_SERVER: ${NTFY_SERVER:-https://ntfy.sh}
NTFY_TOPIC: ${NTFY_TOPIC:-}
NTFY_TOKEN: ${NTFY_TOKEN:-}