import { Component, createSignal, Signal } from "solid-js"; import { CaptionsIcon, SendIcon, XIcon } from "lucide-solid"; import { Stack } from "styled-system/jsx"; import { IconButton } from "~/components/ui/icon-button"; import { Spinner } from "~/components/ui/spinner"; import { Text } from "~/components/ui/text"; import { Link } from "~/components/ui/link"; import { parseCanonicalResourceUri } from "@atcute/lexicons/syntax"; import { css } from "styled-system/css"; import { sendPost } from "~/lib/at"; import { toaster } from "~/components/Toaster"; import { Dialog } from "~/components/ui/dialog"; import { Textarea } from "~/components/ui/textarea"; import { Account } from "~/lib/accounts"; import { Popover } from "./ui/popover"; const PostDialog = (props: { result: Blob; account: Account | undefined; openSignal: Signal; initialAltText?: string; }) => { const [postContent, setPostContent] = createSignal(""); const [altText, setAltText] = createSignal( props.initialAltText ?? "", ); const [posting, setPosting] = createSignal(false); const [open, setOpen] = props.openSignal; return ( setOpen(e.open)}>