diff --git a/FrontendV2/package-lock.json b/FrontendV2/package-lock.json index 8e2a7ef..4f015b7 100644 --- a/FrontendV2/package-lock.json +++ b/FrontendV2/package-lock.json @@ -5224,9 +5224,9 @@ } }, "node_modules/postcss": { - "version": "8.5.6", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", - "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "version": "8.5.11", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.11.tgz", + "integrity": "sha512-5dDj8+lmvA8XB78SmzGI8NlQoksv7IfutGWeVZxiixHbO+p4LDPT3wuG/D9sM/wrjZZ9I+Siy/e117vbFPxSZg==", "funding": [ { "type": "opencollective", diff --git a/FrontendV2/src/pages/ContactPage.tsx b/FrontendV2/src/pages/ContactPage.tsx index f02f5cd..6e62c29 100644 --- a/FrontendV2/src/pages/ContactPage.tsx +++ b/FrontendV2/src/pages/ContactPage.tsx @@ -42,6 +42,12 @@ export const ContactPage = () => { text: t("contactPage_successText"), }); setMessage(""); + } else if (result.status === 503) { + setAlert({ + type: "error", + headline: t("serviceDeactivatedHeadline"), + text: t("contactPage_serviceDeactivatedText"), + }); } else { setAlert({ type: "error", diff --git a/FrontendV2/src/pages/Landingpage.tsx b/FrontendV2/src/pages/Landingpage.tsx index e68c393..3c49a04 100644 --- a/FrontendV2/src/pages/Landingpage.tsx +++ b/FrontendV2/src/pages/Landingpage.tsx @@ -79,6 +79,16 @@ const Landingpage: React.FC = () => { Authorization: `Bearer ${Cookies.get("token")}`, }, }); + if (loanRes.status === 503) { + setError( + "error", + t("serviceDeactivatedHeadline"), + t("loan_page_serviceDeactivatedText"), + ); + setIsLoading(false); + return; + } + const loanData = await loanRes.json(); if (Array.isArray(loanData)) { setLoans(loanData); diff --git a/FrontendV2/src/pages/MyLoansPage.tsx b/FrontendV2/src/pages/MyLoansPage.tsx index ef040de..5cca95d 100644 --- a/FrontendV2/src/pages/MyLoansPage.tsx +++ b/FrontendV2/src/pages/MyLoansPage.tsx @@ -52,6 +52,13 @@ export const MyLoansPage = () => { }); if (!res.ok) { + if (res.status === 503) { + setMsgStatus("error"); + setMsgTitle(t("serviceDeactivatedHeadline")); + setMsgDescription(t("loan_page_serviceDeactivatedText")); + setIsMsg(true); + return; + } setMsgStatus("error"); setMsgTitle(t("error")); setMsgDescription(t("error-fetching-loans")); diff --git a/FrontendV2/src/utils/Fetcher.ts b/FrontendV2/src/utils/Fetcher.ts index a684490..18ed01a 100644 --- a/FrontendV2/src/utils/Fetcher.ts +++ b/FrontendV2/src/utils/Fetcher.ts @@ -17,6 +17,16 @@ export const getBorrowableItems = async ( }); if (!response.ok) { + if (response.status === 503) { + return { + data: null, + status: "error", + title: "Service deactivated", + description: + "The loan service is currently deactivated. Please try again later.", + }; + } + return { data: null, status: "error", @@ -60,6 +70,16 @@ export const createLoan = async ( }); if (!response.ok) { + if (response.status === 503) { + return { + data: null, + status: "error", + title: "Service deactivated", + description: + "The loan service is currently deactivated. Please try again later.", + }; + } + return { data: null, status: "error", diff --git a/FrontendV2/src/utils/i18n/locales/en/en.json b/FrontendV2/src/utils/i18n/locales/en/en.json index 8dc1059..9cf19c5 100644 --- a/FrontendV2/src/utils/i18n/locales/en/en.json +++ b/FrontendV2/src/utils/i18n/locales/en/en.json @@ -94,5 +94,8 @@ "naas-error": "Error with no-as-a-service", "naas-error-desc": "An error occurred while communicating with no-as-a-service.", "naas-header": "A good way to say no...", - "error-deleting-loan-507": "The loan cannot be deleted because it has not been returned yet." + "error-deleting-loan-507": "The loan cannot be deleted because it has not been returned yet.", + "serviceDeactivatedHeadline": "Service deactivated", + "contactPage_serviceDeactivatedText": "The contact service is currently deactivated. Please try again later.", + "loan_page_serviceDeactivatedText": "The loan service is currently deactivated. Please try again later." } \ No newline at end of file