From ea7bfc64f2bb7bdbd7fc8ffc601af67edb0fda59 Mon Sep 17 00:00:00 2001 From: "MH.Dmitrii" Date: Thu, 19 Mar 2026 02:09:25 +0300 Subject: [PATCH] fix jss 0.149 --- server/frontend/auth/login.js | 4 +- server/frontend/main/api.js | 106 ++++++++++++++++------------------ 2 files changed, 53 insertions(+), 57 deletions(-) diff --git a/server/frontend/auth/login.js b/server/frontend/auth/login.js index dcc4f23..bd6d8ba 100644 --- a/server/frontend/auth/login.js +++ b/server/frontend/auth/login.js @@ -4,7 +4,7 @@ function getToken() { function tokenCheck(){ const token = getToken(); if (token) { - window.location.href = "https://ru.homyk.space/main"; + window.location.href = "https://ru.homyk.space/main/"; } } document.getElementById('loginForm').addEventListener('submit', async function (e) { @@ -29,7 +29,7 @@ document.getElementById('loginForm').addEventListener('submit', async function ( // в sessionstorage до перезахода в браузер( sessionStorage.setItem("token", data.access_token); - window.location.href = 'https://ru.homyk.space/main'; + window.location.href = 'https://ru.homyk.space/main/'; } else { //парсинг и вывод ошибок, если есть if (Array.isArray(data.detail)) { const messages = data.detail.map(e => { diff --git a/server/frontend/main/api.js b/server/frontend/main/api.js index 665cf5d..98e9a4e 100644 --- a/server/frontend/main/api.js +++ b/server/frontend/main/api.js @@ -1,69 +1,65 @@ function getToken() { return localStorage.getItem("token") || sessionStorage.getItem("token"); } -function tokenCheck(){ + +function tokenCheck() { const token = getToken(); if (!token) { window.location.href = "https://ru.homyk.space"; } } -tokenCheck() -document.getElementById('logoutForm').addEventListener('submit', async function (e) { - e.preventDefault(); - localStorage.removeItem("token"); - sessionStorage.removeItem("token"); - tokenCheck(); -}); - document.addEventListener("DOMContentLoaded", () => { - const form = document.querySelector(".form-info"); + tokenCheck(); - form.addEventListener("submit", async (e) => { + document.getElementById('logoutForm').addEventListener('submit', function(e) { e.preventDefault(); - // try { - // собираем данные из формы - const name = document.getElementById('ffname').value || ""; - const middlename = document.getElementById('fmname').value || ""; - const surname = document.getElementById('flname').value || ""; - const text_field = document.getElementById('text_field')?.value || ""; - const food = document.querySelector('input[name="food"]:checked')?.value || ""; - const types_of_alco = Array.from(document.querySelectorAll('input[name="drink"]:checked')) - .map(el => el.value) - .join(', '); - - const guestData = { - name: name, - middlename: middlename, - surname: surname, - text_field: text_field, - activated: true, - types_of_food: food, - types_of_alco: types_of_alco - }; - console.log(guestData) - - // отправка на /api/update с Authorization - // const updateResponse = await fetch('/api/update', { - // method: 'POST', - // headers: { - // 'Content-Type': 'application/json', - // 'Authorization': `Bearer ${token}` - // }, - // body: JSON.stringify(guestData) - // }); - - // if (!updateResponse.ok) { - // throw new Error('Ошибка при отправке формы'); - // } - - // const updateData = await updateResponse.json(); - // console.log('Форма успешно отправлена:', updateData); - - // } catch (err) { - // console.error(err); - // alert('Ошибка: ' + err.message); - // } + localStorage.removeItem("token"); + sessionStorage.removeItem("token"); + tokenCheck(); }); -}); + document.querySelector(".form-info").addEventListener("submit", async (e) => { + e.preventDefault(); + + const token = getToken(); + + const guestData = { + name: document.getElementById('ffname').value || "", + middlename: document.getElementById('fmname').value || "", + surname: document.getElementById('flname').value || "", + text_field: document.getElementById('text_field')?.value || "", + activated: true, + types_of_food: document.querySelector('input[name="food"]:checked')?.value || "", + types_of_alco: Array.from(document.querySelectorAll('input[name="drink"]:checked')) + .map(el => el.value) + .join(', ') + }; + + console.log(guestData); + + try { + const response = await fetch('/api/update', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + 'Authorization': `Bearer ${token}` + }, + body: JSON.stringify(guestData) + }); + + if (!response.ok) { + const err = await response.json(); + throw new Error(JSON.stringify(err.detail || 'Ошибка при отправке')); + } + + const data = await response.json(); + console.log('Успешно:', data); + alert('Данные сохранены!'); + + } catch (err) { + console.error(err); + alert('Ошибка: ' + err.message); + } + }); +}); \ No newline at end of file