blob: d7f52ece7b6196f68fba5cc74ec0e54df58ea8df [file]
import { safeLocalStorageGet } from './browser-storage.js';
export const SESSION_WORKBAR_DEFAULT_WIDTH = 400;
export const SESSION_WORKBAR_MIN_WIDTH = 320;
export const SESSION_WORKBAR_MAX_WIDTH = 600;
// 'quote' is a transient tab that only exists while a quote side-panel excerpt
// is active; it is never persisted as a default (see readSessionWorkbarTab).
export type SessionWorkbarTab = 'tasks' | 'browser' | 'files' | 'quote';
export function clampSessionWorkbarWidth(value: number): number {
return Math.round(Math.min(SESSION_WORKBAR_MAX_WIDTH, Math.max(SESSION_WORKBAR_MIN_WIDTH, value)));
}
export function readSessionWorkbarWidth(): number {
const stored = Number(safeLocalStorageGet('maka-session-workbar-width-v1'));
return Number.isFinite(stored) && stored > 0
? clampSessionWorkbarWidth(stored)
: SESSION_WORKBAR_DEFAULT_WIDTH;
}
export function readSessionWorkbarCollapsed(): boolean {
const stored = safeLocalStorageGet('maka-session-workbar-collapsed-v1');
if (stored === 'false') return false;
if (stored === 'true') return true;
return true;
}
export function readSessionWorkbarTab(): SessionWorkbarTab {
const stored = safeLocalStorageGet('maka-session-workbar-tab-v1');
return stored === 'browser' || stored === 'files' ? stored : 'tasks';
}