Files
EM2_ERP/em2rp/scripts/update_version_json.js
ElPoyo 4e7af9119a 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é.
2026-01-16 01:20:59 +01:00

63 lines
2.1 KiB
JavaScript

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));