Add offline mode support with PIN configuration and management
- Introduce `OfflinePinSetup` component for users to configure secure offline access. - Add new `AIUsageContext` and extend `OfflineProvider` for offline-related state management. - Implement offline login functionality in `electron/main.ts` with PIN verification and fallback support. - Enhance IPC handlers to manage offline mode data, PIN setup, and synchronization. - Update localization files (`en.json`, `fr.json`) with offline mode and PIN-related strings. - Add `bcrypt` and `@types/bcrypt` dependencies for secure PIN hashing and validation. - Refactor login and session management to handle offline mode scenarios with improved error handling and flow.
This commit is contained in:
@@ -892,5 +892,45 @@
|
||||
"message": "Désolé! Cette fonctionnalité est réservée aux membres avancés. Tu dois avoir un abonnement supérieur ou l’option activation IA avancée.",
|
||||
"close": "Fermer"
|
||||
}
|
||||
},
|
||||
"offline": {
|
||||
"mode": {
|
||||
"title": "Mode Hors Ligne",
|
||||
"backToOnline": "Retour à la connexion en ligne"
|
||||
},
|
||||
"pin": {
|
||||
"setup": {
|
||||
"title": "Configurer le PIN",
|
||||
"titleFirstLogin": "Sécurisez votre accès hors ligne",
|
||||
"subtitle": "Protégez vos données locales",
|
||||
"description": "Ce PIN vous permettra d'accéder à vos œuvres même sans connexion internet",
|
||||
"pinLabel": "Code PIN (4-8 chiffres)",
|
||||
"confirmPinLabel": "Confirmer le PIN",
|
||||
"laterButton": "Plus tard",
|
||||
"configureButton": "Configurer le PIN",
|
||||
"configuringButton": "Configuration...",
|
||||
"footer": "Votre PIN est stocké de manière sécurisée sur votre appareil"
|
||||
},
|
||||
"verify": {
|
||||
"title": "Mode Hors Ligne",
|
||||
"subtitle": "Entrez votre PIN pour accéder à vos œuvres locales",
|
||||
"placeholder": "Entrez votre PIN",
|
||||
"enterPin": "Veuillez entrer votre PIN",
|
||||
"incorrect": "PIN incorrect",
|
||||
"tooManyAttempts": "Trop de tentatives échouées. Veuillez vous reconnecter en ligne.",
|
||||
"error": "Erreur lors de la vérification du PIN",
|
||||
"cancelButton": "Annuler",
|
||||
"unlockButton": "Déverrouiller",
|
||||
"verifyingButton": "Vérification...",
|
||||
"attemptsRemaining": "{{count}} tentative(s) restante(s)"
|
||||
},
|
||||
"errors": {
|
||||
"tooShort": "Le PIN doit contenir au moins 4 chiffres",
|
||||
"tooLong": "Le PIN ne peut pas dépasser 8 chiffres",
|
||||
"digitsOnly": "Le PIN doit contenir uniquement des chiffres",
|
||||
"mismatch": "Les codes PIN ne correspondent pas",
|
||||
"setupFailed": "Erreur lors de la configuration du PIN"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user