Files
kanban/public/terminal-preferences.js

28 lines
744 B
JavaScript

export const DEFAULT_FONT_SIZE = 10;
export const MIN_FONT_SIZE = 8;
export const MAX_FONT_SIZE = 32;
export const FONT_SIZE_KEY = 'kanban.terminalFontSize';
export function validatedFontSize(value) {
const size = Number(value);
return Number.isInteger(size) && size >= MIN_FONT_SIZE && size <= MAX_FONT_SIZE
? size : DEFAULT_FONT_SIZE;
}
export function readFontSize(storage) {
try {
return validatedFontSize((storage ?? globalThis.localStorage).getItem(FONT_SIZE_KEY));
} catch {
return DEFAULT_FONT_SIZE;
}
}
export function saveFontSize(value, storage) {
try {
(storage ?? globalThis.localStorage).setItem(FONT_SIZE_KEY, String(validatedFontSize(value)));
return true;
} catch {
return false;
}
}