diff --git a/src/components/app/profile/personal-detail.tsx b/src/components/app/profile/personal-detail.tsx index 1adfee6..d00ec80 100644 --- a/src/components/app/profile/personal-detail.tsx +++ b/src/components/app/profile/personal-detail.tsx @@ -331,14 +331,14 @@ export function PersonalDdetail() {
{t('ID Photo Front')}
- { user.candidate_civil_photo_back && }
{t('ID Photo Back')}
- { user.candidate_civil_photo_front && }
@@ -348,4 +348,4 @@ export function PersonalDdetail() { ); -} \ No newline at end of file +} diff --git a/src/pages/(auth)/civil-id/page.tsx b/src/pages/(auth)/civil-id/page.tsx index 81a02fe..18de3ee 100644 --- a/src/pages/(auth)/civil-id/page.tsx +++ b/src/pages/(auth)/civil-id/page.tsx @@ -182,7 +182,15 @@ export default function CivilIdPage() { setRemovingFrontId(true); - removeCivilPhotoFront().then(() => { + removeCivilPhotoFront().then((res: any) => { + if (res?.operation && res.operation !== 'success') { + alertDialog({ + title: t("Error"), + description: errorMessage(res.message), + }); + return; + } + form.setValue('candidate_civil_photo_front', ''); form.trigger('candidate_civil_photo_front'); form.setValue('candidate_civil_photo_front_url', ''); @@ -193,16 +201,29 @@ export default function CivilIdPage() { candidate_civil_photo_front: null } })); + }).catch(() => { + alertDialog({ + title: t("Error"), + description: errorMessage(t("Civil ID photo could not be removed. Please try again.")), + }); }).finally(() => { setRemovingFrontId(false); }); } function resetBackId() { - + setRemovingBackId(true); - removeCivilPhotoBack().then(() => { + removeCivilPhotoBack().then((res: any) => { + if (res?.operation && res.operation !== 'success') { + alertDialog({ + title: t("Error"), + description: errorMessage(res.message), + }); + return; + } + form.setValue('candidate_civil_photo_back', ''); form.trigger('candidate_civil_photo_back'); form.setValue('candidate_civil_photo_back_url', ''); @@ -213,6 +234,11 @@ export default function CivilIdPage() { candidate_civil_photo_back: null } })); + }).catch(() => { + alertDialog({ + title: t("Error"), + description: errorMessage(t("Civil ID photo could not be removed. Please try again.")), + }); }).finally(() => { setRemovingBackId(false); }); @@ -277,6 +303,13 @@ export default function CivilIdPage() { text-[40px] font-bold leading-[56px] mt-[102px] mb-[38px]"> {t('Civil ID Information')} + { query.get('fromProfile') && ( +
+ +
+ ) } { /**block-inline max-w-[313px] xs:max-w-full xs:w-full */}
diff --git a/src/providers/AxiosService.ts b/src/providers/AxiosService.ts index 38aa7bd..be70539 100644 --- a/src/providers/AxiosService.ts +++ b/src/providers/AxiosService.ts @@ -48,26 +48,29 @@ export async function handleAxiosError(err: any) { console.log("axios error:", err); const response = err.response; + const localErrorHandler = Boolean(err.config?.localErrorHandler); //const errMsg = response.status ? `${response.status} - ${response.statusText}` : 'Server error'; if (!response) { - internetOffline$.next({}); + if (!localErrorHandler) { + internetOffline$.next({}); + } return Promise.reject(err); } // Handle Bad Requests - if (response.status === 400) { + if (response.status === 400 && !localErrorHandler) { error404$.next({}); // Router.push('/404'); } // Handle No Internet Connection Error - if (response.status == 0 || response.status == 504) { + if ((response.status == 0 || response.status == 504) && !localErrorHandler) { internetOffline$.next({}); // Router.push('/no-internet'); } - if(!navigator.onLine) { + if(!navigator.onLine && !localErrorHandler) { internetOffline$.next({}); // Router.push('/no-internet'); } @@ -81,14 +84,14 @@ export async function handleAxiosError(err: any) { } // Handle internal server error - 500 - if (response.status === 500) { + if (response.status === 500 && !localErrorHandler) { console.error(JSON.stringify(response)); error500$.next({}); // Router.push('/500'); } // Handle page not found - 404 error - if (response.status === 404) { + if (response.status === 404 && !localErrorHandler) { error404$.next({}); // Router.push('/404'); } diff --git a/src/providers/logged-in/account.service.ts b/src/providers/logged-in/account.service.ts index e30cd4b..0412b34 100644 --- a/src/providers/logged-in/account.service.ts +++ b/src/providers/logged-in/account.service.ts @@ -80,7 +80,7 @@ export async function updateSkills(params: any): Promise { */ export async function removeCivilPhotoFront(): Promise { const url = `${_accountEndpoint}` + '/remove-civil-photo-front'; - const response = await axios.delete(url); + const response = await axios.delete(url, { localErrorHandler: true } as any); return response.data; } @@ -89,7 +89,7 @@ export async function removeCivilPhotoFront(): Promise { */ export async function removeCivilPhotoBack(): Promise { const url = `${_accountEndpoint}` + '/remove-civil-photo-back'; - const response = await axios.delete(url); + const response = await axios.delete(url, { localErrorHandler: true } as any); return response.data; } @@ -605,4 +605,4 @@ export function getNextRouteToCompleteProfile(user: Candidate | null) { } /*else { return 'profile'; }*/ -} \ No newline at end of file +}