From 3d6b13dc1c93a8cf117f89a12f064f1ce878ed24 Mon Sep 17 00:00:00 2001 From: Asis Ferrer Date: Sat, 13 Jun 2026 17:07:51 +0200 Subject: [PATCH] feat(i18n): localize inventory assets UI --- .../inventory/assets/[assetId]/edit/page.tsx | 7 +- .../assets/_components/asset.copy.ts | 6 + .../assets/_components/edit.asset.form.tsx | 32 +++--- .../assets/_components/new.asset.form.tsx | 32 +++--- .../(dashboard)/inventory/assets/new/page.tsx | 5 +- src/app/(dashboard)/inventory/assets/page.tsx | 47 ++++++-- src/i18n/dictionaries/en.ts | 50 +++++++++ src/i18n/dictionaries/es.ts | 50 +++++++++ tests/e2e/inventory-assets.spec.ts | 72 ++++++++++++ tests/unit/i18n/dictionaries.test.ts | 104 ++++++++++++++++++ 10 files changed, 367 insertions(+), 38 deletions(-) create mode 100644 src/app/(dashboard)/inventory/assets/_components/asset.copy.ts create mode 100644 tests/e2e/inventory-assets.spec.ts diff --git a/src/app/(dashboard)/inventory/assets/[assetId]/edit/page.tsx b/src/app/(dashboard)/inventory/assets/[assetId]/edit/page.tsx index 1252912..571233a 100644 --- a/src/app/(dashboard)/inventory/assets/[assetId]/edit/page.tsx +++ b/src/app/(dashboard)/inventory/assets/[assetId]/edit/page.tsx @@ -18,20 +18,23 @@ export default async function EditAssetPage({ const recipients = await RecipientService.findAll() const asset = await AssetService.findById(assetId) const { dictionary } = await getI18n() + const copy = dictionary.inventory.assets if (!asset) { - return
Asset not found
+ return
{copy.edit.notFound}
} return (
-

Edit Asset

+

{copy.edit.title}

diff --git a/src/app/(dashboard)/inventory/assets/_components/asset.copy.ts b/src/app/(dashboard)/inventory/assets/_components/asset.copy.ts new file mode 100644 index 0000000..904f771 --- /dev/null +++ b/src/app/(dashboard)/inventory/assets/_components/asset.copy.ts @@ -0,0 +1,6 @@ +import type { Dictionary } from "@/i18n/dictionaries" + +export type AssetListCopy = Dictionary["inventory"]["assets"]["list"] +export type AssetFormCopy = Dictionary["inventory"]["assets"]["form"] +export type AssetStatusCopy = Dictionary["inventory"]["assets"]["status"] +export type AssetFallbackCopy = Dictionary["inventory"]["assets"]["fallback"] diff --git a/src/app/(dashboard)/inventory/assets/_components/edit.asset.form.tsx b/src/app/(dashboard)/inventory/assets/_components/edit.asset.form.tsx index 10251cc..c2536de 100644 --- a/src/app/(dashboard)/inventory/assets/_components/edit.asset.form.tsx +++ b/src/app/(dashboard)/inventory/assets/_components/edit.asset.form.tsx @@ -21,10 +21,14 @@ import type { UpdateAssetStatus, } from "@/types" +import type { AssetFormCopy, AssetStatusCopy } from "./asset.copy" + interface EditAssetFormProps { asset: AssetWithAssignment items: Item[] recipients: Recipient[] + formCopy: AssetFormCopy + statusCopy: AssetStatusCopy submitButtonCopy: SubmitButtonCopy } @@ -32,6 +36,8 @@ export default function EditAssetForm({ asset, items, recipients, + formCopy, + statusCopy, submitButtonCopy, }: EditAssetFormProps) { const router = useRouter() @@ -83,15 +89,15 @@ export default function EditAssetForm({
-
@@ -134,17 +140,17 @@ export default function EditAssetForm({
@@ -155,14 +161,14 @@ export default function EditAssetForm({ {status === "ASSIGNED" && (
-
@@ -122,17 +128,17 @@ export default function NewAssetForm({
@@ -143,14 +149,14 @@ export default function NewAssetForm({ {status === "ASSIGNED" && (