import type { PostID, Poast, Reference } from "@/types/trill"; import Header from "./Header"; import Body from "./Body"; import Footer from "./Footer"; import { useLocation } from "wouter"; import useLocalState from "@/state/state"; import RP from "./RP"; import ShipModal from "../modals/ShipModal"; import type { Ship } from "@/types/urbit"; import Sigil from "../Sigil"; export interface PostProps { poast: Poast; fake?: boolean; rter?: Ship; rtat?: number; rtid?: PostID; nest?: number; refetch: Function; } function Post(props: PostProps) { const { poast } = props; console.log({ poast }); if (!poast || poast.contents === null) { return null; } const isRP = poast.contents.length === 1 && "ref" in poast.contents[0] && poast.contents[0].ref.type === "trill"; if (isRP) { const ref = (poast.contents[0] as Reference).ref; return ( ); } else return ; } export default Post; function TrillPost(props: PostProps) { const { poast, fake } = props; const { setModal } = useLocalState(); const [_, navigate] = useLocation(); function openThread(_e: React.MouseEvent) { const sel = window.getSelection()?.toString(); if (!sel) navigate(`/feed/${poast.host}/${poast.id}`); } function openModal(e: React.MouseEvent) { e.stopPropagation(); setModal(); } const avatar = (
); return (
{avatar}
{!fake &&
); }