getInputDecoration method

InputDecoration getInputDecoration({
  1. required String labelText,
  2. String? hintText,
  3. Widget? prefixIcon,
  4. Widget? suffixIcon,
  5. String? errorText,
})

Get input decoration based on theme with Comfortaa font

Implementation

InputDecoration getInputDecoration({
  required String labelText,
  String? hintText,
  Widget? prefixIcon,
  Widget? suffixIcon,
  String? errorText,
}) {
  return InputDecoration(
    labelText: labelText,
    hintText: hintText,
    prefixIcon: prefixIcon,
    suffixIcon: suffixIcon,
    errorText: errorText,
    filled: true,
    fillColor: surfaceColor,
    contentPadding: inputPadding,
    border: OutlineInputBorder(
      borderRadius: BorderRadius.circular(borderRadius ?? 12.0),
      borderSide: BorderSide(color: borderColor ?? const Color(0xFFE2E8F0)),
    ),
    enabledBorder: OutlineInputBorder(
      borderRadius: BorderRadius.circular(borderRadius ?? 12.0),
      borderSide: BorderSide(color: borderColor ?? const Color(0xFFE2E8F0)),
    ),
    focusedBorder: OutlineInputBorder(
      borderRadius: BorderRadius.circular(borderRadius ?? 12.0),
      borderSide: BorderSide(color: primaryColor ?? LokotroPayColors.primary, width: 2),
    ),
    errorBorder: OutlineInputBorder(
      borderRadius: BorderRadius.circular(borderRadius ?? 12.0),
      borderSide: BorderSide(color: errorColor ?? LokotroPayColors.error),
    ),
    focusedErrorBorder: OutlineInputBorder(
      borderRadius: BorderRadius.circular(borderRadius ?? 12.0),
      borderSide: BorderSide(color: errorColor ?? LokotroPayColors.error, width: 2),
    ),
    labelStyle: comfortaa(color: secondaryTextColor),
    floatingLabelStyle: comfortaa(color: primaryColor ?? LokotroPayColors.primary),
    hintStyle: comfortaa(color: secondaryTextColor?.withValues(alpha: 0.7)),
    errorStyle: comfortaa(color: errorColor, fontSize: 12),
  );
}