refactor(webui): adopt semantic workspace actions
This commit is contained in:
@@ -1,7 +1,6 @@
|
|||||||
import { CheckCircle2, Pencil, Plus, RefreshCw, ShieldCheck, XCircle } from "lucide-react";
|
import { CheckCircle2, Pencil, Plus, ShieldCheck, XCircle } from "lucide-react";
|
||||||
import { useCallback, useEffect, useMemo, useState } from "react";
|
import { useCallback, useEffect, useMemo, useState } from "react";
|
||||||
import { ActionToolbar,
|
import { ActionBlockerHint,
|
||||||
ActionBlockerHint,
|
|
||||||
Button,
|
Button,
|
||||||
ConfirmDialog,
|
ConfirmDialog,
|
||||||
Dialog,
|
Dialog,
|
||||||
@@ -18,6 +17,7 @@ import { ActionToolbar,
|
|||||||
SelectionListItemContent,
|
SelectionListItemContent,
|
||||||
StatePanel,
|
StatePanel,
|
||||||
StatusBadge,
|
StatusBadge,
|
||||||
|
WorkspaceActionBar,
|
||||||
WorkspaceLayout,
|
WorkspaceLayout,
|
||||||
hasScope,
|
hasScope,
|
||||||
i18nMessage,
|
i18nMessage,
|
||||||
@@ -165,11 +165,15 @@ export default function VotingPage({ settings, auth }: PlatformRouteContext) {
|
|||||||
helpContextId="voting.workspace"
|
helpContextId="voting.workspace"
|
||||||
helpModuleId="voting"
|
helpModuleId="voting"
|
||||||
primary={<>
|
primary={<>
|
||||||
<ActionToolbar surface="panel-header" className="voting-toolbar">
|
<WorkspaceActionBar
|
||||||
<IconButton label="Refresh ballots" icon={<RefreshCw size={16} />} disabled={loading || busy} disabledReason={loading ? VOTING_I18N.loading : busy ? VOTING_I18N.busy : undefined} onClick={() => void loadList()} />
|
scope="collection-pane"
|
||||||
<Button variant="primary" disabled={!canManage} disabledReason={!canManage ? VOTING_I18N.manageReason : undefined} onClick={() => setEditing("new")}><Plus size={16} aria-hidden="true" />New ballot</Button>
|
variant="collection"
|
||||||
<DocumentationHelpLink reference={VOTING_DOCUMENTATION} />
|
refreshable
|
||||||
</ActionToolbar>
|
reloadAction={{ onReload: () => void loadList(), loading: loading || busy, label: "Refresh ballots" }}
|
||||||
|
className="voting-toolbar"
|
||||||
|
createAction={<Button variant="primary" disabled={!canManage} disabledReason={!canManage ? VOTING_I18N.manageReason : undefined} onClick={() => setEditing("new")}><Plus size={16} aria-hidden="true" />New ballot</Button>}
|
||||||
|
helpAction={<DocumentationHelpLink reference={VOTING_DOCUMENTATION} />}
|
||||||
|
/>
|
||||||
<PageScrollViewport className="voting-list-viewport">
|
<PageScrollViewport className="voting-list-viewport">
|
||||||
{loading && <LoadingIndicator label="Loading ballots" />}
|
{loading && <LoadingIndicator label="Loading ballots" />}
|
||||||
{!loading && items.length === 0 && <StatePanel size="compact" description="No ballots." />}
|
{!loading && items.length === 0 && <StatePanel size="compact" description="No ballots." />}
|
||||||
|
|||||||
Reference in New Issue
Block a user