feat: customizable dashboard layout (#32)

Users can now show/hide widgets and reorder them via a settings button
in the greeting header. Configuration is persisted server-side in
sync_config (dashboard_widgets key) and shared across all family members.

- Greeting widget gets a settings icon button opening a customize modal
- Modal lists all widgets (tasks, calendar, shopping, meals, notes,
  weather) with toggle switches and up/down reorder buttons
- Reset to default layout available in the modal
- GET /preferences now returns dashboard_widgets; PUT accepts it
- All 10 locales updated with new i18n keys
This commit is contained in:
Ulas
2026-04-14 08:04:26 +02:00
parent 6f532e45ec
commit 8f96e066f3
15 changed files with 495 additions and 50 deletions
+9 -2
View File
@@ -77,7 +77,14 @@
"dueSoon": "今天到期",
"dueTomorrow": "明天到期",
"allDay": "全天",
"shoppingMore": "+{{count}} 更多"
"shoppingMore": "+{{count}} 更多",
"weather": "天气",
"customize": "自定义",
"customizeTitle": "自定义小组件",
"customizeReset": "重置",
"customizeSaved": "仪表板已保存",
"customizeMoveUp": "上移",
"customizeMoveDown": "下移"
},
"tasks": {
"title": "任务",
@@ -589,4 +596,4 @@
"unitMonth": "个月",
"unitMonths": "个月"
}
}
}