import {createContext} from "@/utils/context" export type LogAction = (text: string, newLine?: boolean) => void; const itemKey = "log"; export const logCtx = createContext({ initialValue: () => { const storedLog = localStorage.getItem(itemKey); return storedLog || ""; }, controllers: (log: string, setLog) => ({ effect: () => { localStorage.setItem(itemKey, log); }, actions: { log: ((text, newLine = true) => { console.log(text); const prefix = `[${new Date().toLocaleTimeString('en-US', {hour12: false})}] `; setLog(log.length < 1 ? `${newLine ? prefix : ""}${text}` : `${log}${newLine ? `\n${prefix}` : ""}${text}`); }) satisfies LogAction, reset: () => { setLog("") }, }, }) })