import { Dialog, DialogContent, DialogHeader, DialogTitle } from "@/components/ui/dialog"; import { Button } from "@/components/ui/button"; import type { MediaOutlet } from "@shared/schema"; interface ProfileModalProps { outlet: MediaOutlet; isOpen: boolean; onClose: () => void; } export default function ProfileModal({ outlet, isOpen, onClose }: ProfileModalProps) { const getProfileContent = () => { // Sample profile content - in a real app this would come from the database const profiles: Record = { "alex-karp": { summary: [ "Co-founder and CEO of Palantir Technologies, a leading data analytics company", "Known for his outspoken views on artificial intelligence and data privacy", "Advocate for Western democratic values in technology and business practices" ], background: "Alexander Karp is an American billionaire businessman who co-founded Palantir Technologies in 2003. He earned a PhD in philosophy from Stanford University and a JD from Stanford Law School. Before Palantir, he worked as an investor and consultant.", highlights: [ "Co-founded Palantir Technologies (2003)", "Led company through IPO in 2020", "Built partnerships with government agencies and enterprises", "Advocate for responsible AI development" ], achievements: [ "Built Palantir into a multi-billion dollar company", "Recognized leader in big data and AI ethics", "Frequent speaker on technology and society" ] } }; return profiles[outlet.slug] || { summary: [ `Leading figure in the ${outlet.category} category`, `Influential voice in their respective field`, `Key contributor to industry developments` ], background: `${outlet.name} is a prominent entity in the ${outlet.category} space. ${outlet.description}`, highlights: [ "Industry leadership", "Innovative contributions", "Market influence", "Thought leadership" ], achievements: [ "Recognized expertise in their field", "Significant market impact", "Influential industry voice" ] }; }; const profile = getProfileContent(); const getProfileImage = () => { if (outlet.imageUrl) return outlet.imageUrl; // Default professional images if (outlet.category === "people") { return "https://images.unsplash.com/photo-1560250097-0b93528c311a?ixlib=rb-4.0.3&w=120&h=120&fit=crop&crop=face"; } return null; }; return ( Profile Information
{getProfileImage() ? ( {`${outlet.name} window.open(getProfileImage()!, '_blank')} data-testid="img-profile-large" /> ) : (
{outlet.name.charAt(0)}
)}

{outlet.name}

{outlet.description}

3-Line Summary

    {profile.summary.map((line: string, index: number) => (
  • • {line}
  • ))}

Background

{profile.background}

Key Highlights

    {profile.highlights.map((highlight: string, index: number) => (
  • • {highlight}
  • ))}

Achievements

    {profile.achievements.map((achievement: string, index: number) => (
  • • {achievement}
  • ))}
); }