Files
EM2_ERP/em2rp/pubspec.yaml
ElPoyo 06f394b728 feat: Ajout du scan de QR Code pour retrouver équipements et conteneurs
Cette mise à jour introduit une fonctionnalité de scan de QR codes directement depuis l'application, permettant aux utilisateurs de retrouver et d'accéder rapidement à la page de détail d'un équipement ou d'un conteneur.

**Features :**
- **Scan de QR Code :**
    - Un nouveau bouton "Scanner QR Code" est ajouté sur les pages de gestion des équipements et des conteneurs.
    - L'appui sur ce bouton ouvre une nouvelle boîte de dialogue (`QRCodeScannerDialog`) utilisant la caméra de l'appareil pour scanner un QR code.
    - Le scanner affiche un overlay visuel clair avec un cadre de détection et fournit un retour visuel (icône de validation) lorsqu'un code est détecté avec succès.
- **Recherche et Redirection Intelligente :**
    - Une fois un QR code scanné, l'application recherche l'ID correspondant d'abord dans les équipements, puis dans les conteneurs.
    - Si une correspondance est trouvée, l'utilisateur est automatiquement redirigé vers la page de détail de l'élément correspondant (`EquipmentDetailPage` ou `ContainerDetailPage`).
    - Un message informe l'utilisateur si aucun élément ne correspond à l'ID scanné.

**Changements Techniques :**
- **Dépendance :** Ajout de la bibliothèque `mobile_scanner` pour gérer la fonctionnalité de scan.
- **Nouveau Widget :** Création du widget `QRCodeScannerDialog`, un dialogue réutilisable et stylisé pour le scan, incluant un overlay personnalisé (`_ScannerOverlayPainter`).
- **Intégration UI :**
    - Le `ManagementSearchBar` accepte désormais une liste de `additionalActions` pour permettre l'ajout de boutons personnalisés comme celui du scanner.
    - Ajout du bouton de scan sur les écrans `EquipmentManagementPage` et `ContainerManagementPage`, à la fois en version bureau (icône) et mobile (bouton plein).
- **Logique de Recherche :** Implémentation de la fonction `_scanQRCode` dans les deux pages de gestion pour orchestrer l'ouverture du scanner, la recherche dans les `EquipmentProvider` et `ContainerProvider`, et la navigation.
2026-01-16 00:35:10 +01:00

75 lines
1.5 KiB
YAML

name: em2rp
description: "A new Flutter project."
publish_to: 'none'
version: 1.0.0+1
environment:
sdk: ^3.5.4
dependencies:
flutter:
sdk: flutter
firebase_core: ^4.2.0
firebase_auth: ^6.1.1
cloud_firestore: ^6.0.3
cloud_functions: ^6.0.4
google_sign_in: ^7.2.0
provider: ^6.1.2
firebase_storage: ^13.0.3
image_picker: ^1.1.2
universal_io: ^2.2.2
cupertino_icons: ^1.0.2
table_calendar: ^3.0.9
intl: ^0.20.2
google_maps_flutter: ^2.5.0
permission_handler: ^12.0.0+1
geolocator: ^14.0.1
flutter_map: ^8.1.1
latlong2: ^0.9.0
flutter_launcher_icons: ^0.14.3
flutter_native_splash: ^2.3.9
url_launcher: ^6.2.2
share_plus: ^12.0.1
path_provider: ^2.1.2
pdf: ^3.10.7
printing: ^5.11.1
qr_flutter: ^4.1.0
mobile_scanner: ^5.2.3
flutter_local_notifications: ^19.2.1
timezone: ^0.10.1
flutter_secure_storage: ^9.0.0
http: ^1.1.2
flutter_dotenv: ^6.0.0
google_fonts: ^6.1.0
flutter_svg: ^2.2.1
cached_network_image: ^3.3.1
flutter_staggered_grid_view: ^0.7.0
shimmer: ^3.0.0
flutter_slidable: ^4.0.0
flutter_datetime_picker: ^1.5.1
flutter_colorpicker: ^1.0.3
flutter_rating_bar: ^4.0.1
flutter_chat_ui: ^2.3.1
flutter_chat_types: ^3.6.2
uuid: ^4.2.2
file_picker: ^10.1.9
flutter_dropzone: ^4.2.1
flutter_localizations:
sdk: flutter
timeago: ^3.6.1
path: any
dev_dependencies:
flutter_test:
sdk: flutter
flutter_lints: ^6.0.0
flutter:
uses-material-design: true
assets:
- assets/
- assets/images/
- assets/logos/
- assets/icons/