mirror of
https://github.com/immich-app/immich.git
synced 2025-06-23 15:30:51 -04:00
35 lines
989 B
TypeScript
35 lines
989 B
TypeScript
import { browser } from '$app/environment';
|
|
|
|
function getBoolean(string: string | null, fallback: boolean) {
|
|
if (string === null) {
|
|
return fallback;
|
|
}
|
|
return 'true' === string;
|
|
}
|
|
function getNumber(string: string | null, fallback: number) {
|
|
if (string === null) {
|
|
return fallback;
|
|
}
|
|
return Number.parseInt(string);
|
|
}
|
|
const storage = browser
|
|
? localStorage
|
|
: {
|
|
getItem: () => null,
|
|
};
|
|
export const TUNABLES = {
|
|
LAYOUT: {
|
|
WASM: getBoolean(storage.getItem('LAYOUT.WASM'), false),
|
|
},
|
|
TIMELINE: {
|
|
INTERSECTION_EXPAND_TOP: getNumber(storage.getItem('TIMELINE_INTERSECTION_EXPAND_TOP'), 500),
|
|
INTERSECTION_EXPAND_BOTTOM: getNumber(storage.getItem('TIMELINE_INTERSECTION_EXPAND_BOTTOM'), 500),
|
|
},
|
|
ASSET_GRID: {
|
|
NAVIGATE_ON_ASSET_IN_VIEW: getBoolean(storage.getItem('ASSET_GRID.NAVIGATE_ON_ASSET_IN_VIEW'), false),
|
|
},
|
|
IMAGE_THUMBNAIL: {
|
|
THUMBHASH_FADE_DURATION: getNumber(storage.getItem('THUMBHASH_FADE_DURATION'), 100),
|
|
},
|
|
};
|