import { cn } from '@/lib/utils' import { TRelaySet } from '@/types' import { ChevronDown, FolderClosed, Music, Radio, Trees, DoorOpen, TrendingUp } from 'lucide-react' import { useState } from 'react' import { useTranslation } from 'react-i18next' import RelayIcon from '../RelayIcon' export default function RelaySetCard({ relaySet, select, onSelectChange }: { relaySet: TRelaySet select: boolean onSelectChange: (select: boolean) => void }) { const { t } = useTranslation() const [expand, setExpand] = useState(false) const getRelaySetIcon = (name: string) => { const nameLower = name.toLowerCase() if (nameLower.includes('feed')) return Radio if (nameLower.includes('music')) return Music if (nameLower.includes('backstage')) return DoorOpen if (nameLower.includes('hood')) return Trees if (nameLower.includes('trend')) return TrendingUp return FolderClosed } const IconComponent = getRelaySetIcon(relaySet.name) return (
onSelectChange(!select)} >
{/* Use the dynamic icon component instead of hardcoded FolderClosed */}
{relaySet.name}
{t('n relays', { n: relaySet.relayUrls.length })}
{expand && }
) } function RelayUrlsExpandToggle({ children, expand, onExpandChange }: { children: React.ReactNode expand: boolean onExpandChange: (expand: boolean) => void }) { return (
{ e.stopPropagation() onExpandChange(!expand) }} >
{children}
) } function RelayUrls({ urls }: { urls: string[] }) { if (!urls) return null return (
{urls.map((url) => (
{url}
))}
) }