import {BookSyncCompare, SyncedBook} from "@/lib/types/synced-book"; import {Context, createContext, Dispatch, SetStateAction} from "react"; export type SyncType = 'server-only' | 'local-only' | 'to-sync-from-server' | 'to-sync-to-server' | 'synced' export interface BooksSyncContextProps { serverSyncedBooks: SyncedBook[]; setServerSyncedBooks: Dispatch>; localSyncedBooks: SyncedBook[]; setLocalSyncedBooks: Dispatch>; booksToSyncFromServer: BookSyncCompare[]; setBooksToSyncFromServer: Dispatch>; booksToSyncToServer: BookSyncCompare[]; setBooksToSyncToServer: Dispatch>; setServerOnlyBooks: Dispatch>; setLocalOnlyBooks: Dispatch>; serverOnlyBooks: SyncedBook[]; localOnlyBooks: SyncedBook[]; } export const BooksSyncContext: Context = createContext({ serverSyncedBooks: [], setServerSyncedBooks: (): void => {}, localSyncedBooks: [], setLocalSyncedBooks: (): void => {}, booksToSyncFromServer: [], setBooksToSyncFromServer: (): void => {}, booksToSyncToServer: [], setBooksToSyncToServer: (): void => {}, setServerOnlyBooks: (): void => {}, setLocalOnlyBooks: (): void => {}, serverOnlyBooks: [], localOnlyBooks: [] });