From 1d20080db8a26e4b7dd4071daac1166142592afa Mon Sep 17 00:00:00 2001 From: l3wdfut4pwr Date: Thu, 2 Apr 2026 08:36:51 +0300 Subject: minor improvements --- src/components/header/authdialog/register.ts | 39 ++++++++-------------------- 1 file changed, 11 insertions(+), 28 deletions(-) (limited to 'src/components/header/authdialog/register.ts') diff --git a/src/components/header/authdialog/register.ts b/src/components/header/authdialog/register.ts index ba8bceb..46a59f2 100644 --- a/src/components/header/authdialog/register.ts +++ b/src/components/header/authdialog/register.ts @@ -1,4 +1,3 @@ -// register.ts export const validate = ( username: string, email: string, @@ -36,20 +35,23 @@ export const validate = ( return newErrors; }; +const API_URL = process.env.NEXT_PUBLIC_API_URL; + export const registerUser = async ( username: string, email: string, password: string, ) => { try { - const res = await fetch('http://localhost:8000/api/auth/register', { + const res = await fetch(`${API_URL}/api/auth/register`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ username, email, password }), + credentials: 'include', }); - const data = await res.json(); if (!res.ok) { + const data = await res.json(); const { field, message } = data.detail || {}; return { data: null, @@ -59,35 +61,16 @@ export const registerUser = async ( }; } - const body = new URLSearchParams(); - body.append('username', username); - body.append('password', password); - - const loginRes = await fetch('http://localhost:8000/api/auth/login', { - method: 'POST', - headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, - body: body.toString(), + const meRes = await fetch(`${API_URL}/api/me`, { + credentials: 'include', }); - const loginData = await loginRes.json(); - - if (!loginRes.ok) { - return { - data: null, - error: { - general: - loginData.detail || 'Ошибка входа после регистрации', - }, - }; + if (!meRes.ok) { + throw new Error( + 'Не удалось получить данные пользователя после регистрации', + ); } - localStorage.setItem('token', loginData.access_token); - localStorage.setItem('refresh_token', loginData.refresh_token); - - const meRes = await fetch('http://localhost:8000/api/me', { - headers: { Authorization: `Bearer ${loginData.access_token}` }, - }); - const meData = await meRes.json(); return { data: meData, error: null }; -- cgit v1.3-3-g829e