first commit
Some checks failed
Build / run (push) Has been cancelled

This commit is contained in:
maher
2025-10-29 11:42:25 +01:00
commit 703f50a09d
4595 changed files with 385164 additions and 0 deletions

View File

@@ -0,0 +1,47 @@
import {StoreApi, useStore} from 'zustand';
import {createContext, ReactNode, useContext, useState} from 'react';
import {createFileUploadStore, FileUploadState} from './file-upload-store';
import {useSettings} from '../../core/settings/use-settings';
const FileUploadContext = createContext<StoreApi<FileUploadState>>(null!);
type ExtractState<S> = S extends {
getState: () => infer T;
}
? T
: never;
type UseFileUploadStore = {
(): ExtractState<StoreApi<FileUploadState>>;
<U>(
selector: (state: ExtractState<StoreApi<FileUploadState>>) => U,
equalityFn?: (a: U, b: U) => boolean
): U;
};
// @ts-ignore
export const useFileUploadStore: UseFileUploadStore = (
selector,
equalityFn
) => {
const store = useContext(FileUploadContext);
return useStore(store, selector, equalityFn);
};
interface FileUploadProviderProps {
children: ReactNode;
}
export function FileUploadProvider({children}: FileUploadProviderProps) {
const settings = useSettings();
//lazily create store object only once
const [store] = useState(() => {
return createFileUploadStore({settings});
});
return (
<FileUploadContext.Provider value={store as StoreApi<FileUploadState>}>
{children}
</FileUploadContext.Provider>
);
}