// lib/theme.dart import 'package:flutter/material.dart'; import 'package:google_fonts/google_fonts.dart'; class FluxColors { // Palette Tech Dark da loghi generati static const Color background = Color(0xFF0A0E17); // Nero profondo/Blu scuro static const Color surface = Color(0xFF161B22); // Pannelli scuri static const Color primaryBlue = Color(0xFF007BFF); // Blu Elettrico del logo static const Color accentTurquoise = Color(0xFF17A2B8); // Turchese del flusso static const Color textPrimary = Colors.white; static const Color textSecondary = Color(0xFF8B949E); // Grigio fumo } ThemeData fluxDarkTheme = ThemeData( useMaterial3: true, brightness: Brightness.dark, primaryColor: FluxColors.primaryBlue, scaffoldBackgroundColor: FluxColors.background, colorScheme: const ColorScheme.dark( primary: FluxColors.primaryBlue, secondary: FluxColors.accentTurquoise, surface: FluxColors.surface, background: FluxColors.background, onPrimary: Colors.white, onSurface: FluxColors.textPrimary, ), // Font moderno sans-serif (es. Montserrat o Poppins coerente con descrizione) textTheme: GoogleFonts.poppinsTextTheme(ThemeData.dark().textTheme).copyWith( headlineMedium: GoogleFonts.poppins( color: FluxColors.textPrimary, fontWeight: FontWeight.w600, letterSpacing: 0.5, ), titleLarge: GoogleFonts.poppins( color: FluxColors.textPrimary, fontWeight: FontWeight.w500, ), bodyMedium: GoogleFonts.poppins(color: FluxColors.textSecondary), ), appBarTheme: const AppBarTheme( backgroundColor: FluxColors.background, elevation: 0, centerTitle: false, titleTextStyle: TextStyle( color: FluxColors.textPrimary, fontSize: 20, fontWeight: FontWeight.w600, ), ), cardTheme: const CardThemeData( color: FluxColors.surface, elevation: 2, margin: EdgeInsets.all(8), shape: RoundedRectangleBorder( borderRadius: BorderRadius.all(Radius.circular(12)), ), ), // Stile per i pulsanti (es. "Nuova Operazione") elevatedButtonTheme: ElevatedButtonThemeData( style: ElevatedButton.styleFrom( backgroundColor: FluxColors.primaryBlue, foregroundColor: Colors.white, padding: const EdgeInsets.symmetric(horizontal: 24, vertical: 12), shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(8)), textStyle: GoogleFonts.poppins(fontWeight: FontWeight.w500), ), ), );