// Page settings edit form — warn before a template change resets page content.

const form = document.getElementById('page-settings-form') as HTMLFormElement | null;
const templateSelect = document.getElementById('template') as HTMLSelectElement | null;
const realizationDateGroup = document.getElementById('realizationDate-group') as HTMLElement | null;

const TEMPLATES_WITH_REALIZATION_DATE = ['actualite', 'project_detail'];

if (form && templateSelect) {
    const originalTemplate = templateSelect.dataset.current ?? templateSelect.value;

    form.addEventListener('submit', (e: Event): void => {
        if (templateSelect.value === originalTemplate) {
            return;
        }

        const confirmed = window.confirm(
            'Changer le template va réinitialiser le contenu de cette page (FR et EN). '
                + 'Cette action est irréversible. Continuer ?'
        );

        if (!confirmed) {
            e.preventDefault();
        }
    });

    if (realizationDateGroup) {
        const toggleRealizationDate = (): void => {
            realizationDateGroup.style.display = TEMPLATES_WITH_REALIZATION_DATE.includes(templateSelect.value)
                ? 'block'
                : 'none';
        };

        templateSelect.addEventListener('change', toggleRealizationDate);
    }
}
