const API_URL = process.env.NEXT_PUBLIC_API_URL; export type SetPasswordResponse = | { data: { success: true }; error: null } | { data: null; error: { general: string } }; export const setPassword = async ( newPassword: string, repeatPassword: string, ): Promise => { try { const res = await fetch(`${API_URL}/api/users/password/set`, { method: 'POST', headers: { 'Content-Type': 'application/json', }, credentials: 'include', body: JSON.stringify({ new_password: newPassword, repeat_password: repeatPassword, }), }); const data = await res.json().catch(() => null); if (!res.ok) { const detail = data?.detail; return { data: null, error: { general: typeof detail === 'string' ? detail : detail?.msg || 'Ошибка установки пароля', }, }; } return { data: { success: true }, error: null, }; } catch (err: any) { return { data: null, error: { general: err?.message || 'Network error', }, }; } };