import 'package:flutter/services.dart';

class DateInputFormatter extends TextInputFormatter {
  @override
  TextEditingValue formatEditUpdate(
      TextEditingValue oldValue, TextEditingValue newValue) {
    final text = newValue.text;

    // Mencegah input lebih dari 10 karakter (DD/MM/YYYY)
    if (text.length > 10) return oldValue;

    if (newValue.selection.baseOffset < oldValue.selection.baseOffset) {
      return newValue;
    }

    var newText = text;
    // Menambahkan "/" otomatis setelah posisi ke-2 (hari) dan ke-5 (bulan)
    if (text.length == 2 || text.length == 5) {
      if (!text.endsWith('/')) {
        newText = '$text/';
      }
    }

    return newValue.copyWith(
      text: newText,
      selection: TextSelection.collapsed(offset: newText.length),
    );
  }
}