devonthesofa_obsidian-note-.../components/StatusBar/StatusBarContext.tsx
2025-07-15 17:30:17 +02:00

34 lines
756 B
TypeScript

import { createContext, useContext, ReactNode } from "react";
import { NoteStatus } from "@/types/noteStatus";
interface StatusBarContextValue {
onStatusClick: (status: NoteStatus) => void;
}
const StatusBarContext = createContext<StatusBarContextValue>({
onStatusClick: () => {},
});
export const useStatusBarContext = () => useContext(StatusBarContext);
export type Props = {
children: ReactNode;
onStatusClick: StatusBarContextValue["onStatusClick"];
};
export const StatusBarProvider: React.FC<Props> = ({
children,
onStatusClick,
}) => {
const value = {
onStatusClick: (status: NoteStatus) => {
onStatusClick(status);
},
};
return (
<StatusBarContext.Provider value={value}>
{children}
</StatusBarContext.Provider>
);
};