18 lines
501 B
TypeScript
18 lines
501 B
TypeScript
|
import { create } from "zustand";
|
||
|
import { CodeEditorState } from "@/types";
|
||
|
import { DEFAULT_LANGUAGE } from "@/constants/languages";
|
||
|
import { persist, createJSONStorage } from "zustand/middleware";
|
||
|
|
||
|
export const useCodeEditorStore = create<CodeEditorState>()(
|
||
|
persist(
|
||
|
(set, get) => ({
|
||
|
language: DEFAULT_LANGUAGE,
|
||
|
setLanguage: (language: string) => set({ language }),
|
||
|
}),
|
||
|
{
|
||
|
name: "language-storage",
|
||
|
storage: createJSONStorage(() => localStorage),
|
||
|
}
|
||
|
)
|
||
|
);
|