From b1d68ac307ed87d63e83820cbdf843fff0fd9f7f Mon Sep 17 00:00:00 2001 From: polwex Date: Thu, 11 Sep 2025 01:48:14 +0700 Subject: init --- front/src/pages/Feed.tsx | 104 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100644 front/src/pages/Feed.tsx (limited to 'front/src/pages/Feed.tsx') diff --git a/front/src/pages/Feed.tsx b/front/src/pages/Feed.tsx new file mode 100644 index 0000000..e29033e --- /dev/null +++ b/front/src/pages/Feed.tsx @@ -0,0 +1,104 @@ +// import spinner from "@/assets/icons/spinner.svg"; +import "@/styles/trill.css"; +import UserFeed from "./User"; +import PostList from "@/components/feed/PostList"; +import useLocalState from "@/state/state"; +import { useParams, useLocation } from "wouter"; +import spinner from "@/assets/triangles.svg"; +import { useState } from "react"; +import Composer from "@/components/feed/Composer"; +// import UserFeed from "./User"; +import { P404 } from "@/Router"; +import { useQuery } from "@tanstack/react-query"; +import { isValidPatp } from "urbit-ob"; +import { eventsToFc } from "@/logic/nostril"; + +type FeedType = "global" | "following" | "nostr"; +function Loader() { + // const { api } = useLocalState(); + const params = useParams(); + console.log({ params }); + // const [loc, navigate] = useLocation(); + // console.log({ loc }); + // const our = api!.airlock.ship; + if (params.taip === "global") return ; + if (params.taip === "nostr") return ; + // else if (param === FeedType.Rumors) return ; + // else if (param === FeedType.Home) return ; + else if (isValidPatp(params.taip!)) return ; + else return ; +} +function FeedPage({ t }: { t: FeedType }) { + const [active, setActive] = useState(t); + return ( +
+
+
setActive("global")} + > + Global +
+
setActive("following")} + > + Following +
+
setActive("nostr")} + > + Nostr +
+
+
+ + {active === "global" ? ( + + ) : active === "following" ? ( + + ) : active === "nostr" ? ( + + ) : null} +
+
+ ); +} +// {active === "global" ? ( +// +// ) : active === "following" ? ( +// +// ) : ( +// +// )} + +function Global() { + // const { api } = useLocalState(); + // const { isPending, data, refetch } = useQuery({ + // queryKey: ["globalFeed"], + // queryFn: () => { + // return api!.scryFeed(null, null); + // }, + // }); + // console.log(data, "scry feed data"); + // if (isPending) return ; + // else if ("bucun" in data) return

Error

; + // else return ; + return

Error

; +} +function Nostr() { + const { relays } = useLocalState(); + const feed = eventsToFc(relays); + console.log({ feed }); + const refetch = () => feed; + return ; +} + +export default Loader; +// TODO +type MixFeed = any; + +function Inner({ data, refetch }: { data: MixFeed; refetch: Function }) { + return ; +} -- cgit v1.2.3