Files
tolaria/src/components/note-retargeting/noteRetargetingContext.ts
2026-04-22 23:56:00 +02:00

25 lines
820 B
TypeScript

import { createContext, createElement, useContext, type ReactNode } from 'react'
export interface NoteRetargetingContextValue {
canDropNoteOnType: (notePath: string, type: string) => boolean
dropNoteOnType: (notePath: string, type: string) => Promise<void>
canDropNoteOnFolder: (notePath: string, folderPath: string) => boolean
dropNoteOnFolder: (notePath: string, folderPath: string) => Promise<void>
}
export const noteRetargetingContext = createContext<NoteRetargetingContextValue | null>(null)
export function useNoteRetargetingContext() {
return useContext(noteRetargetingContext)
}
export function NoteRetargetingProvider({
children,
value,
}: {
children: ReactNode
value: NoteRetargetingContextValue | null
}) {
return createElement(noteRetargetingContext.Provider, { value }, children)
}