import 'package:flutter/material.dart'; import 'package:google_fonts/google_fonts.dart'; import 'dart:math' as math; // Pour la rotation du chevron import '../../widgets/hover_relief_widget.dart'; // Import du widget générique import '../../models/card_assets.dart'; // Import des enums de cartes class RegisterChoiceScreen extends StatelessWidget { const RegisterChoiceScreen({super.key}); @override Widget build(BuildContext context) { final screenSize = MediaQuery.of(context).size; return Scaffold( body: Stack( children: [ // Fond papier Positioned.fill( child: Image.asset( 'assets/images/paper2.png', fit: BoxFit.cover, repeat: ImageRepeat.repeat, ), ), // Bouton Retour (chevron gauche) Positioned( top: 40, left: 40, child: IconButton( icon: Transform( alignment: Alignment.center, transform: Matrix4.rotationY(math.pi), child: Image.asset('assets/images/chevron_right.png', height: 40), ), onPressed: () => Navigator.pop(context), tooltip: 'Retour', ), ), // Contenu principal en Row (Gauche / Droite) Padding( padding: EdgeInsets.symmetric(horizontal: screenSize.width * 0.05), child: Row( children: [ // Partie Gauche: Texte d'instruction centré Expanded( flex: 1, child: Center( child: Text( 'Veuillez choisir votre\ntype de compte :', style: GoogleFonts.merienda( fontSize: 36, fontWeight: FontWeight.bold, color: Colors.black87, height: 1.5, ), textAlign: TextAlign.center, ), ), ), // Espace entre les deux parties SizedBox(width: screenSize.width * 0.05), // Partie Droite: Carte rose avec les boutons Expanded( flex: 1, child: Center( child: ConstrainedBox( constraints: BoxConstraints( maxHeight: screenSize.height * 0.78, // Augmenté pour éviter l'overflow ), child: AspectRatio( aspectRatio: 2 / 3, child: Container( padding: const EdgeInsets.symmetric(vertical: 30, horizontal: 20), decoration: BoxDecoration( image: DecorationImage( image: AssetImage(CardColorVertical.pink.path), fit: BoxFit.fill, ), ), child: Column( mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ // Bouton "Parents" avec HoverReliefWidget appliqué uniquement à l'image _buildChoiceButton( context: context, iconPath: 'assets/images/icon_parents.png', label: 'Parents', onPressed: () { Navigator.pushNamed(context, '/parent-register/step1'); }, ), // Bouton "Assistante Maternelle" avec HoverReliefWidget appliqué uniquement à l'image _buildChoiceButton( context: context, iconPath: 'assets/images/icon_assmat.png', label: 'Assistante Maternelle', onPressed: () { // TODO: Naviguer vers l'écran d'inscription assmat print('Choix: Assistante Maternelle'); }, ), ], ), ), ), ), ), ), ], ), ), ], ), ); } } // Nouvelle méthode helper pour construire les boutons de choix Widget _buildChoiceButton({ required BuildContext context, required String iconPath, required String label, required VoidCallback onPressed, }) { // TODO: Déterminer la couleur de base de card_rose.png et ajuster ces couleurs d'ombre final Color baseRoseColor = Colors.pink.shade300; // Placeholder final Color initialShadow = baseRoseColor.withAlpha(90); // Rose plus foncé et transparent pour l'ombre initiale final Color hoverShadow = baseRoseColor.withAlpha(130); // Rose encore plus foncé pour l'ombre au survol return Column( mainAxisSize: MainAxisSize.min, children: [ HoverReliefWidget( onPressed: onPressed, borderRadius: BorderRadius.circular(15.0), initialShadowColor: initialShadow, // Ombre rose initiale hoverShadowColor: hoverShadow, // Ombre rose au survol child: Padding( padding: const EdgeInsets.all(8.0), child: Image.asset(iconPath, height: 140), ), ), const SizedBox(height: 15), Text( label, style: GoogleFonts.merienda( fontSize: 26, fontWeight: FontWeight.w600, color: Colors.black.withOpacity(0.85), ), textAlign: TextAlign.center, ), ], ); } // --- La classe HoverChoiceButton peut maintenant être supprimée si elle n'est plus utilisée ailleurs --- // class HoverChoiceButton extends StatefulWidget { ... } // class _HoverChoiceButtonState extends State { ... }