Files
spacedrive/interface/app/$libraryId/Explorer/QuickPreview/Context.tsx
Utku fd8c0f87b3 [ENG-1067] Update phosphor to new package & update sort imports (#1330)
* ianvs > trivago

* @phosphor-icons/react > phosphor-react
2023-09-11 15:26:44 +00:00

27 lines
700 B
TypeScript

import { createContext, PropsWithChildren, useContext, useState } from 'react';
interface QuickPreviewContext {
ref: HTMLDivElement | null;
}
const QuickPreviewContext = createContext<QuickPreviewContext | null>(null);
export const QuickPreviewContextProvider = ({ children }: PropsWithChildren) => {
const [ref, setRef] = useState<HTMLDivElement | null>(null);
return (
<QuickPreviewContext.Provider value={{ ref }}>
{children}
<div ref={setRef} />
</QuickPreviewContext.Provider>
);
};
export const useQuickPreviewContext = () => {
const context = useContext(QuickPreviewContext);
if (!context) throw new Error('QuickPreviewContext.Provider not found!');
return context;
};