feat: add state management using zustand

This commit is contained in:
2025-08-13 12:24:47 -06:00
parent 2c59ce43ad
commit 22d10902fb
4 changed files with 63 additions and 3 deletions

18
src/store/index.ts Normal file
View File

@@ -0,0 +1,18 @@
import { createStore } from 'zustand'
import { subscribeWithSelector } from 'zustand/middleware'
import { MODULE_NAME } from '@/constants'
import { type ConfigSlice, createConfigSlice } from '@/store/configSlice'
export const useStore = createStore<ConfigSlice>()(
subscribeWithSelector(createConfigSlice)
)
useStore.subscribe(
(state) => state.wordLists,
(wordLists) => {
const context = SillyTavern.getContext()
// biome-ignore lint/suspicious/noExplicitAny: SillyTavern's extensionSettings is not properly typed
const extensionSettings: Record<string, any> = context.extensionSettings
extensionSettings[MODULE_NAME] = { wordLists }
}
)