mirror of
https://github.com/christianvidalwolf-prog/Craze-Data-check.git
synced 2026-08-03 14:45:24 +02:00
Gracefully handle JWT expired and warn user to re-login
This commit is contained in:
+7
-2
@@ -322,7 +322,7 @@ export default function App() {
|
||||
|
||||
setIsSavingAll(true);
|
||||
let failedArticles: string[] = [];
|
||||
const token = session?.access_token;
|
||||
let jwtExpired = false;
|
||||
|
||||
try {
|
||||
for (const [articleNo, { newData, originalData, articleName }] of entries) {
|
||||
@@ -343,12 +343,17 @@ export default function App() {
|
||||
} else {
|
||||
setRowStatuses(prev => ({ ...prev, [articleNo]: 'error' }));
|
||||
failedArticles.push(`${articleNo} [${result.error || 'Unknown error'}]`);
|
||||
if (result.error?.includes('401') || result.error?.includes('JWT expired')) {
|
||||
jwtExpired = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
console.log('[handleSaveAll] Finished loop. Failed:', failedArticles.length);
|
||||
|
||||
if (failedArticles.length > 0) {
|
||||
if (jwtExpired) {
|
||||
alert("Tu sesión ha caducado (JWT expired). Por favor, haz clic en el botón de Cerrar Sesión (Sign out) arriba a la derecha y vuelve a iniciar sesión para guardar tus cambios.");
|
||||
} else if (failedArticles.length > 0) {
|
||||
alert(`Failed to save items:\n\n${failedArticles.join('\n')}\n\nPlease try again.`);
|
||||
} else {
|
||||
setAppState(prev => ({ ...prev, hasUnsavedChanges: false }));
|
||||
|
||||
Reference in New Issue
Block a user