export function onLoad() { const statementField = document.querySelector('textarea[name="statement"]'); const generateButton = document.querySelector('button[id="gen"]'); const optionMapping = { "Баклан": 1, "Маг": 2, "Спец": 3 }; function loadFromLocalStorage() { const statement = localStorage.getItem('statement'); if (statement) { statementField.value = statement; } } generateButton.addEventListener('click', async () => { hideLoadingModal(false); console.log('Начата генерация заявления'); generateStatementModal.showModal(); const data = { "phone": "+7 " + localStorage.getItem('phoneNumber'), "kurs": localStorage.getItem('kurs'), "isFreeEducation": localStorage.getItem('paid') === "false", "isOchno": true, "speciality": optionMapping[localStorage.getItem('option')], "reason": localStorage.getItem('statement') } try { const response = await fetch("generateStatement", { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(data) }); if (response.ok) { console.log('Заявление успешно сгенерировано'); location.href='otchislenie/result'; } else { hideLoadingModal(); console.log('Ошибка при генерации заявления'); console.log(response); } } catch (error) { hideLoadingModal(); console.log('Ошибка при генерации заявления'); console.log(response); } }); function hideLoadingModal(hide = true) { var loadingAnim = document.getElementById('loadingAnim'); var failBlock = document.getElementById('failBlock'); if (hide) { loadingAnim.classList.add('hidden'); failBlock.classList.remove('hidden'); } else { loadingAnim.classList.remove('hidden'); failBlock.classList.add('hidden'); } } function validateField() { // если первая буква в lowerCase, то превращаем ее в upperCase if (statementField.value.length > 0 && statementField.value[0] === statementField.value[0].toLowerCase()) { statementField.value = statementField.value[0].toUpperCase() + statementField.value.slice(1); } // удаляем пробелы если их больше одного подряд statementField.value = statementField.value.replace(/\s{2,}/g, ' '); localStorage.setItem('statement', statementField.value); if (statementField.value.length > 50) { // удаляем пробелы в начале и в конце строки statementField.value = statementField.value.trim(); generateButton.classList.remove('btn-disabled'); } else generateButton.classList.add('btn-disabled'); } statementField.addEventListener('input', validateField); loadFromLocalStorage(); validateField(); }