From f9cbcda7e881a04dffd29348a249f9e9ac361d9a Mon Sep 17 00:00:00 2001 From: codytseng Date: Sun, 3 Aug 2025 15:13:47 +0800 Subject: [PATCH] feat: check login status before saving relays --- src/components/SaveRelayDropdownMenu/index.tsx | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/components/SaveRelayDropdownMenu/index.tsx b/src/components/SaveRelayDropdownMenu/index.tsx index bfab436..edbd325 100644 --- a/src/components/SaveRelayDropdownMenu/index.tsx +++ b/src/components/SaveRelayDropdownMenu/index.tsx @@ -17,6 +17,7 @@ import { import { Separator } from '@/components/ui/separator' import { normalizeUrl } from '@/lib/url' import { useFavoriteRelays } from '@/providers/FavoriteRelaysProvider' +import { useNostr } from '@/providers/NostrProvider' import { useScreenSize } from '@/providers/ScreenSizeProvider' import { TRelaySet } from '@/types' import { Check, FolderPlus, Plus, Star } from 'lucide-react' @@ -138,10 +139,15 @@ function RelayItem({ urls }: { urls: string[] }) { function RelaySetItem({ set, urls }: { set: TRelaySet; urls: string[] }) { const { isSmallScreen } = useScreenSize() + const { pubkey, startLogin } = useNostr() const { updateRelaySet } = useFavoriteRelays() const saved = urls.every((url) => set.relayUrls.includes(url)) const handleClick = () => { + if (!pubkey) { + startLogin() + return + } if (saved) { updateRelaySet({ ...set, @@ -175,9 +181,14 @@ function RelaySetItem({ set, urls }: { set: TRelaySet; urls: string[] }) { function SaveToNewSet({ urls }: { urls: string[] }) { const { t } = useTranslation() const { isSmallScreen } = useScreenSize() + const { pubkey, startLogin } = useNostr() const { createRelaySet } = useFavoriteRelays() const handleSave = () => { + if (!pubkey) { + startLogin() + return + } const newSetName = prompt(t('Enter a name for the new relay set')) if (newSetName) { createRelaySet(newSetName, urls)