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:
1 parent
b04991ee23
commit
2cdfa45375
3 files changed
+110
-36
No files matched your search
@@ -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
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user