import { CaptionsIcon, CircleAlertIcon, DownloadIcon, EllipsisVerticalIcon, SendIcon, } from "lucide-solid"; import { Stack } from "styled-system/jsx"; import { IconButton } from "~/components/ui/icon-button"; import { Spinner } from "~/components/ui/spinner"; import { Popover } from "~/components/ui/popover"; import { css } from "styled-system/css"; import { Account } from "~/lib/accounts"; import { TaskState } from "~/lib/task"; import PostDialog from "./PostDialog"; import { Button, ButtonProps } from "./ui/button"; import { Menu } from "./ui/menu"; import { createSignal } from "solid-js"; import { toaster } from "./Toaster"; const downloadFile = (blob: Blob, fileName: string) => { const url = URL.createObjectURL(blob); const a = document.createElement("a"); a.href = url; // handle file names with periods in them a.download = fileName; document.body.appendChild(a); a.click(); document.body.removeChild(a); URL.revokeObjectURL(url); }; const Task = (process: TaskState, selectedAccount: Account | undefined) => { const [dialogOpen, setDialogOpen] = createSignal(false); const statusError = (error: string) => ( ( )} /> error processing file: {error} ); const statusSuccess = (result: Blob, altText?: string) => { const [menuOpen, setMenuOpen] = createSignal(false); const MenuButton = (props: ButtonProps) => (