Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -66,8 +66,11 @@ export default function Metadata({ data }: MetadataProps) {
};

// Get primary version info
const primaryVersion = data.versions?.find((v: any) => v.isLatest) || data.versions?.[0];
const primaryProvider = primaryVersion?.providers?.find((p: any) => p.isPrimary) || primaryVersion?.providers?.[0];
const primaryVersion =
data.versions?.find((v: any) => v.isLatest) || data.versions?.[0];
const primaryProvider =
primaryVersion?.providers?.find((p: any) => p.isPrimary) ||
primaryVersion?.providers?.[0];

const providerLabels: Record<string, string> = {
OPENAI: 'OpenAI',
Expand Down Expand Up @@ -151,7 +154,10 @@ export default function Metadata({ data }: MetadataProps) {
{/* Domain */}
{data.domain && (
<div className="flex items-center gap-2">
<Text className="min-w-[120px] basis-1/4 uppercase" variant="bodyMd">
<Text
className="min-w-[120px] basis-1/4 uppercase"
variant="bodyMd"
>
Domain
</Text>
<Text variant="bodyLg" fontWeight="medium">
Expand All @@ -163,31 +169,46 @@ export default function Metadata({ data }: MetadataProps) {
{/* Source/Provider */}
{primaryProvider && (
<div className="flex items-center gap-2">
<Text className="min-w-[120px] basis-1/4 uppercase" variant="bodyMd">
<Text
className="min-w-[120px] basis-1/4 uppercase"
variant="bodyMd"
>
Source
</Text>
<Text variant="bodyLg" fontWeight="medium" className="text-primaryBlue">
{providerLabels[primaryProvider.provider] || primaryProvider.provider}
<Text
variant="bodyLg"
fontWeight="medium"
className="text-primaryBlue"
>
{providerLabels[primaryProvider.provider] ||
primaryProvider.provider}
</Text>
</div>
)}

{/* License */}
{data.metadata?.usageLicense && (
<div className="flex gap-2">
<Text className="min-w-[120px] basis-1/4 uppercase" variant="bodyMd">
<Text
className="min-w-[120px] basis-1/4 uppercase"
variant="bodyMd"
>
License
</Text>
<Text variant="bodyLg" fontWeight="medium">
{licenseLabels[data.metadata.usageLicense] || data.metadata.usageLicense}
{licenseLabels[data.metadata.usageLicense] ||
data.metadata.usageLicense}
</Text>
</div>
)}

{/* Sectors */}
{data.sectors && data.sectors.length > 0 && (
<div className="flex gap-2">
<Text className="min-w-[120px] basis-1/4 uppercase" variant="bodyMd">
<Text
className="min-w-[120px] basis-1/4 uppercase"
variant="bodyMd"
>
Sector
</Text>
<div className="flex flex-wrap gap-2">
Expand All @@ -209,7 +230,10 @@ export default function Metadata({ data }: MetadataProps) {
{/* Geographies */}
{data.geographies && data.geographies.length > 0 && (
<div className="flex items-center gap-2">
<Text className="min-w-[120px] basis-1/4 uppercase" variant="bodyMd">
<Text
className="min-w-[120px] basis-1/4 uppercase"
variant="bodyMd"
>
Geography
</Text>
<div className="flex flex-wrap gap-2">
Expand All @@ -226,7 +250,6 @@ export default function Metadata({ data }: MetadataProps) {
</div>
</div>
)}

</div>
</div>
);
Expand Down
28 changes: 2 additions & 26 deletions app/[locale]/(user)/collaboratives/CollaborativesListingClient.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,31 +14,7 @@ import { Icons } from '@/components/icons';
import JsonLd from '@/components/JsonLd';
import { Loading } from '@/components/loading';
import Styles from '../datasets/dataset.module.scss';

// Helper function to strip markdown and HTML tags for card preview
const stripMarkdown = (markdown: string): string => {
if (!markdown) return '';
return markdown
.replace(/```[\s\S]*?```/g, '')
.replace(/`([^`]+)`/g, '$1')
.replace(/!\[([^\]]*)\]\([^)]+\)/g, '$1')
.replace(/\[([^\]]+)\]\([^)]+\)/g, '$1')
.replace(/^#{1,6}\s+/gm, '')
.replace(/\*\*([^*]+)\*\*/g, '$1')
.replace(/__([^_]+)__/g, '$1')
.replace(/\*([^*]+)\*/g, '$1')
.replace(/_([^_]+)_/g, '$1')
.replace(/~~([^~]+)~~/g, '$1')
.replace(/^\s*>\s+/gm, '')
.replace(/^(-{3,}|_{3,}|\*{3,})$/gm, '')
.replace(/^\s*[-*+]\s+/gm, '')
.replace(/^\s*\d+\.\s+/gm, '')
.replace(/<[^>]*>/g, '')
.replace(/\n\s*\n/g, '\n')
.replace(/\n/g, ' ')
.replace(/\s+/g, ' ')
.trim();
};
import { stripMarkdown } from '../search/components/UnifiedListingComponent';

const PublishedCollaboratives = graphql(`
query PublishedCollaboratives {
Expand Down Expand Up @@ -367,7 +343,7 @@ const CollaborativesListingClient = () => {
label: 'Published by',
},
]}
description={stripMarkdown(collaborative.summary || '')}
description={`rest ${stripMarkdown(collaborative.summary || '')}`}
/>
)
)}
Expand Down
5 changes: 3 additions & 2 deletions app/[locale]/(user)/components/Datasets.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ import {
import { cn } from '@/lib/utils';
import { Icons } from '@/components/icons';
import { DatasetListingSkeleton } from '@/components/loading';
import { stripMarkdown } from '../search/components/UnifiedListingComponent';
import Styles from './datasets.module.scss';

interface Bucket {
Expand Down Expand Up @@ -65,7 +66,7 @@ const Datasets = () => {
<div>
<Button
kind="tertiary"
className="bg-transparent border-none shadow-none text-primaryText px-0 hover:underline"
className="shadow-none border-none bg-transparent px-0 text-primaryText hover:underline"
onClick={() => {
router.push('/datasets');
}}
Expand Down Expand Up @@ -98,7 +99,7 @@ const Datasets = () => {
{' '}
<Card
title={item.title}
description={item.description}
description={stripMarkdown(item.description)}
metadataContent={[
{
icon: Icons.calendar as any,
Expand Down
5 changes: 3 additions & 2 deletions app/[locale]/(user)/components/UseCases.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ import { GraphQL } from '@/lib/api';
import { cn, formatDate } from '@/lib/utils';
import { Icons } from '@/components/icons';
import { UseCaseListingSkeleton } from '@/components/loading';
import { stripMarkdown } from '../search/components/UnifiedListingComponent';
import Styles from './datasets.module.scss';

const useCasesListDoc: any = graphql(`
Expand Down Expand Up @@ -110,7 +111,7 @@ const UseCasesListingPage = () => {
<div>
<Button
kind="tertiary"
className="bg-transparent border-none shadow-none text-primaryText px-0 hover:underline"
className="shadow-none border-none bg-transparent px-0 text-primaryText hover:underline"
onClick={() => {
router.push('/usecases');
}}
Expand Down Expand Up @@ -181,7 +182,7 @@ const UseCasesListingPage = () => {
},
]}
imageUrl={`${process.env.NEXT_PUBLIC_BACKEND_URL}/${item.logo?.path.replace('/code/files/', '')}`}
description={item.summary}
description={stripMarkdown(item.summary)}
iconColor="metadata"
variation={'collapsed'}
type={[
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ import {
} from 'opub-ui';
import { useEffect, useState } from 'react';

import RichTextEditor from '@/components/RichTextEditor/RichTextEditor';
import { GraphQL } from '@/lib/api';
import RichTextEditor from '@/components/RichTextEditor/RichTextEditor';
import { useEditStatus } from '../../context';

const tagsListQueryDoc: any = graphql(`
Expand Down Expand Up @@ -170,7 +170,12 @@ export default function AIModelDetailsPage() {
)
);

const AIModelData: { data: any; isLoading: boolean; refetch: any; error: any } = useQuery(
const AIModelData: {
data: any;
isLoading: boolean;
refetch: any;
error: any;
} = useQuery(
[`fetch_AIModelDetails_${params.id}`],
() =>
GraphQL(
Expand Down Expand Up @@ -266,8 +271,10 @@ export default function AIModelDetailsPage() {
})) || [],
modelWebsite: metadata.modelWebsite || '',
geographies:
model.geographies?.map((g: any) => ({ label: g.name, value: g.id })) ||
[],
model.geographies?.map((g: any) => ({
label: g.name,
value: g.id,
})) || [],
usageLicense: metadata.usageLicense || '',
accessType: model.isPublic ? 'open' : 'restricted',
});
Expand Down Expand Up @@ -319,7 +326,9 @@ export default function AIModelDetailsPage() {
domain: dataToUse.domain || null,
tags: dataToUse.tags.map((item: any) => item.label),
sectors: dataToUse.sectors.map((item: any) => item.label),
geographies: dataToUse.geographies.map((item: any) => parseInt(item.value, 10)),
geographies: dataToUse.geographies.map((item: any) =>
parseInt(item.value, 10)
),
supportedLanguages: dataToUse.supportedLanguages.map(
(item: any) => item.value
),
Expand Down Expand Up @@ -425,6 +434,7 @@ export default function AIModelDetailsPage() {
<Select
name="modelType"
label="Model Type"
requiredIndicator={true}
options={modelTypeOptions}
value={formData.modelType}
onChange={(value) => {
Expand Down Expand Up @@ -467,6 +477,7 @@ export default function AIModelDetailsPage() {
onBlur={() => handleSave()}
multiline={3}
required
requiredIndicator={true}
/>
<TextField
name="intendedUse"
Expand All @@ -476,6 +487,7 @@ export default function AIModelDetailsPage() {
onBlur={() => handleSave()}
multiline={3}
required
requiredIndicator={true}
/>
</FormLayout.Group>
</FormLayout>
Expand All @@ -498,6 +510,7 @@ export default function AIModelDetailsPage() {
handleSave({ ...formData, sectors: value });
}}
required
requiredIndicator={true}
/>

{/* Tags */}
Expand Down Expand Up @@ -534,6 +547,7 @@ export default function AIModelDetailsPage() {
handleSave({ ...formData, maxTokens: value });
}}
required
requiredIndicator={true}
/>
<Combobox
displaySelected
Expand All @@ -547,6 +561,7 @@ export default function AIModelDetailsPage() {
handleSave({ ...formData, supportedLanguages: value });
}}
required
requiredIndicator={true}
/>
</FormLayout.Group>
</FormLayout>
Expand All @@ -562,6 +577,7 @@ export default function AIModelDetailsPage() {
onBlur={handleWebsiteBlur}
placeholder="www.model.com"
required
requiredIndicator={true}
/>
<Combobox
displaySelected
Expand Down
Loading