Added Sidebar

This commit is contained in:
2026-01-21 05:03:45 +00:00
parent 2060b436cc
commit cf5cd786e9
20 changed files with 1230 additions and 30 deletions

View File

@@ -0,0 +1,25 @@
import { createContext, Dispatch, SetStateAction, ReactNode, useContext, useState } from "react";
import { Note } from "../models/Note";
type ActiveNoteType = {
currentNote: Note | null;
setCurrentNote: Dispatch<SetStateAction<Note | null>>;
}
const ActiveNote = createContext<ActiveNoteType | null>(null);
export function NoteProvider({ children }: { children: ReactNode }) {
const [currentNote, setCurrentNote] = useState<Note | null>(null);
return (
<ActiveNote.Provider value={{ currentNote, setCurrentNote }}>
{children}
</ActiveNote.Provider>
);
}
export function useNote() {
const context = useContext(ActiveNote);
if (!context) throw new Error("useNote must be used from within ActiveNote.Provider")
return context;
}