mirror of
https://github.com/sechan100/daily-routine-2.git
synced 2026-07-22 05:37:51 +00:00
28 lines
No EOL
738 B
TypeScript
28 lines
No EOL
738 B
TypeScript
import { RoutineNoteDto } from "@entities/note";
|
|
import { createStoreContext } from "@shared/zustand/create-store-context";
|
|
import { Day } from "@shared/period/day";
|
|
import { resolveRoutineNote } from "./resolve-note";
|
|
|
|
|
|
interface UseRoutineNote {
|
|
note: RoutineNoteDto;
|
|
setNote(note: RoutineNoteDto): void;
|
|
setNote(day: Day): void;
|
|
}
|
|
|
|
export const [UseRoutineNoteProvider, useRoutineNote] =
|
|
createStoreContext<RoutineNoteDto, UseRoutineNote>((routineNote, set, get) => ({
|
|
note: routineNote,
|
|
|
|
async setNote(noteOrDay: RoutineNoteDto | Day){
|
|
let note: RoutineNoteDto;
|
|
if(noteOrDay instanceof Day){
|
|
note = await resolveRoutineNote(noteOrDay);
|
|
} else {
|
|
note = noteOrDay;
|
|
}
|
|
set({ note });
|
|
},
|
|
|
|
|
|
})); |