Refactor ScribeChapterComponent and offline handlers for seamless local and server operations
- Add stricter typings (`RefObject`) and improve type safety. - Introduce conditional logic for `localBook` to
This commit is contained in:
16
app/page.tsx
16
app/page.tsx
@@ -205,13 +205,11 @@ function ScribeContent() {
|
||||
let serverBooksResponse: SyncedBook[] = [];
|
||||
|
||||
if (!isCurrentlyOffline()){
|
||||
// Mode online: récupérer les livres du serveur ET de la DB locale
|
||||
if (offlineMode.isDatabaseInitialized) {
|
||||
localBooksResponse = await window.electron.invoke<SyncedBook[]>('db:books:synced');
|
||||
}
|
||||
serverBooksResponse = await System.authGetQueryToServer<SyncedBook[]>('books/synced', session.accessToken, locale);
|
||||
} else {
|
||||
// Mode offline: récupérer uniquement depuis la DB locale
|
||||
if (offlineMode.isDatabaseInitialized) {
|
||||
localBooksResponse = await window.electron.invoke<SyncedBook[]>('db:books:synced');
|
||||
}
|
||||
@@ -364,13 +362,6 @@ function ScribeContent() {
|
||||
console.error('[Page] Error initializing user:', error);
|
||||
}
|
||||
}
|
||||
setSession({
|
||||
isConnected: true,
|
||||
user: user,
|
||||
accessToken: token,
|
||||
});
|
||||
setCurrentCredits(user.creditsBalance)
|
||||
setAmountSpent(user.aiUsage)
|
||||
if (window.electron && user.id) {
|
||||
try {
|
||||
const dbInitialized:boolean = await initializeDatabase(user.id);
|
||||
@@ -392,6 +383,13 @@ function ScribeContent() {
|
||||
console.error('Failed to initialize database:', error);
|
||||
}
|
||||
}
|
||||
setSession({
|
||||
isConnected: true,
|
||||
user: user,
|
||||
accessToken: token,
|
||||
});
|
||||
setCurrentCredits(user.creditsBalance)
|
||||
setAmountSpent(user.aiUsage)
|
||||
} catch (e: unknown) {
|
||||
if (window.electron) {
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user