0e7890a465
Run gofmt -w across the backend, normalising the manually-aligned := blocks to the gofmt standard. No code behaviour changes. Add Prettier (+ prettier-plugin-svelte) to the frontend with the SvelteKit default config (tabs, single quotes) so formatting is reproducible, then run it over the whole tree. Add format / format:check npm scripts and a .prettierignore (build output, generated schema.ts, static assets). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
29 lines
692 B
TypeScript
29 lines
692 B
TypeScript
import { writable } from 'svelte/store';
|
|
import { browser } from '$app/environment';
|
|
|
|
export interface AppSettings {
|
|
fileLoadLimit: number;
|
|
tagRuleApplyToExisting: boolean;
|
|
}
|
|
|
|
const DEFAULTS: AppSettings = {
|
|
fileLoadLimit: 100,
|
|
tagRuleApplyToExisting: false
|
|
};
|
|
|
|
function load(): AppSettings {
|
|
if (!browser) return { ...DEFAULTS };
|
|
try {
|
|
const stored = JSON.parse(localStorage.getItem('app-settings') ?? 'null');
|
|
return stored ? { ...DEFAULTS, ...stored } : { ...DEFAULTS };
|
|
} catch {
|
|
return { ...DEFAULTS };
|
|
}
|
|
}
|
|
|
|
export const appSettings = writable<AppSettings>(load());
|
|
|
|
appSettings.subscribe((v) => {
|
|
if (browser) localStorage.setItem('app-settings', JSON.stringify(v));
|
|
});
|