feat: visual hierarchy in dashboard — primary widgets (tasks, calendar) span 2 columns

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Ulas Kalayci
2026-04-29 16:42:09 +02:00
parent f973601922
commit 593ca9009e
2 changed files with 24 additions and 3 deletions
+9 -3
View File
@@ -110,7 +110,8 @@ function showOnboarding(appContainer) {
// Widget-Definitionen (Reihenfolge = Standard-Layout) // Widget-Definitionen (Reihenfolge = Standard-Layout)
// -------------------------------------------------------- // --------------------------------------------------------
const WIDGET_IDS = ['weather', 'tasks', 'calendar', 'birthdays', 'budget', 'family', 'shopping', 'meals', 'notes']; // NEU — primäre Inhalte (tasks, calendar) ganz oben
const WIDGET_IDS = ['tasks', 'calendar', 'weather', 'meals', 'shopping', 'birthdays', 'budget', 'family', 'notes'];
const DEFAULT_WIDGET_CONFIG = WIDGET_IDS.map((id, i) => ({ id, visible: true, order: i })); const DEFAULT_WIDGET_CONFIG = WIDGET_IDS.map((id, i) => ({ id, visible: true, order: i }));
@@ -552,8 +553,13 @@ function renderDashboardOverview(user) {
} }
function widgetTileClass(id) { function widgetTileClass(id) {
const wideIds = ['tasks', 'budget', 'notes', 'weather']; // Primär: immer 2 Spalten breit (die wichtigsten Inhalte)
return wideIds.includes(id) ? 'widget--wide' : ''; const primaryIds = ['tasks', 'calendar'];
// Sekundär: 2 Spalten ab 3-Spalten-Breakpoint (1024px)
const secondaryIds = ['weather', 'shopping'];
if (primaryIds.includes(id)) return 'widget--wide';
if (secondaryIds.includes(id)) return 'widget--secondary';
return '';
} }
function renderDashboardLayout(cfg, data, weather, currency) { function renderDashboardLayout(cfg, data, weather, currency) {
+15
View File
@@ -193,6 +193,11 @@
.widget--wide { .widget--wide {
grid-column: span 2; grid-column: span 2;
} }
/* Sekundäre Widgets: 2 Spalten ab 3-Spalten-Grid */
.widget--secondary {
grid-column: span 2;
}
} }
@media (min-width: 1280px) { @media (min-width: 1280px) {
@@ -205,12 +210,22 @@
grid-column: span 2; grid-column: span 2;
} }
/* Im 4-Spalten-Grid: sekundäre Widgets nur 1 Spalte */
.widget--secondary {
grid-column: span 1;
}
/* Greeting-Widget über alle 4 Spalten */ /* Greeting-Widget über alle 4 Spalten */
.widget-greeting { .widget-greeting {
grid-column: 1 / -1; grid-column: 1 / -1;
} }
} }
/* Primäre Widgets: subtile Akzentlinie oben */
.widget-wrapper.widget--wide > .widget {
border-top: 2px solid var(--active-module-accent, var(--color-accent));
}
/* -------------------------------------------------------- /* --------------------------------------------------------
* Begrüßungs-Widget * Begrüßungs-Widget
* -------------------------------------------------------- */ * -------------------------------------------------------- */