fix layout, let enter login, automatically pick account on login
90 unmodified lines919293949595969797989910010110210310410110510610710810911011111211311411511611711 unmodified lines129130131132121122133134135136137138139140141142143124144145146147148149150151152132133153154155156135157158159160161146 unmodified linesExpand all90 unmodified lines
return ( <> <VStack py="8" py={{ base: "8", smDown: "2" }} minH="100vh" minW="100vw" w="100vw" justifyContent="center" alignItems="center" boxSizing="border-box" h={{ smDown: "100dvh" }} overflow={{ smDown: "hidden" }} gap={{ base: "4", smDown: "2" }} > <Card.Root maxW="3xl" w="94%" h="max"> <Card.Root maxW="3xl" w="94%" flex={{ smDown: "1" }} minH={{ smDown: "0" }} overflow={{ smDown: "hidden" }} display={{ smDown: "flex" }} flexDir={{ smDown: "column" }} > <Card.Header> <Card.Title w="full"> <Stack direction="row" align="center"> <Text>trill</Text>11 unmodified lines </li> </ol> </Card.Description> </Card.Header> <Card.Body> <Stack gap="4" direction={{ base: "row", smDown: "column" }}> <Card.Body overflow={{ smDown: "hidden" }} flex={{ smDown: "1" }} minH={{ smDown: "0" }} > <Stack gap="4" direction={{ base: "row", smDown: "column" }} h={{ smDown: "full" }} > <Upload flex="4" flex={{ base: "4", smDown: "0" }} flexShrink="0" acceptedFiles={[]} onFileAccept={(e) => e.files.forEach((file) => addTask(selectedAccount(), file)) } /> <Tasks flex="3" minH="20rem" maxH="20rem" minH={{ base: "20rem", smDown: "0" }} maxH={{ base: "20rem", smDown: "none" }} flexGrow={{ smDown: "1" }} minW="0" overflowY="scroll" overflowY="auto" currentTasks={tasks.values().toArray()} selectedAccount={accounts().find( (account) => account.did === selectedAccount(), )}146 unmodified linesExpand all7 unmodified lines89101112121314151625 unmodified lines42434445464748495014 unmodified lines7 unmodified linesimport type {} from "@atcute/microcosm";
import App from "./App";import { tryFinalizeLogin } from "./lib/oauth";import { accounts, setAccounts } from "./lib/accounts";import { accounts, setAccounts, setSelectedAccount } from "./lib/accounts";import { AtprotoDid } from "@atcute/lexicons/syntax";import { toaster } from "./components/Toaster";import { autoTranscribe } from "./lib/settings";import { preloadModel } from "./lib/transcribe";25 unmodified lines did: login.did as AtprotoDid, handle: login.handle === "handle.invalid" ? undefined : login.handle, }, ]); setSelectedAccount(login.did as AtprotoDid); toaster.create({ title: "login success", description: `logged in as ${login.handle}`, type: "success",14 unmodified lines295 unmodified linesExpand all296297298299300301302303304164 unmodified linesExpand all295 unmodified linesExpand all <Field.Input placeholder="example.bsky.social" value={handle()} onInput={(e) => setHandle(e.currentTarget.value)} onKeyDown={(e) => e.key === "Enter" && isHandleValid() && startAccountFlow()} /> </Field.Root> <IconButton onClick={startAccountFlow} disabled={!isHandleValid()}> <PlusIcon />164 unmodified linesExpand all