diff --git a/src/components/text-input.tsx b/src/components/text-input.tsx index 28d6d75..ef4bce2 100644 --- a/src/components/text-input.tsx +++ b/src/components/text-input.tsx @@ -1,5 +1,5 @@ export interface TextInputProps { - ref?: HTMLInputElement; + ref?: HTMLInputElement | ((el: HTMLInputElement) => void); class?: string; id?: string; type?: "text" | "email" | "password" | "search" | "tel" | "url"; diff --git a/src/views/repo.tsx b/src/views/repo.tsx index 660899d..8657c45 100644 --- a/src/views/repo.tsx +++ b/src/views/repo.tsx @@ -3,7 +3,15 @@ import { parsePublicMultikey } from "@atcute/crypto"; import { DidDocument } from "@atcute/identity"; import { ActorIdentifier, Did, Handle } from "@atcute/lexicons"; import { A, useLocation, useNavigate, useParams } from "@solidjs/router"; -import { createResource, createSignal, ErrorBoundary, For, Show, Suspense } from "solid-js"; +import { + createResource, + createSignal, + ErrorBoundary, + For, + onMount, + Show, + Suspense, +} from "solid-js"; import { createStore } from "solid-js/store"; import { Backlinks } from "../components/backlinks.jsx"; import { ActionMenu, DropdownMenu, MenuProvider, NavMenu } from "../components/dropdown.jsx"; @@ -230,6 +238,9 @@ export const RepoView = () => { placeholder="Filter collections" onInput={(e) => setFilter(e.currentTarget.value.toLowerCase())} class="grow" + ref={(node) => { + onMount(() => node.focus()); + }} />