From 7706acaafa89691dba33c216e6287a8405c4c302 Mon Sep 17 00:00:00 2001 From: polwex Date: Tue, 18 Nov 2025 08:32:45 +0700 Subject: gui fixes to nostr post rendering, added nostr-tools lib for primal compatibility --- gui/src/pages/Feed.tsx | 91 ++------------------------------------------------ 1 file changed, 2 insertions(+), 89 deletions(-) (limited to 'gui/src/pages/Feed.tsx') diff --git a/gui/src/pages/Feed.tsx b/gui/src/pages/Feed.tsx index ac596dd..02f7b1a 100644 --- a/gui/src/pages/Feed.tsx +++ b/gui/src/pages/Feed.tsx @@ -8,10 +8,8 @@ import { useParams } from "wouter"; import spinner from "@/assets/triangles.svg"; import { useState } from "react"; import Composer from "@/components/composer/Composer"; -import Icon from "@/components/Icon"; -import toast from "react-hot-toast"; -import { eventsToFc } from "@/logic/nostrill"; import { ErrorPage } from "@/Router"; +import NostrFeed from "@/components/nostr/Feed"; type FeedType = "global" | "following" | "nostr"; function Loader() { @@ -59,7 +57,7 @@ function FeedPage({ t }: { t: FeedType }) { ) : active === "following" ? ( ) : active === "nostr" ? ( - + ) : null} @@ -102,91 +100,6 @@ function Following() { ); } -function Nostr() { - const { nostrFeed, api } = useLocalState((s) => ({ - nostrFeed: s.nostrFeed, - api: s.api, - })); - const [isSyncing, setIsSyncing] = useState(false); - const feed = eventsToFc(nostrFeed); - console.log({ feed }); - const refetch = () => feed; - - const handleResync = async () => { - if (!api) return; - - setIsSyncing(true); - try { - await api.syncRelays(); - toast.success("Nostr feed sync initiated"); - } catch (error) { - toast.error("Failed to sync Nostr feed"); - console.error("Sync error:", error); - } finally { - setIsSyncing(false); - } - }; - - // Show empty state with resync option when no feed data - if (!feed || !feed.feed || Object.keys(feed.feed).length === 0) { - return ( -
-
- -

No Nostr Posts

-

- Your Nostr feed appears to be empty. Try syncing with your relays to - fetch the latest posts. -

- -
-
- ); - } - - // Show feed with resync button in header - return ( -
-
-
-

Nostr Feed

- - {Object.keys(feed.feed).length} posts - -
- -
- -
- ); -} export default Loader; // TODO -- cgit v1.2.3