import "package:flutter/material.dart"; import "package:google_fonts/google_fonts.dart"; import "../theme/ensup_colors.dart"; /// Barre supérieure ENSUP : marque EME, campus et utilisateur connecté. class EnsupTopBar extends StatelessWidget { const EnsupTopBar({ super.key, required this.campusTag, required this.userName, required this.userInitials, }); final String campusTag; final String userName; final String userInitials; @override Widget build(BuildContext context) { return Container( height: 56, padding: const EdgeInsets.symmetric(horizontal: 28), color: EnsupColors.blue3, child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Row( children: [ const Icon(Icons.devices_other, color: Colors.white, size: 18), const SizedBox(width: 10), Text( "EME", style: GoogleFonts.darkerGrotesque( color: Colors.white, fontWeight: FontWeight.w900, fontSize: 22, letterSpacing: 0.3, ), ), ], ), Row( children: [ Container( padding: const EdgeInsets.symmetric(horizontal: 12, vertical: 4), decoration: BoxDecoration( color: Colors.white.withValues(alpha: 0.15), borderRadius: BorderRadius.circular(999), border: Border.all(color: Colors.white.withValues(alpha: 0.2)), ), child: Text( campusTag, style: GoogleFonts.titilliumWeb( color: Colors.white, fontSize: 12, fontWeight: FontWeight.w600, ), ), ), const SizedBox(width: 12), _Avatar(initials: userInitials), const SizedBox(width: 8), Text( userName, style: GoogleFonts.titilliumWeb( color: Colors.white, fontSize: 13, fontWeight: FontWeight.w600, ), ), ], ), ], ), ); } } class _Avatar extends StatelessWidget { const _Avatar({required this.initials}); final String initials; @override Widget build(BuildContext context) { return Container( width: 30, height: 30, decoration: BoxDecoration( shape: BoxShape.circle, gradient: const LinearGradient(colors: [EnsupColors.teal, EnsupColors.cyan]), border: Border.all(color: Colors.white.withValues(alpha: 0.3), width: 2), ), alignment: Alignment.center, child: Text( initials, style: GoogleFonts.darkerGrotesque( color: Colors.white, fontWeight: FontWeight.w900, fontSize: 12, ), ), ); } }