Skip to content

Commit 51b0e8d

Browse files
authored
Merge pull request #401 from CivicDataLab/dev
Dev
2 parents e83ff9a + 7533d57 commit 51b0e8d

9 files changed

Lines changed: 26 additions & 28 deletions

File tree

app/[locale]/(user)/collaboratives/CollaborativesListingClient.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -337,7 +337,7 @@ const CollaborativesListingClient = () => {
337337
stroke: 1.2,
338338
},
339339
]}
340-
href={getCollaborativeDetailUrl(collaborative.slug)}
340+
href={`/collaboratives/${collaborative.slug}`}
341341
leftFooterChips={[
342342
{
343343
icon: collaborative.sectors?.[0]?.name

app/[locale]/(user)/collaboratives/[collaborativeSlug]/CollaborativeDetailsClient.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -323,7 +323,7 @@ const CollaborativeDetailClient = () => {
323323
});
324324

325325
const organizationPublisherHref = (org: any) => {
326-
const path = `/publishers/organization/${org.id}`;
326+
const path = `/publishers/organization/${org.slug || org.name}_${org.id}`;
327327
// Original: `/publishers/organization/${org.slug + '_' + org.id}`;
328328
// Match getPlatformEntityUrl() behavior (absolute to platform host + locale)
329329
const platformBaseUrl = (

app/[locale]/(user)/collaboratives/components/Metadata.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ const Metadata = ({ data, setOpen }: { data: any; setOpen?: any }) => {
119119
return match ? `/${match[1].toLowerCase()}` : '';
120120
};
121121
const contributorHref = (contributor: any) => {
122-
const path = `/publishers/${contributor.id}`;
122+
const path = `/publishers/${contributor.fullName}_${contributor.id}`;
123123
// Original: `/publishers/${contributor.fullName + '_' + contributor.id}`;
124124
// Match getPlatformEntityUrl() behavior (absolute to NEXT_PUBLIC_PLATFORM_URL + locale)
125125
const platformBaseUrl = (

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,11 +83,11 @@ const MetadataComponent: React.FC<MetadataProps> = ({ data, setOpen }) => {
8383
if (!data) return '/publishers';
8484

8585
if (data.isIndividualDataset && data.user) {
86-
return `/publishers/${data.user.id}`;
86+
return `/publishers/${data.user.fullName}_${data.user.id}`;
8787
}
8888

8989
if (data.organization) {
90-
return `/publishers/organization/${data.organization.id}`;
90+
return `/publishers/organization/${data.organization.slug}_${data.organization.id}`;
9191
}
9292

9393
return '/publishers';

app/[locale]/(user)/publishers/PublisherCard.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ const PublisherCard: React.FC<CardProps> = ({ data }) => {
1515
<Link
1616
href={
1717
item.__typename === 'TypeOrganization'
18-
? `/publishers/organization/${item.id}`
19-
: `/publishers/${item.id}`
18+
? `/publishers/organization/${item.slug || item.name}_${item.id}`
19+
: `/publishers/${item.fullName}_${item.id}`
2020
}
2121
key={index}
2222
className="flex flex-col gap-4 rounded-4 p-6 shadow-card"

app/[locale]/(user)/publishers/components/Datasets.tsx

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { useQuery } from '@tanstack/react-query';
44
import { Card, Icon, Spinner, Text } from 'opub-ui';
55

66
import { GraphQL } from '@/lib/api';
7-
import { cn } from '@/lib/utils';
7+
import { cn, extractPublisherId } from '@/lib/utils';
88
import { Icons } from '@/components/icons';
99
import { stripMarkdown } from '../../search/components/UnifiedListingComponent';
1010

@@ -104,28 +104,27 @@ const organizationPublishedDatasetsDoc: any = graphql(`
104104

105105
const Datasets = ({ type }: { type: 'organization' | 'Publisher' }) => {
106106
const params = useParams();
107+
const id = extractPublisherId(
108+
String(type === 'organization' ? params.organizationSlug : params.publisherSlug)
109+
);
107110

108111
const PublishedDatasetsList: any = useQuery(
109-
[
110-
type === 'organization'
111-
? `orgPublishedDatasets_${params.organizationSlug}`
112-
: `userPublishedDatasets_${params.publisherSlug}`,
113-
],
112+
['publishedDatasets', type, id],
114113
() =>
115114
type === 'organization'
116115
? GraphQL(
117116
organizationPublishedDatasetsDoc,
118117
{
119118
// Entity Headers
120119
},
121-
{ organizationId: params.organizationSlug } // ✅ exact match for expected shape
120+
{ organizationId: id } // ✅ exact match for expected shape
122121
)
123122
: GraphQL(
124123
userPublishedDatasetsDoc,
125124
{
126125
// Entity Headers
127126
},
128-
{ userId: params.publisherSlug } // ✅ exact match for expected shape
127+
{ userId: id } // ✅ exact match for expected shape
129128
)
130129
);
131130

app/[locale]/(user)/publishers/components/UseCases.tsx

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { useQuery } from '@tanstack/react-query';
55
import { Card, Icon, Spinner, Text } from 'opub-ui';
66

77
import { GraphQL } from '@/lib/api';
8-
import { cn, formatDate } from '@/lib/utils';
8+
import { cn, extractPublisherId, formatDate } from '@/lib/utils';
99
import { Icons } from '@/components/icons';
1010
import { stripMarkdown } from '../../search/components/UnifiedListingComponent';
1111

@@ -101,28 +101,27 @@ const orgPublishedUseCasesDoc: any = graphql(`
101101

102102
const UseCases = ({ type }: { type: 'organization' | 'Publisher' }) => {
103103
const params = useParams();
104+
const id = extractPublisherId(
105+
String(type === 'organization' ? params.organizationSlug : params.publisherSlug)
106+
);
104107

105108
const PublishedUseCasesList: any = useQuery(
106-
[
107-
type === 'organization'
108-
? `orgPublishedUseCases_${params.organizationSlug}`
109-
: `userPublishedUseCases_${params.publisherSlug}`,
110-
],
109+
['publishedUseCases', type, id],
111110
() =>
112111
type === 'organization'
113112
? GraphQL(
114113
orgPublishedUseCasesDoc,
115114
{
116115
// Entity Headers
117116
},
118-
{ organizationId: params.organizationSlug } // ✅ exact match for expected shape
117+
{ organizationId: id } // ✅ exact match for expected shape
119118
)
120119
: GraphQL(
121120
userPublishedUseCasesDoc,
122121
{
123122
// Entity Headers
124123
},
125-
{ userId: params.publisherSlug } // ✅ exact match for expected shape
124+
{ userId: id } // ✅ exact match for expected shape
126125
)
127126
);
128127

app/[locale]/(user)/usecases/[useCaseSlug]/UsecaseDetailsClient.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -362,7 +362,7 @@ const UseCaseDetailClient = () => {
362362
{UseCaseDetails?.useCase?.supportingOrganizations?.map(
363363
(org: any) => (
364364
<Link
365-
href={`/publishers/organization/${org.id}`}
365+
href={`/publishers/organization/${org.slug || org.name}_${org.id}`}
366366
key={org.id}
367367
>
368368
<div className=" rounded-4 bg-surfaceDefault p-4">
@@ -389,7 +389,7 @@ const UseCaseDetailClient = () => {
389389
{UseCaseDetails?.useCase?.partnerOrganizations?.map(
390390
(org: any) => (
391391
<Link
392-
href={`/publishers/organization/${org.id}`}
392+
href={`/publishers/organization/${org.slug || org.name}_${org.id}`}
393393
key={org.id}
394394
>
395395
<div className=" rounded-4 bg-surfaceDefault p-4">
@@ -423,7 +423,7 @@ const UseCaseDetailClient = () => {
423423
{UseCaseDetails?.useCase?.contributors?.map(
424424
(contributor: any) => (
425425
<Link
426-
href={`/publishers/${contributor.id}`}
426+
href={`/publishers/${contributor.fullName}_${contributor.id}`}
427427
key={contributor.id}
428428
>
429429
<Image

app/[locale]/(user)/usecases/components/Metadata.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,11 @@ const Metadata = ({ data, setOpen }: { data: any; setOpen?: any }) => {
3434
if (!data) return '/publishers';
3535

3636
if (data.useCase.isIndividualUsecase && data.useCase.user) {
37-
return `/publishers/${data.useCase.user.id}`;
37+
return `/publishers/${data.useCase.user.fullName}_${data.useCase.user.id}`;
3838
}
3939

4040
if (data.useCase.organization) {
41-
return `/publishers/organization/${data.useCase.organization.id}`;
41+
return `/publishers/organization/${data.useCase.organization.slug || data.useCase.organization.name}_${data.useCase.organization.id}`;
4242
}
4343

4444
return '/publishers';

0 commit comments

Comments
 (0)