import 'package:flutter/material.dart'; import '../../../../core/theme/design_tokens.dart'; class AuthField extends StatelessWidget { const AuthField({ super.key, required this.label, required this.hint, required this.controller, this.keyboardType, this.obscureText = false, this.suffixIcon, this.onChanged, }); final String label; final String hint; final TextEditingController controller; final TextInputType? keyboardType; final bool obscureText; final Widget? suffixIcon; final ValueChanged? onChanged; @override Widget build(BuildContext context) { return Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( label, style: const TextStyle( fontSize: 13, fontWeight: FontWeight.w700, color: AppColors.slate700, ), ), SizedBox(height: AppSpacing.sm), Semantics( label: label, textField: true, child: TextField( controller: controller, keyboardType: keyboardType, obscureText: obscureText, onChanged: onChanged, style: const TextStyle(fontSize: 16, color: AppColors.slate900), decoration: InputDecoration( hintText: hint, hintStyle: const TextStyle( fontSize: 15, color: AppColors.slate400, ), filled: true, fillColor: AppColors.authInputBackground, contentPadding: const EdgeInsets.symmetric( horizontal: AppSpacing.lg, vertical: AppSpacing.lg, ), suffixIcon: suffixIcon, border: OutlineInputBorder( borderRadius: BorderRadius.circular(AppRadius.lg), borderSide: BorderSide.none, ), enabledBorder: OutlineInputBorder( borderRadius: BorderRadius.circular(AppRadius.lg), borderSide: const BorderSide(color: AppColors.authInputBorder), ), focusedBorder: OutlineInputBorder( borderRadius: BorderRadius.circular(AppRadius.lg), borderSide: const BorderSide(color: AppColors.authInputFocus), ), ), ), ), ], ); } }