summaryrefslogtreecommitdiff
path: root/src/components/header/authdialog/register.ts
diff options
context:
space:
mode:
authorl3wdfut4pwr <l3wdfut4pwr@gmail.com>2026-04-27 13:45:25 +0300
committerl3wdfut4pwr <l3wdfut4pwr@gmail.com>2026-04-27 13:45:25 +0300
commitab330c64eeed9edfc2a6ef6a6f5cd38587ba0996 (patch)
tree9ca46c6552e427a9461387dc63362be0f9301acb /src/components/header/authdialog/register.ts
parentc7d2526afec5ffb8918c20d7c1c58852f1c647bd (diff)
add username change and logout
Diffstat (limited to 'src/components/header/authdialog/register.ts')
-rw-r--r--src/components/header/authdialog/register.ts29
1 files changed, 19 insertions, 10 deletions
diff --git a/src/components/header/authdialog/register.ts b/src/components/header/authdialog/register.ts
index 3098df7..031fa69 100644
--- a/src/components/header/authdialog/register.ts
+++ b/src/components/header/authdialog/register.ts
@@ -52,29 +52,38 @@ export const registerUser = async (
credentials: 'include',
});
- if (!res.ok) {
- const errorData = await res.json();
+ let data: any = null;
+
+ try {
+ data = await res.json();
+ } catch {
+ data = null;
+ }
- const { field, message } = errorData.detail || {};
+ if (!res.ok) {
+ const detail = data?.detail;
return {
data: null,
- error: field
- ? { [field]: message }
- : { general: 'Ошибка регистрации' },
+ error: detail?.field
+ ? { [detail.field]: detail.message }
+ : { general: detail?.message || 'Ошибка регистрации' },
};
}
- const user = await res.json();
-
return {
- data: user,
+ data,
error: null,
};
} catch (err: any) {
return {
data: null,
- error: { general: err.message },
+ error: {
+ general:
+ err?.message === 'Failed to fetch'
+ ? 'Нет соединения с сервером'
+ : err?.message || 'Network error',
+ },
};
}
};