Filter on services
Deploy / deploy (push) Successful in 10s

This commit is contained in:
2026-08-31 17:37:01 +05:00
parent 33ac169699
commit c2296d496f
+31 -8
View File
@@ -50,6 +50,36 @@ function LinkList({ links }: { links: Link[] }) {
);
}
function ServiceList({
services,
refresh,
}: {
services: Service[];
refresh: () => void;
}) {
const [searchQuery, setSearchQuery] = useState("");
const filteredServices = services.filter((s) =>
s.name.toLowerCase().includes(searchQuery.toLowerCase()),
);
return (
<div>
<input
type="text"
placeholder="Type here"
className="input"
value={searchQuery}
onInput={(e) => setSearchQuery(e.currentTarget.value)}
/>
<div class="grid gap-3 mt-4 md:grid-cols-2 lg:grid-cols-3">
{filteredServices.map((s) => (
<ServiceCard key={s.name} s={s} refresh={refresh} />
))}
</div>
</div>
);
}
export function App() {
const [content, setContent] = useState<{
links: Link[];
@@ -135,14 +165,7 @@ export function App() {
)}
{category === "exec" && content.exec.map((it) => <ScriptCard s={it} />)}
{category === "services" && (
<div>
<input type="text" placeholder="Type here" className="input" />
<div class="grid gap-3 mt-4 md:grid-cols-2 lg:grid-cols-3">
{content.services.map((s) => (
<ServiceCard s={s} refresh={refresh} />
))}
</div>
</div>
<ServiceList services={content.services} refresh={refresh} />
)}
{category === "docs" &&
(open ? (