@@ -2,16 +2,19 @@ import { useTranslations } from 'next-intl'
22import React from 'react'
33import { DeprecatedBadge } from '@/components/controls/DeprecatedBadge'
44import { VerifiedBadge } from '@/components/controls/VerifiedBadge'
5+ import { ManifestEditLink } from '@/components/product/ManifestEditLink'
56import { Link } from '@/i18n/navigation'
67import { renderLicense } from '@/lib/license'
8+ import type { ManifestCategory } from '@/lib/manifest-source'
79
810export interface ProductHeroProps {
911 // Product identity
1012 name : string
1113 description : React . ReactNode
1214 vendor ?: string
1315 vendorHref ?: string
14- category : 'CLI' | 'IDE' | 'DESKTOP' | 'EXTENSION' | 'PROVIDER' | 'MODEL' | 'VENDOR'
16+ category : ManifestCategory
17+ manifestId : string
1518 categoryLabel ?: string // Optional custom label for the badge
1619 verified ?: boolean // Whether the product is verified
1720 deprecated ?: boolean // Whether the entity has been superseded or is no longer recommended
@@ -63,6 +66,7 @@ export function ProductHero({
6366 vendor,
6467 vendorHref,
6568 category,
69+ manifestId,
6670 categoryLabel,
6771 verified = false ,
6872 deprecated = false ,
@@ -103,6 +107,7 @@ export function ProductHero({
103107 < h1 className = "text-5xl font-semibold tracking-[-0.04em] detail-page-h1" > { name } </ h1 >
104108 { verified && < VerifiedBadge size = "lg" /> }
105109 { deprecated && < DeprecatedBadge size = "lg" /> }
110+ < ManifestEditLink category = { category } manifestId = { manifestId } />
106111 </ div >
107112 < div className = "absolute bottom-0 right-0 translate-x-[calc(100%+1rem)]" >
108113 < div className = "px-[var(--spacing-xs)] py-[2px] text-xs text-[var(--color-text-muted)] border-[1.5px] border-double border-[var(--color-border-strong)] whitespace-nowrap" >
0 commit comments