From f481c8a7290ea9fbc6e89b94a56d7eabc83e1ec2 Mon Sep 17 00:00:00 2001 From: Catrya <140891948+Catrya@users.noreply.github.com> Date: Mon, 13 Apr 2026 16:48:28 -0600 Subject: [PATCH 1/2] improve buttons ui --- src/pages/EventMonitor.tsx | 44 ++++++++++++++++++++++---------------- 1 file changed, 26 insertions(+), 18 deletions(-) diff --git a/src/pages/EventMonitor.tsx b/src/pages/EventMonitor.tsx index 8309b40..aa1eb80 100644 --- a/src/pages/EventMonitor.tsx +++ b/src/pages/EventMonitor.tsx @@ -110,6 +110,7 @@ export function EventMonitor() { const [streamEvents, setStreamEvents] = useState([]); const [lastDisplayedEvents, setLastDisplayedEvents] = useState([]); const [error, setError] = useState(null); + const [noRelayHint, setNoRelayHint] = useState<'search' | 'stream' | null>(null); const [nipFilter, setNipFilter] = useState(['']); const [nipKinds, setNipKinds] = useState([]); const [nipMessage, setNipMessage] = useState(null); @@ -182,6 +183,11 @@ export function EventMonitor() { } }, [validRelays.length, nipMessage]); + // Clear no-relay hint once a relay is added + useEffect(() => { + if (validRelays.length > 0) setNoRelayHint(null); + }, [validRelays.length]); + // Query for limited events from multiple relays const { isLoading, refetch } = useQuery({ queryKey: ['events', validRelays, filters.kinds, filters.limit, filters.authors, filters.since, filters.until, filters.tags, nipKinds], @@ -452,14 +458,22 @@ export function EventMonitor() { }, [isStreaming, validRelays, queryFilters, filters.limit]); const handleSearch = useCallback(() => { - if (validRelays.length === 0) return; + if (validRelays.length === 0) { + setNoRelayHint('search'); + return; + } + setNoRelayHint(null); setIsStreaming(false); setError(null); refetch(); }, [validRelays.length, refetch]); const handleStream = useCallback(() => { - if (validRelays.length === 0) return; + if (validRelays.length === 0) { + setNoRelayHint('stream'); + return; + } + setNoRelayHint(null); setError(null); setIsStreaming(false); // Re-trigger the streaming effect @@ -879,12 +893,14 @@ export function EventMonitor() {
- Fetch once + + {noRelayHint === 'search' ? 'Enter a relay first' : 'Fetch once'} +
{isStreaming ? ( @@ -899,14 +915,15 @@ export function EventMonitor() { ) : ( )} - {isStreaming ? 'Stop streaming' : 'Real-time'} + + {noRelayHint === 'stream' ? 'Enter a relay first' : isStreaming ? 'Stop streaming' : 'Real-time'} +