Migrate from window.electron to tauri IPC functions across components

- Replaced `window.electron.invoke` calls with equivalent `tauri` function calls for all IPC interactions.
- Removed `electron.d.ts` TypeScript definitions as they are no longer needed.
- Updated related logic for offline/online state synchronization.
- Added `types.rs` and `shared/mod.rs` modules to support Tauri IPC integration with Rust enums and shared logic.
- Refactored IPC request queues to use updated handler names for consistency with Tauri.
This commit is contained in:
natreex
2026-03-21 09:34:13 -04:00
parent 1a15692e40
commit ee4438834c
144 changed files with 21258 additions and 876 deletions

View File

@@ -1,3 +1,4 @@
import * as tauri from '@/lib/tauri';
import {FontAwesomeIcon} from "@fortawesome/react-fontawesome";
import {faTrash} from "@fortawesome/free-solid-svg-icons";
import {useContext, useState} from "react";
@@ -40,7 +41,7 @@ export default function DeleteBook({bookId}: DeleteBookProps) {
const deleteData = { id: bookId, deletedAt };
if (isCurrentlyOffline() || ifLocalOnlyBook) {
response = await window.electron.invoke<boolean>('db:book:delete', deleteData);
response = await tauri.deleteBook(deleteData.id, deleteData.deletedAt);
} else {
response = await System.authDeleteToServer<boolean>(
`book/delete`,
@@ -50,7 +51,7 @@ export default function DeleteBook({bookId}: DeleteBookProps) {
);
// If synced book and user wants to delete local too
if (response && ifSyncedBook && deleteLocalToo) {
await window.electron.invoke<boolean>('db:book:delete', deleteData);
await tauri.deleteBook(deleteData.id, deleteData.deletedAt);
}
}
if (response) {