- Introduced new translations for terms of use in French and English locales. - Added sync status detection logic for books in `BookList` and `BookCard` components. - Refactored `BookCard` to handle additional props and improve layout flexibility. - Enhanced `TermsOfUse` component with complete localization support and refuse functionality. - Updated data decryption logic in Rust services to handle optional fields and additional metadata consistently. - Improved offline/online synchronization workflows with extended context properties.
35 lines
1.4 KiB
TypeScript
35 lines
1.4 KiB
TypeScript
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<SetStateAction<SyncedBook[]>>;
|
|
localSyncedBooks: SyncedBook[];
|
|
setLocalSyncedBooks: Dispatch<SetStateAction<SyncedBook[]>>;
|
|
booksToSyncFromServer: BookSyncCompare[];
|
|
setBooksToSyncFromServer: Dispatch<SetStateAction<BookSyncCompare[]>>;
|
|
booksToSyncToServer: BookSyncCompare[];
|
|
setBooksToSyncToServer: Dispatch<SetStateAction<BookSyncCompare[]>>;
|
|
setServerOnlyBooks: Dispatch<SetStateAction<SyncedBook[]>>;
|
|
setLocalOnlyBooks: Dispatch<SetStateAction<SyncedBook[]>>;
|
|
serverOnlyBooks: SyncedBook[];
|
|
localOnlyBooks: SyncedBook[];
|
|
}
|
|
|
|
export const BooksSyncContext: Context<BooksSyncContextProps> = createContext<BooksSyncContextProps>({
|
|
serverSyncedBooks: [],
|
|
setServerSyncedBooks: (): void => {},
|
|
localSyncedBooks: [],
|
|
setLocalSyncedBooks: (): void => {},
|
|
booksToSyncFromServer: [],
|
|
setBooksToSyncFromServer: (): void => {},
|
|
booksToSyncToServer: [],
|
|
setBooksToSyncToServer: (): void => {},
|
|
setServerOnlyBooks: (): void => {},
|
|
setLocalOnlyBooks: (): void => {},
|
|
serverOnlyBooks: [],
|
|
localOnlyBooks: []
|
|
});
|