From 50164dc62921853c4535ac2807baae8a02a6af26 Mon Sep 17 00:00:00 2001 From: Hayden <64056131+hay-kot@users.noreply.github.com> Date: Wed, 22 Mar 2023 12:05:26 -0800 Subject: [PATCH] filter details for zero values --- frontend/components/Base/Card.vue | 46 +++++++++++++++---- .../components/global/DetailsSection/types.ts | 15 ++++++ frontend/pages/item/[id]/index.vue | 45 ++++++++++++++---- 3 files changed, 86 insertions(+), 20 deletions(-) diff --git a/frontend/components/Base/Card.vue b/frontend/components/Base/Card.vue index 464066f..8926c29 100644 --- a/frontend/components/Base/Card.vue +++ b/frontend/components/Base/Card.vue @@ -1,16 +1,42 @@ + + diff --git a/frontend/components/global/DetailsSection/types.ts b/frontend/components/global/DetailsSection/types.ts index 92c6f90..a7086d0 100644 --- a/frontend/components/global/DetailsSection/types.ts +++ b/frontend/components/global/DetailsSection/types.ts @@ -36,3 +36,18 @@ export type Detail = BaseDetail & { export type AnyDetail = DateDetail | CurrencyDetail | LinkDetail | MarkdownDetail | Detail; export type Details = Array; + +export function filterZeroValues(details: Details): Details { + return details.filter(detail => { + switch (detail.type) { + case "date": + return validDate(detail.text); + case "currency": + return !!detail.text; + case "link": + return !!detail.text && !!detail.href; + default: + return detail.text !== null && detail.text !== "" && detail.text !== undefined; + } + }); +} diff --git a/frontend/pages/item/[id]/index.vue b/frontend/pages/item/[id]/index.vue index 5794a77..e9fb281 100644 --- a/frontend/pages/item/[id]/index.vue +++ b/frontend/pages/item/[id]/index.vue @@ -1,5 +1,5 @@