diff --git a/frontend/components/global/CopyText.vue b/frontend/components/global/CopyText.vue index 88939fc..953f098 100644 --- a/frontend/components/global/CopyText.vue +++ b/frontend/components/global/CopyText.vue @@ -1,13 +1,27 @@ @@ -18,6 +32,10 @@ type: String as () => string, default: "", }, + iconSize: { + type: Number as () => number, + default: 20, + }, }); const copied = ref(false); diff --git a/frontend/components/global/DetailsSection/DetailsSection.vue b/frontend/components/global/DetailsSection/DetailsSection.vue index 40b6cd1..1fae490 100644 --- a/frontend/components/global/DetailsSection/DetailsSection.vue +++ b/frontend/components/global/DetailsSection/DetailsSection.vue @@ -1,11 +1,11 @@ diff --git a/frontend/components/global/DetailsSection/types.ts b/frontend/components/global/DetailsSection/types.ts index 14164ad..a0c9266 100644 --- a/frontend/components/global/DetailsSection/types.ts +++ b/frontend/components/global/DetailsSection/types.ts @@ -29,6 +29,7 @@ type MarkdownDetail = BaseDetail & { export type Detail = BaseDetail & { text: StringLike; type?: "text"; + copyable?: boolean; }; export type AnyDetail = DateDetail | CurrencyDetail | LinkDetail | MarkdownDetail | Detail; diff --git a/frontend/pages/item/[id]/index.vue b/frontend/pages/item/[id]/index.vue index eb94e45..4277031 100644 --- a/frontend/pages/item/[id]/index.vue +++ b/frontend/pages/item/[id]/index.vue @@ -55,6 +55,7 @@ item.value?.attachments.reduce((acc, cur) => { if (cur.type === "photo") { acc.push({ + // @ts-expect-error - it's impossible for this to be null at this point src: api.authURL(`/items/${item.value.id}/attachments/${cur.id}`), }); } @@ -99,6 +100,10 @@ }); const assetID = computed
(() => { + if (!item.value) { + return []; + } + if (item.value?.assetId === "000-000") { return []; } @@ -112,6 +117,10 @@ }); const itemDetails = computed
(() => { + if (!item.value) { + return []; + } + return [ { name: "Description", @@ -125,14 +134,17 @@ { name: "Serial Number", text: item.value?.serialNumber, + copyable: true, }, { name: "Model Number", text: item.value?.modelNumber, + copyable: true, }, { name: "Manufacturer", text: item.value?.manufacturer, + copyable: true, }, { name: "Insured", @@ -384,6 +396,7 @@ {{ item ? item.name : "" }} +