23 lines
670 B
TypeScript
23 lines
670 B
TypeScript
import type {CookieRef} from "#app";
|
|
|
|
function ui_cookie(name:string, def:string,prefix:string): CookieRef<string> {
|
|
|
|
const c = useCookie(name,{
|
|
default: () => def,
|
|
|
|
});
|
|
watch(c, (newVal, oldVal) => {
|
|
// remove old class (if it's been put)
|
|
if (oldVal != undefined) document.body.classList.remove(prefix + oldVal.toLowerCase());
|
|
|
|
// add new class
|
|
document.body.classList.add(prefix + newVal.toLowerCase());
|
|
}, { immediate: true})
|
|
|
|
return c;
|
|
|
|
}
|
|
|
|
export function ui_color_cookie() { return ui_cookie("ui_color","Green","ui-"); }
|
|
export function ui_font_cookie() { return ui_cookie("ui_font","pubsans","font-"); }
|