import { CircleStackIcon } from "@heroicons/react/20/solid"; import { Form, useNavigate } from "@remix-run/react"; import { useCallback } from "react"; import { LogoIcon } from "~/components/LogoIcon"; import { Button } from "~/components/primitives/Buttons"; import { Select, SelectGroup, SelectGroupLabel, SelectItem, SelectLinkItem, shortcutFromIndex, } from "~/components/primitives/Select"; import { TaskRunStatusCombo, allTaskRunStatuses, runStatusTitle, } from "~/components/runs/v3/TaskRunStatus"; import { useOptimisticLocation } from "~/hooks/useOptimisticLocation"; const branches = [ "main", "0.10-stable", "0.11-stable", "0.12-stable", "0.13-stable", "0.14-stable", "15-stable", "15.6-dev", "16.3-dev", "16.4.2-dev", "16.8.3", "16.8.4", "16.8.5", "16.8.6", "17.0.0-dev", "builds/facebook-www", "devtools-v4-merge", "fabric-cleanup", "fabric-focus-blur", "gh-pages", "leg", "nativefb-enable-cache", "nov-main-trigger", "rsckeys", ]; export default function Story() { return (
); } const statuses = allTaskRunStatuses.map((status) => ({ title: runStatusTitle(status), value: status, })); function Statuses() { const navigate = useNavigate(); const location = useOptimisticLocation(); const search = new URLSearchParams(location.search); const handleChange = useCallback((values: string[]) => { search.delete("status"); for (const value of values) { search.append("status", value); } navigate(`${location.pathname}?${search.toString()}`, { replace: true }); }, []); return ( ); } export const projects = [ { type: "section" as const, title: "Apple", items: [ { title: "iTunes", value: "itunes", }, { title: "App Store", value: "appstore", }, ], }, { type: "section" as const, title: "Google", items: [ { title: "Maps", value: "maps", }, { title: "Gmail", value: "gmail", }, { title: "Waymo", value: "waymo", }, { title: "Android", value: "android", }, ], }, { type: "section" as const, title: "Uber", items: [ { title: "Planner", value: "planner", }, ], }, ]; function ProjectSelector() { const location = useOptimisticLocation(); const search = new URLSearchParams(location.search); const selected = projects .find((p) => p.items.some((i) => i.value === search.get("project"))) ?.items.find((i) => i.value === search.get("project")); const searchParams = new URLSearchParams(location.search); searchParams.delete("project"); return ( ); }