@@ -2,9 +2,10 @@ import React, { useEffect, useState } from 'react';
22import Image from 'next/image' ;
33import Link from 'next/link' ;
44import { Button , Divider , Icon , Tag , Text , Tooltip } from 'opub-ui' ;
5- import Styles from '../../../dataset.module.scss'
5+
66import { cn , formatDate , getWebsiteTitle } from '@/lib/utils' ;
77import { Icons } from '@/components/icons' ;
8+ import Styles from '../../../dataset.module.scss' ;
89
910interface 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