document.addEventListener('DOMContentLoaded', function () {
    const sidebar = document.getElementById('sidebar');
    const toggle = document.getElementById('sidebarToggle');
    const overlay = document.getElementById('sidebarOverlay');

    if (toggle) {
        toggle.addEventListener('click', function () {
            sidebar.classList.toggle('show');
            overlay.classList.toggle('show');
        });
    }
    if (overlay) {
        overlay.addEventListener('click', function () {
            sidebar.classList.remove('show');
            overlay.classList.remove('show');
        });
    }

    // Toggle class "open" pada tombol grup sidebar agar chevron berputar
    document.querySelectorAll('.nav-group-toggle').forEach(function (btn) {
        const targetSelector = btn.getAttribute('data-bs-target');
        const target = document.querySelector(targetSelector);
        if (!target) return;
        target.addEventListener('shown.bs.collapse', () => btn.classList.add('open'));
        target.addEventListener('hidden.bs.collapse', () => btn.classList.remove('open'));
    });

    // Inisialisasi semua tabel dengan class .datatable
    if (window.jQuery && jQuery.fn.DataTable) {
        jQuery('.datatable').DataTable({
            language: {
                search: 'Cari:',
                lengthMenu: 'Tampilkan _MENU_ data',
                info: 'Menampilkan _START_ - _END_ dari _TOTAL_ data',
                paginate: { previous: 'Sebelumnya', next: 'Berikutnya' },
                zeroRecords: 'Data tidak ditemukan',
                infoEmpty: 'Tidak ada data',
                emptyTable: 'Belum ada data'
            }
        });
    }
});

function confirmDelete(message) {
    return confirm(message || 'Yakin ingin menghapus data ini?');
}

// Format input angka otomatis pakai titik ribuan saat mengetik
function formatRupiahInput(el) {
    let v = el.value.replace(/\D/g, '');
    el.value = v ? new Intl.NumberFormat('id-ID').format(v) : '';
}

function unformatRupiah(v) {
    return v.replace(/\./g, '').replace(/,/g, '.');
}