Skip to content

Where people and agents ship software together. The open-source git platform for the whole job: issues, agents, checks and deploys to the edge.

g1t.sh

Commit

fix(web): use shared navigation tabs for error states

syntaqxcommitted Parentf799a18Browse files
1 file+8−60/1 viewed
+8−6
88 import { EmptyState, ErrorText, SubmitButton, TimeAgo } from "../../components/ui";
99 import { Badge } from "../../components/ui/badge";
1010 import { Card } from "../../components/ui/card";
11+import { NavTab, NavTabs } from "../../components/ui/nav-tabs";
1112 import { refusal } from "../../lib/access.server";
1213 import { cn } from "../../lib/cn";
1314 import { page } from "../../lib/meta";
7677 about="Exceptions, grouped: the same error thrown a thousand times is one row. Each can become an issue, carrying the stack and the request it came from."
7778 />
7879 <FilterBar path={path} view={view} environments={facets?.environments ?? []} services={facets?.services ?? []}>
79− <nav className="flex rounded-md border border-line p-0.5 text-sm" aria-label="State">
80+ <NavTabs label="State" variant="pill">
8081 {STATES.map((s) => (
81− <Link
82+ <NavTab
8283 key={s}
8384 to={viewHref(path, view, { state: s === "open" ? null : s })}
8485 preventScrollReset
85− aria-current={s === state ? "true" : undefined}
86− className={cn("rounded px-2 py-0.5 text-xs capitalize", s === state ? "bg-raised text-fg" : "text-muted hover:text-fg")}
86+ current={s === state}
87+ variant="pill"
88+ className="capitalize"
8789 >
8890 {s}
89− </Link>
91+ </NavTab>
9092 ))}
91− </nav>
93+ </NavTabs>
9294 </FilterBar>
9395 <div className="mt-3 min-h-5">
9496 {actionData && "notice" in actionData && <p className="text-sm text-success">{actionData.notice}</p>}

Comments

Sign in to comment.