better-chatbot / src /hooks /use-theme-style.tsx
Bot
Initial commit for HF Spaces
05c5ed5
Raw
History Blame Contribute Delete
701 Bytes
"use client";
import { getStorageManager } from "lib/browser-stroage";
import { createEmitter } from "lib/utils";
import { useCallback, useEffect, useState } from "react";
const storage = getStorageManager<string>("theme-style");
const emitter = createEmitter();
export function useThemeStyle() {
const [themeStyle, _setThemeStyle] = useState(storage.get("default"));
const setThemeStyle = useCallback((value: string) => {
storage.set(value);
_setThemeStyle(value);
emitter.emit(value);
}, []);
useEffect(() => {
const unsubscribe = emitter.on(_setThemeStyle);
return () => {
unsubscribe();
};
}, []);
return {
themeStyle,
setThemeStyle,
};
}