File tree Expand file tree Collapse file tree 3 files changed +12
-3
lines changed
Expand file tree Collapse file tree 3 files changed +12
-3
lines changed Original file line number Diff line number Diff line change @@ -4,14 +4,16 @@ import { getProgress } from '@/app/actions/userProgress';
44import { getSession } from 'next-auth/react' ;
55import type { TextGeneratorState } from './textGeneratorStore' ;
66import type { CEFRLevel } from '@/lib/domain/language-guidance' ;
7+ import type { BaseSlice } from './baseSlice' ;
8+ import { createBaseSlice } from './baseSlice' ;
79
810const GetProgressResultSchema = z . object ( {
911 streak : z . number ( ) . optional ( ) . nullable ( ) ,
1012 currentLevel : z . string ( ) . optional ( ) . nullable ( ) ,
1113 error : z . string ( ) . optional ( ) . nullable ( ) ,
1214} ) ;
1315
14- export interface ProgressSlice {
16+ export interface ProgressSlice extends BaseSlice {
1517 isProgressLoading : boolean ;
1618 userStreak : number | null ;
1719 fetchUserProgress : ( ) => Promise < void > ;
@@ -23,6 +25,7 @@ export const createProgressSlice: StateCreator<
2325 [ ] ,
2426 ProgressSlice
2527> = ( set , get ) => ( {
28+ ...createBaseSlice ( set ) ,
2629 isProgressLoading : false ,
2730 userStreak : null ,
2831
Original file line number Diff line number Diff line change 99 GenerateExerciseResultSchema ,
1010 SubmitAnswerResultSchema ,
1111} from '@/lib/domain/schemas' ;
12+ import type { BaseSlice } from './baseSlice' ;
13+ import { createBaseSlice } from './baseSlice' ;
1214
1315interface NextQuizInfo {
1416 quizData : PartialQuizData ;
@@ -17,7 +19,7 @@ interface NextQuizInfo {
1719
1820export type HoverProgressionPhase = 'initial' | 'credits' ;
1921
20- export interface QuizSlice {
22+ export interface QuizSlice extends BaseSlice {
2123 quizData : PartialQuizData | null ;
2224 currentQuizId : number | null ;
2325 selectedAnswer : string | null ;
@@ -67,6 +69,7 @@ export const createQuizSlice: StateCreator<
6769 [ ] ,
6870 QuizSlice
6971> = ( set , get ) => ( {
72+ ...createBaseSlice ( set ) ,
7073 quizData : null ,
7174 currentQuizId : null ,
7275 selectedAnswer : null ,
Original file line number Diff line number Diff line change @@ -2,8 +2,10 @@ import type { StateCreator } from 'zustand';
22import { type LearningLanguage } from '@/lib/domain/language' ;
33import { type CEFRLevel } from '@/lib/domain/language-guidance' ;
44import type { Language , TextGeneratorState } from './textGeneratorStore' ;
5+ import type { BaseSlice } from './baseSlice' ;
6+ import { createBaseSlice } from './baseSlice' ;
57
6- export interface SettingsSlice {
8+ export interface SettingsSlice extends BaseSlice {
79 passageLanguage : LearningLanguage ;
810 generatedPassageLanguage : LearningLanguage | null ;
911 generatedQuestionLanguage : Language | null ;
@@ -20,6 +22,7 @@ export const createSettingsSlice: StateCreator<
2022 [ ] ,
2123 SettingsSlice
2224> = ( set , get ) => ( {
25+ ...createBaseSlice ( set ) ,
2326 passageLanguage : 'en' ,
2427 generatedPassageLanguage : null ,
2528 generatedQuestionLanguage : null ,
You can’t perform that action at this time.
0 commit comments