Ajout prompt widget formulaire passage modal cross-platform
This commit is contained in:
79
prompts/widget-formulaire-passage-modal.md
Normal file
79
prompts/widget-formulaire-passage-modal.md
Normal file
@@ -0,0 +1,79 @@
|
|||||||
|
# 🎯 Prompt : Widget Formulaire Passage Modal Cross-Platform
|
||||||
|
|
||||||
|
## Contexte
|
||||||
|
Développement d'un widget modal de formulaire de passage pour GEOSECTOR, compatible Svelte (web) et Flutter (mobile).
|
||||||
|
|
||||||
|
## Prompt à utiliser avec Cline/Claude
|
||||||
|
|
||||||
|
```
|
||||||
|
Je développe un widget modal de formulaire de passage pour GEOSECTOR qui doit fonctionner de manière identique sur :
|
||||||
|
- Web avec Svelte/SvelteKit
|
||||||
|
- Mobile avec Flutter
|
||||||
|
|
||||||
|
### Spécifications du widget
|
||||||
|
|
||||||
|
#### Interface utilisateur
|
||||||
|
- Modal centré avec overlay semi-transparent
|
||||||
|
- Formulaire avec 4 champs principaux :
|
||||||
|
1. **Date** : sélecteur de date natif
|
||||||
|
2. **Heure** : sélecteur d'heure (format 24h)
|
||||||
|
3. **Commentaire** : textarea avec compteur (max 500 caractères)
|
||||||
|
4. **Statut** : dropdown avec options ["En attente", "Validé", "Rejeté", "En cours"]
|
||||||
|
|
||||||
|
#### Fonctionnalités avancées
|
||||||
|
- Validation en temps réel avec messages d'erreur contextuels
|
||||||
|
- Sauvegarde automatique toutes les 30 secondes (draft local)
|
||||||
|
- Animations d'ouverture/fermeture fluides
|
||||||
|
- Gestion des états : loading, success, error
|
||||||
|
- Boutons d'action : Annuler, Sauvegarder (draft), Valider (final)
|
||||||
|
|
||||||
|
#### Contraintes techniques
|
||||||
|
- Design system cohérent entre Svelte et Flutter
|
||||||
|
- Accessibilité : labels, focus management, navigation clavier
|
||||||
|
- Responsive : adaptation automatique mobile/desktop
|
||||||
|
- Performance : lazy loading du composant
|
||||||
|
- Validation côté client + préparation validation serveur
|
||||||
|
|
||||||
|
### Structure souhaitée
|
||||||
|
|
||||||
|
#### Svelte (lib/components/PassageFormModal.svelte)
|
||||||
|
```
|
||||||
|
<script>
|
||||||
|
// Props et logique de validation
|
||||||
|
// Store pour gestion état
|
||||||
|
// Auto-save logic
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<div class="modal-overlay">
|
||||||
|
<div class="modal-content">
|
||||||
|
<form>
|
||||||
|
<!-- Champs formulaire -->
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Flutter (lib/widgets/passage_form_modal.dart)
|
||||||
|
```
|
||||||
|
class PassageFormModal extends StatefulWidget {
|
||||||
|
// Widget avec même logique qu'en Svelte
|
||||||
|
// Form validation
|
||||||
|
// Auto-save functionality
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Peux-tu m'accompagner dans le développement de ce widget en respectant ces spécifications et en optimisant pour la réutilisabilité ?
|
||||||
|
```
|
||||||
|
|
||||||
|
## Bonnes pratiques à appliquer
|
||||||
|
- Utiliser des validateurs côté client robustes
|
||||||
|
- Implémenter un système de debouncing pour l'auto-save
|
||||||
|
- Gérer proprement les animations et transitions
|
||||||
|
- Prévoir la gestion d'erreur réseau
|
||||||
|
- Tester l'accessibilité sur les deux plateformes
|
||||||
|
|
||||||
|
## Tests suggérés
|
||||||
|
- Tests unitaires de validation
|
||||||
|
- Tests d'intégration du formulaire
|
||||||
|
- Tests d'accessibilité
|
||||||
|
- Tests de performance (auto-save)
|
||||||
Reference in New Issue
Block a user