feat(dependencies): add Lottie animation libraries and refactor NotFoundPage

- Added `@lottiefiles/dotlottie-react` and `lottie-react` dependencies for enhanced animation capabilities.
- Refactored the NotFoundPage component to utilize a dedicated NotFoundContent component, improving code organization and readability.
- Updated package.json and pnpm-lock.yaml to reflect new dependencies and their versions.
This commit is contained in:
AmirReza Jamali
2026-05-13 17:07:47 +03:30
parent d1bc56dc60
commit 25f8bde229
49 changed files with 3511 additions and 2197 deletions
@@ -72,6 +72,24 @@ describe("tender details - translation and summary", () => {
});
it("switches language from selector and reloads details with new lang query", () => {
cy.intercept(
"POST",
`**/api/proxy/tenders/${tenderId}/ai-translate`,
(req) => {
req.reply({
statusCode: 200,
body: {
success: true,
message: "ok",
data: {
notice_id: "NP-123",
language: String(req.body?.language ?? ""),
},
},
});
},
).as("translateOnLangChange");
cy.intercept("GET", `**/api/proxy/tenders/${tenderId}**`, (req) => {
const lang = String(req.query.lang ?? "en");
req.alias = lang === "fr" ? "getTenderDetailsFr" : "getTenderDetailsEn";
@@ -91,18 +109,19 @@ describe("tender details - translation and summary", () => {
cy.get('select[name="lang"]').select("fr");
cy.location("search").should("include", "lang=fr");
cy.wait("@translateOnLangChange");
cy.wait("@getTenderDetailsFr");
tenderTitleHeading().should("contain.text", "Titre FR");
cy.contains("Resume FR").should("be.visible");
});
it("triggers translate endpoint with selected language", () => {
it("triggers translate endpoint when language changes", () => {
cy.intercept("GET", `**/api/proxy/tenders/${tenderId}**`, {
statusCode: 200,
body: makeTenderDetailsResponse({
title: "Before translate",
description: "Before translate description",
language: "de",
language: "en",
}),
}).as("getTenderDetails");
@@ -127,9 +146,9 @@ describe("tender details - translation and summary", () => {
},
).as("translateTender");
cy.visit(`/tenders/${tenderId}?lang=de`);
cy.visit(`/tenders/${tenderId}?lang=en`);
cy.wait("@getTenderDetails");
cy.contains("button", "Translate metadata").click();
cy.get('select[name="lang"]').select("de");
cy.wait("@translateTender");
});