"use client"; import Link from "next/link"; import { useState } from "react"; import { Field } from "@unlocalhosted/metalui"; import { LockIcon, SearchIcon } from "./icons"; import { RepoAvatar } from "./ui"; type Item = { owner: string; name: string; visibility: "public" | "private"; imageVersion: number | null }; /** The viewer's repositories: a compact search well that filters as you type, then rows that lift on hover. */ export function RepoFilterList({ repos }: { repos: Item[] }) { const [query, setQuery] = useState(""); const filtered = repos.filter((r) => `${r.owner}/${r.name}`.toLowerCase().includes(query.toLowerCase())); return (