Skip to content

Commit 00859f8

Browse files
committed
Add links for metadata in dataset details page
1 parent 521d6d1 commit 00859f8

File tree

1 file changed

+39
-19
lines changed
  • app/[locale]/(user)/datasets/[datasetIdentifier]/components/Metadata

1 file changed

+39
-19
lines changed

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

Lines changed: 39 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,10 @@ import React, { useEffect, useState } from 'react';
22
import Image from 'next/image';
33
import Link from 'next/link';
44
import { Button, Divider, Icon, Tag, Text, Tooltip } from 'opub-ui';
5-
import Styles from '../../../dataset.module.scss'
5+
66
import { cn, formatDate, getWebsiteTitle } from '@/lib/utils';
77
import { Icons } from '@/components/icons';
8+
import Styles from '../../../dataset.module.scss';
89

910
interface MetadataProps {
1011
data: any;
@@ -77,6 +78,19 @@ const MetadataComponent: React.FC<MetadataProps> = ({ data, setOpen }) => {
7778
: data?.organization?.logo
7879
? `${process.env.NEXT_PUBLIC_BACKEND_URL}/${data.organization.logo.url}`
7980
: '/org.png';
81+
const getPublisherURL = (data: any) => {
82+
if (!data) return '/publishers';
83+
84+
if (data.isIndividualDataset && data.user) {
85+
return `/publishers/${data.user.fullName + '_' + data.user.id}`;
86+
}
87+
88+
if (data.organization) {
89+
return `/publishers/organization/${data.organization.slug + '_' + data.organization.id}`;
90+
}
91+
92+
return '/publishers';
93+
};
8094

8195
return (
8296
<div className="flex flex-col gap-5 lg:gap-10">
@@ -102,15 +116,19 @@ const MetadataComponent: React.FC<MetadataProps> = ({ data, setOpen }) => {
102116
<Divider />
103117
<div className=" flex flex-col gap-8">
104118
<div className=" hidden rounded-2 border-1 border-solid border-greyExtralight p-2 lg:block">
105-
<Image
106-
height={140}
107-
width={100}
108-
src={image}
109-
alt={
110-
data.isIndividualDataset ? 'Publisher logo' : 'Organization logo'
111-
}
112-
className="w-full object-contain"
113-
/>
119+
<Link href={getPublisherURL(data)}>
120+
<Image
121+
height={140}
122+
width={100}
123+
src={image}
124+
alt={
125+
data.isIndividualDataset
126+
? 'Publisher logo'
127+
: 'Organization logo'
128+
}
129+
className="w-full object-contain"
130+
/>
131+
</Link>
114132
</div>
115133
<div className="flex items-center gap-2 ">
116134
<Text className="min-w-[120px] basis-1/4 uppercase" variant="bodyMd">
@@ -123,15 +141,17 @@ const MetadataComponent: React.FC<MetadataProps> = ({ data, setOpen }) => {
123141
: data.organization.name
124142
}
125143
>
126-
<Text
127-
className="line-clamp-2 "
128-
variant="bodyLg"
129-
fontWeight="medium"
130-
>
131-
{data.isIndividualDataset
132-
? data.user.fullName
133-
: data.organization.name}
134-
</Text>
144+
<Link href={getPublisherURL(data)}>
145+
<Text
146+
className="line-clamp-2 "
147+
variant="bodyLg"
148+
fontWeight="medium"
149+
>
150+
{data.isIndividualDataset
151+
? data.user.fullName
152+
: data.organization.name}
153+
</Text>
154+
</Link>
135155
</Tooltip>
136156
</div>
137157
<div className="flex gap-2 ">

0 commit comments

Comments
 (0)