- Introduce `BooksSyncContext` for managing book synchronization states (server-only, local-only, to-sync, etc.). - Remove `UserContext` and related dependencies. - Refine localization strings (`en.json`) with sync-related updates (e.g., "toSyncFromServer", "toSyncToServer"). - Extend database schema with additional tables and fields for syncing books, chapters, and related entities. - Add `last_update` fields and update corresponding repository methods to support synchronization logic. - Enhance IPC handlers with stricter typing, data validation, and sync-aware operations.
22 lines
728 B
TypeScript
22 lines
728 B
TypeScript
import {SyncedBook} from "@/lib/models/SyncedBook";
|
|
import {Context, createContext} from "react";
|
|
|
|
export type SyncType = 'server-only' | 'local-only' | 'to-sync-from-server' | 'to-sync-to-server' | 'synced'
|
|
|
|
export interface BooksSyncContextProps {
|
|
serverSyncedBooks:SyncedBook[];
|
|
localSyncedBooks:SyncedBook[];
|
|
booksToSyncFromServer:SyncedBook[];
|
|
booksToSyncToServer:SyncedBook[];
|
|
serverOnlyBooks:SyncedBook[];
|
|
localOnlyBooks:SyncedBook[];
|
|
}
|
|
|
|
export const BooksSyncContext:Context<BooksSyncContextProps> = createContext<BooksSyncContextProps>({
|
|
serverSyncedBooks:[],
|
|
localSyncedBooks:[],
|
|
booksToSyncFromServer:[],
|
|
booksToSyncToServer:[],
|
|
serverOnlyBooks:[],
|
|
localOnlyBooks:[]
|
|
}) |