fix: handle merge flow from email register endpoint

- Update registerEmail return type to include merge_required/merge_token
- Redirect to /merge/{token} when email register returns merge_required
This commit is contained in:
Fringg
2026-03-29 04:50:09 +03:00
parent 48fe9235ff
commit 0d4ddb26d9
2 changed files with 12 additions and 2 deletions

View File

@@ -78,7 +78,12 @@ export const authApi = {
registerEmail: async (
email: string,
password: string,
): Promise<{ message: string; email: string }> => {
): Promise<{
message: string;
email?: string;
merge_required?: boolean;
merge_token?: string;
}> => {
const response = await apiClient.post('/cabinet/auth/email/register', {
email,
password,

View File

@@ -148,7 +148,12 @@ export default function Profile() {
const registerEmailMutation = useMutation({
mutationFn: ({ email, password }: { email: string; password: string }) =>
authApi.registerEmail(email, password),
onSuccess: async () => {
onSuccess: async (response) => {
// Backend returns merge_required when email belongs to another user
if (response.merge_required && response.merge_token) {
navigate(`/merge/${response.merge_token}`, { replace: true });
return;
}
setSuccess(t('profile.emailSent'));
setError(null);
setEmail('');