content: import 'package:flutter/material.dart';
  import 'package:mangayomi/models/category.dart';
  import 'package:mangayomi/providers/l10n_providers.dart';
  
  class CustomTextFormField extends StatelessWidget {
    final TextEditingController controller;
    final List<Category> entries;
    final BuildContext context;
    final Function(bool) exist;
    final bool isExist;
    final String name;
    final Function(String) val;
    const CustomTextFormField({
      super.key,
      required this.controller,
      required this.entries,
      required this.context,
      required this.exist,
      required this.isExist,
      this.name = "",
      required this.val,
    });
  
    @override
    Widget build(BuildContext context) {
      final l10n = l10nLocalizations(context);
      return TextFormField(
        autofocus: true,
        controller: controller,
        keyboardType: TextInputType.text,
        onChanged: (value) {
          if (name != controller.text) {
            exist(
              entries
                  .where((element) => element.name == controller.text)
                  .toList()
                  .isNotEmpty,
            );
          }
          val(value);
        },
        onFieldSubmitted: (s) {},
        decoration: InputDecoration(
          helperText: isExist == true
              ? l10n!.add_category_error_exist
              : l10n!.category_name_required,
          helperStyle: TextStyle(color: isExist == true ? Colors.red : null),
          isDense: true,
          label: Text(
            l10n.name,
            style: TextStyle(color: isExist == true ? Colors.red : null),
          ),
          filled: true,
          fillColor: Colors.transparent,
          enabledBorder: OutlineInputBorder(
            borderSide: BorderSide(
              color: isExist == true
                  ? Colors.red
                  : Theme.of(context).primaryColor,
            ),
          ),
          focusedBorder: OutlineInputBorder(
            borderSide: BorderSide(
              color: isExist == true
                  ? Colors.red
                  : Theme.of(context).primaryColor,
            ),
          ),
          border: OutlineInputBorder(
            borderSide: BorderSide(
              color: isExist == true
                  ? Colors.red
                  : Theme.of(context).primaryColor,
            ),
          ),
        ),
      );
    }
  }
  