From f0df4c7297a05bd592d8717b8997284c80fd0500 Mon Sep 17 00:00:00 2001 From: polwex Date: Wed, 17 Sep 2025 15:56:00 +0700 Subject: argh --- front/src/components/snippets/Snippets.tsx | 395 ----------------------------- 1 file changed, 395 deletions(-) delete mode 100644 front/src/components/snippets/Snippets.tsx (limited to 'front/src/components/snippets') diff --git a/front/src/components/snippets/Snippets.tsx b/front/src/components/snippets/Snippets.tsx deleted file mode 100644 index 68f5446..0000000 --- a/front/src/components/snippets/Snippets.tsx +++ /dev/null @@ -1,395 +0,0 @@ -import { fetchTweet, lurkTweet } from "@/logic/twatter/calls"; -import { pokeDister, scryDister, scryGangs } from "@/logic/requests/tlon"; -import { useEffect, useState } from "react"; -import Tweet from "@/sections/twatter/Tweet"; -import { toFlat } from "@/sections/feed/thread/helpers"; -import PostData from "@/sections/feed/PostData"; -import Post from "@/sections/feed/post/Post"; -import { FullNode, SortugRef } from "@/types/trill"; -import { useQuery, useQueryClient } from "@tanstack/react-query"; -import { subscribe, unsub } from "@/logic/requests/generic"; -import { AppData, GroupMetadata } from "@/types/tlon"; -import comet from "@/assets/icons/comet.svg"; -import Sigil from "@/ui/Sigil"; -import { PollLoader } from "@/sections/feed/poll/Show"; -import { parseThread, parseTweet } from "@/logic/twatter/parser"; -import { Tweet as TweetType } from "@/types/twatter"; -import { scryRadio } from "@/logic/requests/nostril"; -import useLocalState from "@/state/state"; -import { RadioTower, ScheduledRadio, radioLink } from "@/logic/requests/radio"; -import { Ship } from "@/types/urbit"; -import { RADIO } from "@/logic/constants"; -import { SigilOnly } from "../Avatar"; -import { date_diff } from "@/logic/utils"; -import ShipsModal from "../modals/ShipsModal"; - -export function TrillSnippet({ r }: { r: SortugRef }) { - const { ship, path } = r; - return PostData({ host: ship, id: path.slice(1) })(TrillSnippetMarkup); -} -function TrillSnippetMarkup({ - data, - refetch, -}: { - data: FullNode; - refetch: Function; -}) { - return ( -
- -
- ); -} -//
{ -// if (pop) pop(link); -// }} -// className="chat-snippet trill-snippet" -// > -// Post not found -//
-// ); - -export function TweetSnippet({ - link, - giveBack, -}: { - link: string; - giveBack?: Function; -}) { - const id = link.split("/")[5]; - const { isLoading, isError, data } = useQuery({ - queryKey: ["twatter-thread", id], - queryFn: () => lurkTweet(id), - }); - const [tw, setTw] = useState(); - useEffect(() => { - if (data && "thread-lurk" in data) { - const js = JSON.parse(data["thread-lurk"]).data.tweetResult; - if (JSON.stringify(js) === "{}") return; - if (giveBack) giveBack(JSON.stringify(parseTweet(js.result))); - } - }, [data]); - if (isLoading || isError) - return ( -
-

Fetching Tweet from your Urbit...

-
- ); - else { - if ("no-coki" in data) - return ( - - ); - if ("fail" in data) - return ( -

- Bad request. Please send some feedback (here) of what you were trying - to fetch. -

- ); - if ("thread-lurk" in data) { - const js = JSON.parse(data["thread-lurk"]).data.tweetResult; - if (JSON.stringify(js) === "{}") - return null; // TODO wtf - else - return ( -
- -
- ); - } - // else { - // const head = parseThread(JSON.parse(data.thread)); - // const tweet = head.thread.tweets[0] - // giveBack(JSON.stringify(tweet)) - // return ( - //
- // - //
- // ); - // } - } -} - -export function AppSnippet({ r }: { r: SortugRef }) { - async function sub() { - if (!subn) { - const s = await subscribe( - "treaty", - "/treaties", - (data: { add: AppData }) => { - if ("ini" in data) { - const app = Object.values(data.ini).find((d) => d.desk === name); - setApp(app); - } - if ("add" in data && data.add.desk === name) setApp(data.add); - if (appData) unsub(subn); - }, - ); - setSub(s); - const res = await pokeDister(ship); - } - } - const { ship, path } = r; - const name = path.slice(1); - const [appData, setApp] = useState(); - const [subn, setSub] = useState(); - const { isLoading, data, isError } = useQuery({ - queryKey: ["dister", ship], - queryFn: () => scryDister(ship), - }); - if (isLoading || isError) return
...
; - else { - const app = Object.values(data.ini).find((d) => d.desk === name); - if (!app && !appData) sub(); - const a = app - ? app - : appData - ? appData - : { title: name, image: comet, info: "", ship }; - return ( -
- -
- ); - } -} -function AppDiv({ app }: { app: Partial }) { - return ( - <> - -
-

{app.title}

-

{app.info}

-

App from {app.ship}

-
-

- -

- - ); -} - -export function TlonSnippet({ r }: { r: SortugRef }) { - if (r.type === "app") return ; - if (r.type === "groups") return ; -} -export function GroupSnippet({ r }: { r: SortugRef }) { - const queryClient = useQueryClient(); - async function sub() { - if (!subn) { - const path = `/gangs/index/${ship}`; - const s = await subscribe("groups", path, (data: any) => { - const key = `${ship}/${name}`; - const val = data[key]; - queryClient.setQueryData(["gangs"], (old: any) => { - return { ...old, [key]: { preview: val } }; - }); - }); - setSub(s); - } - } - const { ship, path } = r; - const name = path.slice(1); - const [groupData, setGroup] = useState(); - const [subn, setSub] = useState(); - const { isLoading, data, isError } = useQuery({ - queryKey: ["gangs"], - queryFn: scryGangs, - }); - if (isLoading || isError) return
...
; - else { - const group = data[`${ship}/${name}`]; - if (!group && !groupData) sub(); - const a = - group && group.preview - ? group.preview.meta - : groupData - ? groupData - : { title: name, image: comet, cover: "", description: "" }; - return ( -
- {a.image.startsWith("#") ? ( -
- ) : ( - - )} -
-

{a.title}

-

- {a.description.length > 25 - ? a.description.substring(0, 25) + "..." - : a.description} -

-

Group by {ship}

-
- {/*

- -

*/} -
- ); - } -} - -export function PollSnippet({ r }: { r: SortugRef }) { - return ( -
- -
- ); -} - -export function SnippetHandler(props: { r: SortugRef }) { - if (props.r.type === "trill") return ; - if (props.r.type === "trill-polls") return ; - if (props.r.type === "app") return ; - if (props.r.type === "groups") return ; -} - -export function RadioSnippet({ ship }: { ship: Ship }) { - const { our } = useLocalState(); - return ship === our ? : ; -} - -function DudesRadio({ ship }: { ship }) { - function onc() { - radioLink(ship); - } - const { radioTowers } = useLocalState(); - const tower = radioTowers.find((t) => t.location === ship); - if (!tower) - return ( -
-

{RADIO}

-
-

Radio data not published. Click and check.

; -
-
- ); - else - return ( -
-

{RADIO}

-
-

Radio Session. Playing: {tower.description}

-

Started {new Date(tower.time).toLocaleString()}

-
-
- - - {tower.viewers} - 👀 - -
-
- ); -} - -function OwnRadio() { - const { currentRadio, our, setModal, radioTowers } = useLocalState(); - const [scheduled, setS] = useState(null); - function onc() { - radioLink(our); - } - useEffect(() => { - scryRadio().then((r) => { - if (r) setS(r.radio); - }); - }, []); - function showViewers() { - const modal = ( - - ); - setModal(modal); - } - if (scheduled && scheduled.time > Date.now()) - return ( -
-

{RADIO}

-
-

- Radio Session. Playing: - - {scheduled.desc} - -

-

Starting at {new Date(scheduled.time).toLocaleString()}

-
-
- -
-
- ); - else if (!currentRadio) - return ( -
-

{RADIO}

-
-

Radio unavailable

-
-
- ); - else - return ( -
-

{RADIO}

-
-

- Radio Session. Playing: - - {currentRadio.description} - -

- {/*

Started {date_diff(currentRadio.time, "long")}

*/} -
-
- - - {currentRadio?.viewers?.length || ""} - 👀 - -
-
- ); - - // return ( - // {scheduled > Date.now() - // ? (<> - //

- // Radio Session. Playing: - // - // {currentRadio.description} - // - //

- - //

Starting at {new Date(scheduled).toLocaleString()}

- // - - // ): scheduled !== 0() - - // } - //

- // Radio Session. Playing: - // - // {currentRadio.description} - // - //

- // {scheduled && scheduled > Date.now() ? ( - //

Starting at {new Date(scheduled).toLocaleString()}

- // ) : scheduled !== 0 ? ( - //

Started {date_diff(new Date(scheduled), "long")}. Click to join.

- // ) : ( - //

Unscheduled session. Click to join.

- // )} - // ); -} -- cgit v1.2.3