document.addEventListener('DOMContentLoaded', function () {
  const form = document.getElementById('settings-form');

  // Получить текущие настройки
  fetch('/api/base/settings')
    .then(resp => resp.json())
    .then(data => {
      if (data.app_name) document.getElementById('app_name').value = data.app_name;
      if (data.web_port) document.getElementById('web_port').value = data.web_port;
      if (data.db_driver) document.getElementById('db_driver').value = data.db_driver;
      if (data.db_host) document.getElementById('db_host').value = data.db_host;
      if (data.db_name) document.getElementById('db_name').value = data.db_name;
      if (data.db_user) document.getElementById('db_user').value = data.db_user;
      if (data.db_pass) document.getElementById('db_pass').value = data.db_pass;
      if (data.log_level) document.getElementById('log_level').value = data.log_level;
    });

  form.addEventListener('submit', function (e) {
    e.preventDefault();
    const body = {
      app_name: form.app_name.value,
      web_port: form.web_port.value,
      db_driver: form.db_driver.value,
      db_host: form.db_host.value,
      db_name: form.db_name.value,
      db_user: form.db_user.value,
      db_pass: form.db_pass.value,
      log_level: form.log_level.value
    };
    fetch('/api/base/settings', {
      method: 'POST',
      headers: {'Content-Type': 'application/json'},
      body: JSON.stringify(body)
    })
    .then(resp => resp.json())
    .then(data => {
      if (data.success) {
        const resultDiv = document.getElementById('settings-save-result');
        resultDiv.classList.remove('d-none');
        resultDiv.scrollIntoView({behavior:'smooth'});
      } else {
        alert(data.message || 'Ошибка сохранения!');
      }
    })
    .catch(()=>{
      alert('Ошибка отправки запроса!');
    })
  });

  // Перезапуск приложения
  document.addEventListener('click', function(e) {
    const target = e.target;
    if (target && target.id === 'restart-app-btn') {
      fetch('/api/admin/restart', {method: 'POST'})
        .then(resp => resp.json())
        .then(data => {
          if (data.success) {
            alert('Приложение будет перезапущено. Если страница зависла — обновите вручную через 5-10 секунд.');
          } else {
            alert(data.message || 'Ошибка при перезапуске приложения!');
          }
        })
        .catch(() => {
          alert('Ошибка отправки запроса на перезапуск!');
        });
    }
  });
});
