Files
starr-philproperties/apps/web/lib/ocaml/AnnotationStorage.res
T
kennethobsequio b37218f90e merge new_starr_app@qas history into apps/web
git-subtree-dir: apps/web
git-subtree-mainline: eaa6d2276a
git-subtree-split: 459af9d46a
2026-08-24 12:21:16 +08:00

20 lines
632 B
Plaintext

@val external localStorage: {..} = "localStorage"
let storageKey = (courseId: string, lessonId: string) =>
`annotation:${courseId}:${lessonId}`
let saveNote = (courseId: string, lessonId: string, note: string) => {
let key = storageKey(courseId, lessonId)
localStorage["setItem"](key, note)
}
let loadNote = (courseId: string, lessonId: string) => {
let key = storageKey(courseId, lessonId)
let value: Nullable.t<string> = localStorage["getItem"](key)
Nullable.toOption(value)
}
let deleteNote = (courseId: string, lessonId: string) => {
let key = storageKey(courseId, lessonId)
localStorage["removeItem"](key)
}