useNote.ts (617B)
1 import { useLocalStorage } from 'usehooks-ts'; 2 3 import formatDate from 'common/utils/formatDate'; 4 5 import type { GradeClass, SchoolTime } from 'common/types'; 6 7 const getStorageKey = (gradeClass: string, date: Date, period: SchoolTime) => { 8 const dateString = formatDate(date); 9 return `note_data_${gradeClass}_${dateString}_${period}`; 10 }; 11 12 type Params = { 13 gradeClass: GradeClass | null; 14 date: Date; 15 period: SchoolTime; 16 }; 17 18 const useNote = ({ gradeClass, date, period }: Params) => { 19 const key = getStorageKey(gradeClass ?? '', date, period); 20 return useLocalStorage<string>(key, ''); 21 }; 22 23 export default useNote;