Adopt shared WebUI layout primitives

This commit is contained in:
2026-08-18 10:42:51 +02:00
parent 1351338590
commit 0e03f6a70c
3 changed files with 16 additions and 26 deletions
@@ -10,7 +10,7 @@ import {
Vote
} from "lucide-react";
import { useCallback, useEffect, useMemo, useState, type ReactNode } from "react";
import {
import { ActionToolbar,
ActionBlockerHint,
Button,
DocumentationHelpLink,
@@ -183,7 +183,7 @@ export default function CommitteePage({ settings, auth }: PlatformRouteContext)
return (
<main className="committee-page">
<div className="committee-shell">
<div className="committee-toolbar">
<ActionToolbar className="committee-toolbar">
<form onSubmit={(event) => { event.preventDefault(); void refresh(); }} className="committee-search">
<Search size={16} aria-hidden="true" />
<input value={query} onChange={(event) => setQuery(event.target.value)} placeholder="Search bodies" aria-label="Search committee bodies" />
@@ -202,7 +202,7 @@ export default function CommitteePage({ settings, auth }: PlatformRouteContext)
New body
</Button>
<DocumentationHelpLink reference={COMMITTEE_DOCUMENTATION} />
</div>
</ActionToolbar>
{error ? <DismissibleAlert tone="danger" resetKey={error} className="committee-alert">{error}</DismissibleAlert> : null}
{loading && bodies.length === 0 ? <LoadingIndicator label="Loading committee workspace" /> : null}