Adopt shared WebUI structural primitives

This commit is contained in:
2026-08-18 13:17:32 +02:00
parent 68855f6fad
commit 4aeda1c634
2 changed files with 5 additions and 29 deletions
@@ -38,6 +38,7 @@ import { ContentGrid, FormGrid,
ToggleSwitch,
StatusBadge,
StageRail,
WorkspaceFrame,
hasScope,
i18nMessage,
isApiError,
@@ -891,7 +892,7 @@ export default function SchedulingPage({ settings, auth }: { settings: ApiSettin
}
return (
<main className="scheduling-page">
<WorkspaceFrame as="main" height="viewport" surface="plain" className="scheduling-page" label="Scheduling workspace">
<section className="scheduling-workspace">
<div className="scheduling-workspace-layout">
<aside className="scheduling-request-sidebar">
@@ -1344,7 +1345,7 @@ export default function SchedulingPage({ settings, auth }: { settings: ApiSettin
</Card>
) : null}
<div className="scheduling-columns">
<ContentGrid columns={2} gap="small" collapseAt="workspace" align="stretch">
<Card title={I18N.participants}>
<div className="scheduling-status-row">
<span>{i18nMessage("i18n:govoplan-scheduling.value_participants.e776b092", { value0: selected.participant_aggregate.total })}</span>
@@ -1379,7 +1380,7 @@ export default function SchedulingPage({ settings, auth }: { settings: ApiSettin
</div>
)) : <p className="scheduling-note">{I18N.noNotifications}</p>}
</Card>
</div>
</ContentGrid>
<Card title={I18N.whatActionsDo} collapsible collapseKey="scheduling-action-help">
<ul className="scheduling-action-help">
@@ -1426,7 +1427,7 @@ export default function SchedulingPage({ settings, auth }: { settings: ApiSettin
busy={saving}
onCancel={() => setDecisionTarget(null)}
onConfirm={() => void confirmSchedulingDecision()} />
</main>
</WorkspaceFrame>
);
function changeDraft(setter: (value: string) => void, value: string) {
-25
View File
@@ -1,12 +1,3 @@
.scheduling-page {
box-sizing: border-box;
height: calc(100vh - 115px);
min-height: 0;
overflow: hidden;
color: var(--text);
background: var(--bg);
}
.scheduling-public-page {
width: min(920px, calc(100% - 32px));
margin: 0 auto;
@@ -107,12 +98,6 @@
}
}
.scheduling-page *,
.scheduling-page *::before,
.scheduling-page *::after {
box-sizing: border-box;
}
.scheduling-workspace {
width: 100%;
height: 100%;
@@ -337,12 +322,6 @@
justify-items: start;
}
.scheduling-columns {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 12px;
}
.scheduling-compact-row {
min-height: 36px;
display: grid;
@@ -459,10 +438,6 @@
border-bottom: var(--border-line);
}
.scheduling-columns {
grid-template-columns: minmax(0, 1fr);
}
.scheduling-page-header {
align-items: flex-start;
flex-wrap: wrap;