30 lines
794 B
TypeScript
30 lines
794 B
TypeScript
export const PAGE_SIDEBAR_QUERY_PARAM = "sidebar";
|
|
|
|
const STORAGE_KEY = "deerflow-page-sidebar-enabled";
|
|
|
|
export function isSidebarEnabledFromSearch(search: string): boolean {
|
|
const params = new URLSearchParams(
|
|
search.startsWith("?") ? search : `?${search}`,
|
|
);
|
|
if (params.get(PAGE_SIDEBAR_QUERY_PARAM) === "1") {
|
|
return true;
|
|
}
|
|
// External yUserId login enables the page sidebar (see LoginPage + yuser-login).
|
|
if (params.get("yUserId")) {
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
export function persistSidebarEnabled(enabled: boolean): void {
|
|
if (enabled) {
|
|
sessionStorage.setItem(STORAGE_KEY, "1");
|
|
} else {
|
|
sessionStorage.removeItem(STORAGE_KEY);
|
|
}
|
|
}
|
|
|
|
export function readSidebarEnabled(): boolean {
|
|
return sessionStorage.getItem(STORAGE_KEY) === "1";
|
|
}
|