mirror of
https://github.com/chillpadclub/bedolaga-cabinet.git
synced 2026-07-28 17:43:47 +00:00
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:
@@ -78,7 +78,12 @@ export const authApi = {
|
|||||||
registerEmail: async (
|
registerEmail: async (
|
||||||
email: string,
|
email: string,
|
||||||
password: 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', {
|
const response = await apiClient.post('/cabinet/auth/email/register', {
|
||||||
email,
|
email,
|
||||||
password,
|
password,
|
||||||
|
|||||||
@@ -148,7 +148,12 @@ export default function Profile() {
|
|||||||
const registerEmailMutation = useMutation({
|
const registerEmailMutation = useMutation({
|
||||||
mutationFn: ({ email, password }: { email: string; password: string }) =>
|
mutationFn: ({ email, password }: { email: string; password: string }) =>
|
||||||
authApi.registerEmail(email, password),
|
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'));
|
setSuccess(t('profile.emailSent'));
|
||||||
setError(null);
|
setError(null);
|
||||||
setEmail('');
|
setEmail('');
|
||||||
|
|||||||
Reference in New Issue
Block a user