Files
ERitors-Scribe-Desktop/context/BooksSyncContext.ts
natreex bb331b5c22 Add BooksSyncContext, refine database schema, and enhance synchronization support
- 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.
2025-12-07 14:36:03 -05:00

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:[]
})