diff --git a/apps/ui/src/components/providers/hero.tsx b/apps/ui/src/components/providers/hero.tsx index 67402cb8d8..507f5bd48e 100644 --- a/apps/ui/src/components/providers/hero.tsx +++ b/apps/ui/src/components/providers/hero.tsx @@ -1,4 +1,13 @@ -import { ExternalLink, Play } from "lucide-react"; +import { + ExternalLink, + Play, + ShieldCheck, + ShieldAlert, + MapPin, + Database, + Eye, + Clock, +} from "lucide-react"; import { AuthLink } from "@/components/shared/auth-link"; import { Button } from "@/lib/components/button"; @@ -15,6 +24,42 @@ interface HeroProps { providerId: ProviderId; } +function DataPolicyBadge({ + value, + labelTrue, + labelFalse, + dangerIfTrue = false, +}: { + value: boolean | null; + labelTrue: string; + labelFalse: string; + dangerIfTrue?: boolean; +}) { + if (value === null) { + return ( + + Unknown + + ); + } + + const isDanger = dangerIfTrue ? value : !value; + + if (isDanger) { + return ( + + {value ? labelTrue : labelFalse} + + ); + } + + return ( + + {value ? labelTrue : labelFalse} + + ); +} + export function Hero({ providerId }: HeroProps) { const config = getConfig(); const provider = providerDefinitions.find((p) => p.id === providerId)!; @@ -70,8 +115,117 @@ export function Hero({ providerId }: HeroProps) { + + {(provider.dataPolicy || provider.headquarters) && ( +