// lib/ui/common/flux_text_field.dart import 'package:flutter/material.dart'; import 'package:flux/core/theme/theme.dart'; class FluxTextField extends StatelessWidget { final String label; final IconData icon; final bool isPassword; final bool autoFocus; final TextEditingController? controller; final TextInputType? keyboardType; // Aggiunto per flessibilità final int? minLines; final int? maxLines; const FluxTextField({ super.key, // Usiamo super.key per Flutter moderno required this.label, required this.icon, this.isPassword = false, this.autoFocus = false, this.controller, this.keyboardType, this.minLines, this.maxLines = 1, }); @override Widget build(BuildContext context) { return TextField( controller: controller, obscureText: isPassword, keyboardType: keyboardType, autofocus: autoFocus, minLines: minLines, // Se minLines è impostato, maxLines deve essere almeno uguale o null (espandibile) maxLines: minLines != null ? null : maxLines, style: TextStyle(color: context.primaryText), decoration: InputDecoration( prefixIcon: Icon(icon, color: context.accent.withValues(alpha: 0.6)), labelText: label, labelStyle: TextStyle(color: context.secondaryText, fontSize: 14), filled: true, fillColor: context.surface.withValues(alpha: 0.5), enabledBorder: OutlineInputBorder( borderRadius: BorderRadius.circular(12), borderSide: BorderSide( color: context.secondaryText.withValues(alpha: 0.1), ), ), focusedBorder: OutlineInputBorder( borderRadius: BorderRadius.circular(12), borderSide: BorderSide(color: context.accent, width: 1.5), ), contentPadding: const EdgeInsets.symmetric( horizontal: 16, vertical: 16, ), ), ); } }