feat(tasks): group "Alle Aufgaben" by task list by default

Tasks without a list come first, then the lists in tab order. Single
lists keep no grouping by default and do not offer it. The open task
list, view and grouping, like the open shopping list, are now
remembered per device instead of per tab.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
sandrodachandClaude Opus 5.5 committed 2026-11-02 13:13:14 +01:00
1 parent b04991ee23
commit 2cdfa45375
3 files changed
+110 -36

No files matched your search

+24
View File
@@ -18,3 +18,27 @@ export function writeViewSession<T extends object>(view: string, state: T) {
// storage blocked: the view simply starts fresh
}
}
// Remembered per device as well (localStorage): a new tab or a restart of the installed app opens the
// same list again. This tab's own state wins, so two tabs can show different lists.
const DEVICE_PREFIX = 'mindsift_view_device:';
export function readViewMemory<T extends object>(view: string): Partial<T> {
let device: Partial<T> = {};
try {
const raw = JSON.parse(localStorage.getItem(DEVICE_PREFIX + view) || '{}');
if (raw && typeof raw === 'object') device = raw;
} catch {
// storage blocked or broken: the tab state alone
}
return { ...device, ...readViewSession<T>(view) };
}
export function writeViewMemory<T extends object>(view: string, state: T) {
writeViewSession(view, state);
try {
localStorage.setItem(DEVICE_PREFIX + view, JSON.stringify(state));
} catch {
// only a convenience
}
}