diff --git a/app/[locale]/(user)/collaboratives/[collaborativeSlug]/CollaborativeDetailsClient.tsx b/app/[locale]/(user)/collaboratives/[collaborativeSlug]/CollaborativeDetailsClient.tsx
index 6e1665de..3fffddd6 100644
--- a/app/[locale]/(user)/collaboratives/[collaborativeSlug]/CollaborativeDetailsClient.tsx
+++ b/app/[locale]/(user)/collaboratives/[collaborativeSlug]/CollaborativeDetailsClient.tsx
@@ -15,7 +15,10 @@ import { useQuery } from '@tanstack/react-query';
import { Card, Text } from 'opub-ui';
import { GraphQLPublic } from '@/lib/api';
-import { isCollaborativeSubdomainHost as isCollaborativeSubdomainHostname } from '@/lib/collaborativesRouting';
+import {
+ getPlatformRootUrl,
+ isCollaborativeSubdomainHost as isCollaborativeSubdomainHostname,
+} from '@/lib/collaborativesRouting';
import { formatDate, generateJsonLd } from '@/lib/utils';
import BreadCrumbs from '@/components/BreadCrumbs';
import { Icons } from '@/components/icons';
@@ -322,6 +325,12 @@ const CollaborativeDetailClient = () => {
},
});
+ const platformRootUrl = getPlatformRootUrl();
+ const organizationPublisherHref = (org: any) => {
+ const path = `/publishers/organization/${org.slug + '_' + org.id}`;
+ return platformRootUrl === '/' ? path : `${platformRootUrl}${path}`;
+ };
+
return (
<>
@@ -393,7 +402,7 @@ const CollaborativeDetailClient = () => {
{CollaborativeDetailsData?.collaborativeBySlug?.supportingOrganizations?.map(
(org: any) => (
@@ -420,7 +429,7 @@ const CollaborativeDetailClient = () => {
{CollaborativeDetailsData?.collaborativeBySlug?.partnerOrganizations?.map(
(org: any) => (
diff --git a/app/[locale]/(user)/collaboratives/components/Metadata.tsx b/app/[locale]/(user)/collaboratives/components/Metadata.tsx
index f1849d9d..b03c320e 100644
--- a/app/[locale]/(user)/collaboratives/components/Metadata.tsx
+++ b/app/[locale]/(user)/collaboratives/components/Metadata.tsx
@@ -1,10 +1,11 @@
+import { useEffect, useState } from 'react';
import Image from 'next/image';
import Link from 'next/link';
import { Button, Icon, Text, Tooltip } from 'opub-ui';
-import { useEffect, useState } from 'react';
-import { Icons } from '@/components/icons';
+import { getPlatformRootUrl } from '@/lib/collaborativesRouting';
import { formatDate, getWebsiteTitle } from '@/lib/utils';
+import { Icons } from '@/components/icons';
const Metadata = ({ data, setOpen }: { data: any; setOpen?: any }) => {
const [platformTitle, setPlatformTitle] = useState
(null);
@@ -41,12 +42,16 @@ const Metadata = ({ data, setOpen }: { data: any; setOpen?: any }) => {
className="text-primaryBlue underline lg:text-white"
href={data.collaborativeBySlug.platformUrl}
>
-
+
{platformTitle?.trim() ? platformTitle : 'Visit Platform'}
),
- tooltipContent: data.collaborativeBySlug.platformUrl === null ? 'N/A' : platformTitle,
+ tooltipContent:
+ data.collaborativeBySlug.platformUrl === null ? 'N/A' : platformTitle,
},
{
label: 'Last Updated',
@@ -58,17 +63,19 @@ const Metadata = ({ data, setOpen }: { data: any; setOpen?: any }) => {
value: (
{data.collaborativeBySlug.sectors.length > 0 ? (
- data.collaborativeBySlug.sectors.map((sector: any, index: number) => (
-
-
-
- ))
+ data.collaborativeBySlug.sectors.map(
+ (sector: any, index: number) => (
+
+
+
+ )
+ )
) : (
N/A // Fallback if no sectors are available
)}
@@ -79,7 +86,8 @@ const Metadata = ({ data, setOpen }: { data: any; setOpen?: any }) => {
label: 'SDG Goals',
value: (
- {data.collaborativeBySlug.sdgs && data.collaborativeBySlug.sdgs.length > 0 ? (
+ {data.collaborativeBySlug.sdgs &&
+ data.collaborativeBySlug.sdgs.length > 0 ? (
data.collaborativeBySlug.sdgs.map((sdg: any, index: number) => (
{
),
},
];
-
+
// Use collaborative logo if available, otherwise use a default
const image = data.collaborativeBySlug?.logo?.path
? `${process.env.NEXT_PUBLIC_BACKEND_URL}/${data.collaborativeBySlug.logo.path.replace('/code/files/', '')}`
: '/org.png';
+ const platformRootUrl = getPlatformRootUrl();
+ const contributorHref = (contributor: any) => {
+ const path = `/publishers/${contributor.fullName + '_' + contributor.id}`;
+ return platformRootUrl === '/' ? path : `${platformRootUrl}${path}`;
+ };
+
return (
@@ -115,7 +129,9 @@ const Metadata = ({ data, setOpen }: { data: any; setOpen?: any }) => {
>
ABOUT THE COLLABORATIVE{' '}
- DETAILS
+
+ DETAILS
+
{setOpen && (
@@ -125,7 +141,7 @@ const Metadata = ({ data, setOpen }: { data: any; setOpen?: any }) => {
)}
-
+
{
{metadata.map((item, index) => (
{item.label}
@@ -157,38 +173,41 @@ const Metadata = ({ data, setOpen }: { data: any; setOpen?: any }) => {
))}
{/* Contributors Section */}
- {data.collaborativeBySlug.contributors && data.collaborativeBySlug.contributors.length > 0 && (
-
-
- Contributors
-
-
- {data.collaborativeBySlug.contributors.map((contributor: any) => (
-
-
-
-
-
- ))}
+ {data.collaborativeBySlug.contributors &&
+ data.collaborativeBySlug.contributors.length > 0 && (
+
+
+ Contributors
+
+
+ {data.collaborativeBySlug.contributors.map(
+ (contributor: any) => (
+
+
+
+
+
+ )
+ )}
+
-
- )}
+ )}