persistence

This commit is contained in:
2025-11-02 15:34:26 +01:00
parent 4f296ac1e3
commit 866a31b89d
3 changed files with 142 additions and 20 deletions
+14 -3
View File
@@ -195,8 +195,13 @@ const AppLayout = () => {
if (typeof window === 'undefined') {
return 'list';
}
const stored = window.localStorage.getItem('papercrate_view_mode');
return stored === 'grid' || stored === 'desk' ? stored : 'list';
try {
const stored = window.sessionStorage.getItem('papercrate_view_mode');
return stored === 'grid' || stored === 'desk' ? stored : 'list';
} catch (error) {
console.warn('[view-mode] failed to read stored mode', error);
return 'list';
}
});
const [deskHelpOpen, setDeskHelpOpen] = useState(false);
const lastNonDeskViewRef = useRef(documentsViewMode === 'desk' ? 'list' : documentsViewMode);
@@ -4481,7 +4486,11 @@ const AppLayout = () => {
const next = mode === 'grid' ? 'grid' : mode === 'desk' ? 'desk' : 'list';
setDocumentsViewMode((previous) => {
if (next !== previous && typeof window !== 'undefined') {
window.localStorage.setItem('papercrate_view_mode', next);
try {
window.sessionStorage.setItem('papercrate_view_mode', next);
} catch (error) {
console.warn('[view-mode] failed to persist mode', error);
}
}
return next;
});
@@ -4873,6 +4882,7 @@ const AppLayout = () => {
onOpenHelp: handleDeskHelpOpen,
helpOpen: deskHelpOpen,
onHelpClose: handleDeskHelpClose,
tenantId: currentTenantId,
selectedDocumentIds,
onClearSelection: clearDocumentSelection,
resolveThumbnailUrl: resolveThumbnailUrlForDoc,
@@ -4897,6 +4907,7 @@ const AppLayout = () => {
handleDeskDocumentStackSelect,
handleDeskHelpOpen,
handleDeskHelpClose,
currentTenantId,
deskHelpOpen,
selectedDocumentIds,
clearDocumentSelection,