selection cleanup
This commit is contained in:
@@ -1,16 +1,20 @@
|
||||
import React, { createContext, useContext } from 'react';
|
||||
import type useWorkspaceSelection from './useWorkspaceSelection';
|
||||
|
||||
type WorkspaceSelectionValue = ReturnType<typeof useWorkspaceSelection> | null;
|
||||
export type WorkspaceSelectionValue = ReturnType<typeof useWorkspaceSelection>;
|
||||
|
||||
const WorkspaceSelectionContext = createContext<WorkspaceSelectionValue>(null);
|
||||
const WorkspaceSelectionContext = createContext<WorkspaceSelectionValue | null>(null);
|
||||
|
||||
export const WorkspaceSelectionProvider: React.FC<{ value: NonNullable<WorkspaceSelectionValue>; children: React.ReactNode }>
|
||||
= ({ value, children }) => (
|
||||
<WorkspaceSelectionContext.Provider value={value}>
|
||||
{children}
|
||||
</WorkspaceSelectionContext.Provider>
|
||||
);
|
||||
interface WorkspaceSelectionProviderProps {
|
||||
value: WorkspaceSelectionValue;
|
||||
children: React.ReactNode;
|
||||
}
|
||||
|
||||
export const WorkspaceSelectionProvider: React.FC<WorkspaceSelectionProviderProps> = ({ value, children }) => (
|
||||
<WorkspaceSelectionContext.Provider value={value}>
|
||||
{children}
|
||||
</WorkspaceSelectionContext.Provider>
|
||||
);
|
||||
|
||||
export const useWorkspaceSelectionContext = () => {
|
||||
const context = useContext(WorkspaceSelectionContext);
|
||||
|
||||
Reference in New Issue
Block a user