perf(timer): perf

This commit is contained in:
2026-03-04 16:00:20 +08:00
parent b3cdaa960e
commit 2402d685d7
8 changed files with 146 additions and 69 deletions

View File

@@ -65,3 +65,40 @@ export const useIntervalStore = create<IntervalStore>((set, get) => ({
set((state) => ({ ...state, autoSaveGap: value }))
},
}))
export interface LabelTimeState {
label: number
review1: number
review2: number
}
interface LabelTimeStore {
labelTime: LabelTimeState
setLabelTime: (
labelTime: LabelTimeState | ((prev: LabelTimeState) => LabelTimeState)
) => void
resetLabelTime: () => void
}
const initialLabelTimeState: LabelTimeState = {
label: 0,
review1: 0,
review2: 0,
}
export const useLabelTimeStore = create<LabelTimeStore>((set) => ({
labelTime: initialLabelTimeState,
setLabelTime: (labelTime) =>
set((state) => ({
...state,
labelTime:
typeof labelTime === "function"
? labelTime(state.labelTime)
: labelTime,
})),
resetLabelTime: () =>
set((state) => ({
...state,
labelTime: initialLabelTimeState,
})),
}))