Skip to content

Commit 651c75b

Browse files
Merge pull request #201 from CivicDataLab/200-add-viz-icon-in-dataset-card
200 add viz icon in dataset card
2 parents ba78412 + f736a62 commit 651c75b

File tree

2 files changed

+31
-24
lines changed

2 files changed

+31
-24
lines changed

app/[locale]/(user)/datasets/components/Card/index.tsx

Lines changed: 29 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
import { useEffect, useRef, useState } from 'react';
22
import Link from 'next/link';
3-
import { Button, Tag, Text, Tooltip } from 'opub-ui';
3+
import { Button, Icon, Tag, Text, Tooltip } from 'opub-ui';
44

55
import { formatDateString } from '@/lib/utils';
6+
import { Icons } from '@/components/icons';
67

78
interface MetadataItem {
89
label: string;
@@ -19,6 +20,7 @@ interface Dataset {
1920
tags: string[];
2021
categories: string[];
2122
formats: string[];
23+
has_charts: boolean,
2224
title: string;
2325
description: string;
2426
created: string; // ISO 8601 date string
@@ -27,8 +29,6 @@ interface Dataset {
2729
}
2830

2931
const Cards = ({ data }: { data: Dataset }) => {
30-
31-
3232
function getMetadataValue(data: Dataset, label: string): string | null {
3333
const metadataEntry = data.metadata.find(
3434
(entry) => entry.metadata_item.label === label
@@ -109,7 +109,6 @@ const Cards = ({ data }: { data: Dataset }) => {
109109
{getMetadataValue(data, 'Update Frequency') || 'NA'}
110110
</Text>
111111
</div>
112-
113112
</span>
114113
</div>
115114

@@ -147,29 +146,35 @@ const Cards = ({ data }: { data: Dataset }) => {
147146
</div>
148147
</div>
149148
</div>
150-
<div className="mt-2 flex flex-wrap gap-3 lg:gap-6">
151-
{data.formats?.length > 0 && (
152-
<span className="flex items-center gap-4 py-1 pr-2 lg:w-2/5">
153-
{data.formats.map((fileType, index) => (
154-
155-
<Tag key={index} background-color="#E1F0FF">
156-
{fileType}
157-
</Tag>
158-
))}
159-
</span>
160-
)}
149+
<div className="mt-2 flex flex-wrap gap-3 lg:gap-6">
150+
<div className="flex items-center gap-1 align-middle lg:w-2/5">
151+
{data.formats?.length > 0 && (
152+
<span className="flex items-center gap-4 py-1 pr-2 ">
153+
{data.formats.map((fileType, index) => (
154+
<Tag key={index} background-color="#E1F0FF">
155+
{fileType}
156+
</Tag>
157+
))}
158+
</span>
159+
)}
160+
161+
{data.has_charts && <Icon source={Icons.chart} size={20} />}
162+
</div>
161163

162164
{data?.categories.length > 0 && (
163-
<span className="flex gap-2 flex-wrap py-1 pr-2">
165+
<span className="flex flex-wrap gap-2 py-1 pr-2">
164166
{data?.categories.map((category, index) => (
165-
<div
166-
key={index}
167-
className="rounded-1 px-2 py-1 text-75 border-1"
168-
style={{ borderColor: '#95E79E', borderWidth: '2px', borderStyle: 'solid' }}
169-
>
170-
{category}
171-
</div>
172-
167+
<div
168+
key={index}
169+
className="rounded-1 border-1 px-2 py-1 text-75"
170+
style={{
171+
borderColor: '#95E79E',
172+
borderWidth: '2px',
173+
borderStyle: 'solid',
174+
}}
175+
>
176+
{category}
177+
</div>
173178
))}
174179
</span>
175180
)}

components/icons.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ import {
4040
IconUserCog,
4141
IconUsers,
4242
IconX,
43+
IconChartBar
4344
// TablerIconsProps,
4445
} from '@tabler/icons-react';
4546

@@ -88,4 +89,5 @@ export const Icons: {
8889
userSettings: IconUserCog,
8990
arrowDiagonal: IconArrowsDiagonal,
9091
verticalDots: IconDotsVertical,
92+
chart:IconChartBar
9193
};

0 commit comments

Comments
 (0)