import { Label } from '@/components/ui/label' import { Popover, PopoverContent, PopoverTrigger } from '@/components/ui/popover' import { Switch } from '@/components/ui/switch' import { isProtectedEvent } from '@/lib/event' import { simplifyUrl } from '@/lib/url' import { useCurrentRelays } from '@/providers/CurrentRelaysProvider' import client from '@/services/client.service' import { Info } from 'lucide-react' import { Event } from 'nostr-tools' import { Dispatch, SetStateAction, useEffect, useState } from 'react' import { useTranslation } from 'react-i18next' export default function SendOnlyToSwitch({ parentEvent, specifiedRelayUrls, setSpecifiedRelayUrls, openFrom }: { parentEvent?: Event specifiedRelayUrls?: string[] setSpecifiedRelayUrls: Dispatch> openFrom?: string[] }) { const { t } = useTranslation() const { currentRelayUrls } = useCurrentRelays() const [urls, setUrls] = useState([]) useEffect(() => { if (openFrom?.length) { setUrls(openFrom) setSpecifiedRelayUrls(openFrom) return } if (!parentEvent) { setUrls(currentRelayUrls) return } const isProtected = isProtectedEvent(parentEvent) const seenOn = client.getSeenEventRelayUrls(parentEvent.id) if (isProtected && seenOn.length) { setSpecifiedRelayUrls(seenOn) setUrls(seenOn) } else { setUrls(currentRelayUrls) } }, [parentEvent, currentRelayUrls, openFrom]) if (!urls.length) return null return (
{urls.length > 1 && ( {urls.map((url) => (
{simplifyUrl(url)}
))}
)}
setSpecifiedRelayUrls(checked ? urls : undefined)} />
) }