Add foundational components and logic for migration, UI design, and input handling

- Introduced foundational UI components (`Badge`, `LockCard`, `SectionHeader`, `AvatarIcon`, etc.) for flexible layouts and consistent design.
- Added migration support with the `MigrationModal` component and backend integration for exporting/importing data between Electron and Tauri.
- Extended form components with `TextAreaInput`, `OrderInput`, `ToggleField`, and `ToolbarSelect` for improved input handling.
- Updated `ScribeShell` with migration popup logic to prompt users for data migration.
- Integrated `AlertStack` for better alert handling and notification management.
- Enhanced Rust/Tauri services with migration command implementations.
- Added translations and styles for new components.
This commit is contained in:
natreex
2026-04-05 12:52:54 -04:00
parent 2b6d4cc48b
commit d4765e6576
49 changed files with 3115 additions and 2 deletions

View File

@@ -187,9 +187,38 @@
"title": "Discord",
"description": "Join our community on Discord.",
"badge": "DISCORD"
},
"migration": {
"title": "Import from Electron",
"description": "Migrate your data from the old version."
}
}
},
"migration": {
"title": "Migration from Electron",
"introText": "We detected this is your first launch. If you were using the old version of ERitors Scribe (Electron), you can import your local data (books, characters, chapters, etc.).",
"steps": "How to proceed:",
"step1": "In the old Electron app, go to the menu and click \"Export for migration\".",
"step2": "A .json file and a copy of your database will be created on your Desktop.",
"step3": "Come back here and enter the path to the exported .json file.",
"later": "Later",
"haveFile": "I have the file",
"selectText": "Paste the full path to the migration file exported from Electron.",
"filePath": "Migration file path",
"back": "Back",
"import": "Import",
"importing": "Migrating...",
"successTitle": "Migration successful!",
"successText": "Your data has been imported successfully. Log in again to access it.",
"deleteReminder": "Remember to delete the migration file and the database copy from your Desktop.",
"done": "Done",
"errorTitle": "Migration error",
"close": "Close",
"retry": "Retry",
"fileNotFound": "The migration file was not found at this path.",
"dbNotFound": "The database was not found next to the migration file.",
"importFailed": "Import failed. Please check that the files are valid."
},
"quillSense": {
"needSubscription": "Please subscribe to QuillSense or bring your keys to access this feature.",
"subscriptionDescription": "Unlock powerful writing tools to enrich your prose.",

View File

@@ -187,9 +187,38 @@
"title": "Discord",
"description": "Rejoignez notre communauté sur Discord.",
"badge": "DISCORD"
},
"migration": {
"title": "Importer depuis Electron",
"description": "Migrer vos données depuis l'ancienne version."
}
}
},
"migration": {
"title": "Migration depuis Electron",
"introText": "Nous avons détecté que c'est votre premier lancement. Si vous utilisiez l'ancienne version d'ERitors Scribe (Electron), vous pouvez importer vos données locales (livres, personnages, chapitres, etc.).",
"steps": "Comment procéder :",
"step1": "Dans l'ancienne app Electron, allez dans le menu et cliquez sur « Exporter pour migration ».",
"step2": "Un fichier .json et une copie de votre base de données seront créés sur votre Bureau.",
"step3": "Revenez ici et indiquez le chemin du fichier .json exporté.",
"later": "Plus tard",
"haveFile": "J'ai le fichier",
"selectText": "Collez le chemin complet du fichier de migration exporté depuis Electron.",
"filePath": "Chemin du fichier de migration",
"back": "Retour",
"import": "Importer",
"importing": "Migration en cours...",
"successTitle": "Migration réussie !",
"successText": "Vos données ont été importées avec succès. Reconnectez-vous pour y accéder.",
"deleteReminder": "Pensez à supprimer le fichier de migration et la copie de la base de données de votre Bureau.",
"done": "Terminé",
"errorTitle": "Erreur de migration",
"close": "Fermer",
"retry": "Réessayer",
"fileNotFound": "Le fichier de migration est introuvable à ce chemin.",
"dbNotFound": "La base de données n'a pas été trouvée à côté du fichier de migration.",
"importFailed": "L'importation a échoué. Vérifiez que les fichiers sont valides."
},
"quillSense": {
"needSubscription": "Veuillez vous abonner à QuillSense ou Amenez vos clés pour accéder à cette fonctionnalité.",
"subscriptionDescription": "Débloquez des outils d'aide à l'écriture puissants pour enrichir votre prose.",