fix: Amélioration de l'expérience utilisateur lors de la génération de QR codes
Cette mise à jour améliore la génération de QR codes pour les équipements et les containers en ajoutant un retour visuel à l'utilisateur et une gestion des erreurs plus robuste. **Changements :** - **Ajout d'un indicateur de chargement :** Un `CircularProgressIndicator` est désormais affiché pendant que les données des équipements ou des containers sélectionnés sont récupérées, informant l'utilisateur qu'une opération est en cours. - **Gestion des erreurs :** Un bloc `try...catch` a été ajouté autour de la logique de génération dans les pages de gestion des équipements (`EquipmentManagementPage`) et des containers (`ContainerManagementPage`). - **Affichage des erreurs :** En cas d'échec, le chargement est stoppé et une `SnackBar` rouge apparaît pour notifier l'utilisateur de l'erreur, améliorant ainsi la robustesse de la fonctionnalité.
This commit is contained in:
62
em2rp/scripts/update_version_json.js
Normal file
62
em2rp/scripts/update_version_json.js
Normal file
@@ -0,0 +1,62 @@
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
|
||||
/**
|
||||
* Script pour mettre à jour version.json avec les informations de app_version.dart
|
||||
* Appelé automatiquement lors du build
|
||||
*/
|
||||
|
||||
const versionFilePath = path.join(__dirname, '..', 'lib', 'config', 'app_version.dart');
|
||||
const versionJsonPath = path.join(__dirname, '..', 'web', 'version.json');
|
||||
const buildVersionJsonPath = path.join(__dirname, '..', 'build', 'web', 'version.json');
|
||||
|
||||
// Lire le fichier app_version.dart
|
||||
const versionContent = fs.readFileSync(versionFilePath, 'utf8');
|
||||
|
||||
// Extraire version
|
||||
const versionMatch = versionContent.match(/static const String version = '(\d+\.\d+\.\d+)';/);
|
||||
if (!versionMatch) {
|
||||
console.error('❌ Impossible de trouver la version dans app_version.dart');
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
const version = versionMatch[1];
|
||||
|
||||
console.log(`📦 Version trouvée: ${version}`);
|
||||
|
||||
// Lire les notes de version si elles existent
|
||||
let releaseNotes = 'Mise à jour de l\'application';
|
||||
const changelogPath = path.join(__dirname, '..', 'CHANGELOG.md');
|
||||
if (fs.existsSync(changelogPath)) {
|
||||
const changelogContent = fs.readFileSync(changelogPath, 'utf8');
|
||||
// Extraire la première section
|
||||
const firstSection = changelogContent.split('\n## ')[1];
|
||||
if (firstSection) {
|
||||
const lines = firstSection.split('\n').slice(1, 6); // Prendre les 5 premières lignes
|
||||
releaseNotes = lines.join('\n').trim();
|
||||
}
|
||||
}
|
||||
|
||||
// Créer l'objet version
|
||||
const versionData = {
|
||||
version,
|
||||
updateUrl: 'https://app.em2events.fr',
|
||||
forceUpdate: true, // Mettre à true si mise à jour critique
|
||||
releaseNotes,
|
||||
timestamp: new Date().toISOString()
|
||||
};
|
||||
|
||||
// Écrire dans web/version.json
|
||||
fs.writeFileSync(versionJsonPath, JSON.stringify(versionData, null, 2));
|
||||
console.log(`✅ web/version.json mis à jour`);
|
||||
|
||||
// Copier aussi dans build/web/ si le dossier existe
|
||||
const buildWebDir = path.join(__dirname, '..', 'build', 'web');
|
||||
if (fs.existsSync(buildWebDir)) {
|
||||
fs.writeFileSync(buildVersionJsonPath, JSON.stringify(versionData, null, 2));
|
||||
console.log(`✅ build/web/version.json mis à jour`);
|
||||
}
|
||||
|
||||
console.log('\n📝 Contenu du fichier version:');
|
||||
console.log(JSON.stringify(versionData, null, 2));
|
||||
|
||||
Reference in New Issue
Block a user