Add error handling, enhance syncing, and refactor deletion logic
- Introduce new error messages for syncing and book deletion in `en.json`. - Update `DeleteBook` to support local-only deletion and synced book management. - Refine offline/online behavior with `deleteLocalToo` checkbox and update related state handling. - Extend repository and IPC methods to handle optional IDs for updates. - Add `SyncQueueContext` for queueing offline changes and improving synchronization workflows. - Enhance refined text generation logic in `DraftCompanion` and `GhostWriter` components. - Replace PUT with PATCH for world updates to align with API expectations. - Streamline `AlertBox` by integrating dynamic translation keys for deletion prompts.
This commit is contained in:
@@ -147,7 +147,7 @@ export default function ShortStoryGenerator({onClose}: ShortStoryGeneratorProps)
|
||||
infoMessage(t("shortStoryGenerator.result.abortSuccess"));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
async function handleGeneration(): Promise<void> {
|
||||
setIsGenerating(true);
|
||||
setGeneratedText('');
|
||||
@@ -213,17 +213,14 @@ export default function ShortStoryGenerator({onClose}: ShortStoryGeneratorProps)
|
||||
totalPrice?: number;
|
||||
totalCost?: number;
|
||||
} = JSON.parse(line.slice(6));
|
||||
|
||||
|
||||
if (data.content && data.content !== 'starting') {
|
||||
accumulatedText += data.content;
|
||||
setGeneratedText(accumulatedText);
|
||||
}
|
||||
|
||||
if (data.title) {
|
||||
setGeneratedStoryTitle(data.title);
|
||||
}
|
||||
|
||||
if (data.useYourKey !== undefined && data.totalPrice !== undefined) {
|
||||
if (data.title && data.useYourKey !== undefined && data.totalPrice !== undefined) {
|
||||
setGeneratedStoryTitle(data.title);
|
||||
if (data.useYourKey) {
|
||||
setTotalPrice((prev: number): number => prev + data.totalPrice!);
|
||||
} else {
|
||||
@@ -231,16 +228,15 @@ export default function ShortStoryGenerator({onClose}: ShortStoryGeneratorProps)
|
||||
}
|
||||
}
|
||||
} catch (e: unknown) {
|
||||
console.error('Error parsing SSE data:', e);
|
||||
errorMessage(t("shortStoryGenerator.result.parsingError"));
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (e: unknown) {
|
||||
// Si le reader est annulé ou une erreur survient, sortir
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
setIsGenerating(false);
|
||||
setHasGenerated(true);
|
||||
setAbortController(null);
|
||||
|
||||
Reference in New Issue
Block a user