import 'package:flutter/material.dart'; import 'package:game_tracker/core/custom_theme.dart'; /// A custom text input field widget that encapsulates a [TextField] with specific styling. /// - [controller]: The controller for the text input field. /// - [onChanged]: The callback invoked when the text in the field changes. /// - [hintText]: The hint text displayed in the text input field when it is empty class TextInputField extends StatelessWidget { const TextInputField({ super.key, required this.controller, required this.hintText, this.onChanged, }); /// The controller for the text input field. final TextEditingController controller; /// The callback invoked when the text in the field changes. final ValueChanged? onChanged; /// The hint text displayed in the text input field when it is empty. final String hintText; @override Widget build(BuildContext context) { return TextField( controller: controller, onChanged: onChanged, decoration: InputDecoration( filled: true, fillColor: CustomTheme.boxColor, hintText: hintText, hintStyle: const TextStyle(fontSize: 18), enabledBorder: OutlineInputBorder( borderRadius: const BorderRadius.all(Radius.circular(12)), borderSide: BorderSide(color: CustomTheme.boxBorder), ), focusedBorder: OutlineInputBorder( borderRadius: const BorderRadius.all(Radius.circular(12)), borderSide: BorderSide(color: CustomTheme.boxBorder), ), floatingLabelBehavior: FloatingLabelBehavior.never, ), ); } }