Adopt shared WebUI structural primitives
This commit is contained in:
@@ -38,6 +38,7 @@ import { ContentGrid, FormGrid,
|
|||||||
ToggleSwitch,
|
ToggleSwitch,
|
||||||
StatusBadge,
|
StatusBadge,
|
||||||
StageRail,
|
StageRail,
|
||||||
|
WorkspaceFrame,
|
||||||
hasScope,
|
hasScope,
|
||||||
i18nMessage,
|
i18nMessage,
|
||||||
isApiError,
|
isApiError,
|
||||||
@@ -891,7 +892,7 @@ export default function SchedulingPage({ settings, auth }: { settings: ApiSettin
|
|||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<main className="scheduling-page">
|
<WorkspaceFrame as="main" height="viewport" surface="plain" className="scheduling-page" label="Scheduling workspace">
|
||||||
<section className="scheduling-workspace">
|
<section className="scheduling-workspace">
|
||||||
<div className="scheduling-workspace-layout">
|
<div className="scheduling-workspace-layout">
|
||||||
<aside className="scheduling-request-sidebar">
|
<aside className="scheduling-request-sidebar">
|
||||||
@@ -1344,7 +1345,7 @@ export default function SchedulingPage({ settings, auth }: { settings: ApiSettin
|
|||||||
</Card>
|
</Card>
|
||||||
) : null}
|
) : null}
|
||||||
|
|
||||||
<div className="scheduling-columns">
|
<ContentGrid columns={2} gap="small" collapseAt="workspace" align="stretch">
|
||||||
<Card title={I18N.participants}>
|
<Card title={I18N.participants}>
|
||||||
<div className="scheduling-status-row">
|
<div className="scheduling-status-row">
|
||||||
<span>{i18nMessage("i18n:govoplan-scheduling.value_participants.e776b092", { value0: selected.participant_aggregate.total })}</span>
|
<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>
|
</div>
|
||||||
)) : <p className="scheduling-note">{I18N.noNotifications}</p>}
|
)) : <p className="scheduling-note">{I18N.noNotifications}</p>}
|
||||||
</Card>
|
</Card>
|
||||||
</div>
|
</ContentGrid>
|
||||||
|
|
||||||
<Card title={I18N.whatActionsDo} collapsible collapseKey="scheduling-action-help">
|
<Card title={I18N.whatActionsDo} collapsible collapseKey="scheduling-action-help">
|
||||||
<ul className="scheduling-action-help">
|
<ul className="scheduling-action-help">
|
||||||
@@ -1426,7 +1427,7 @@ export default function SchedulingPage({ settings, auth }: { settings: ApiSettin
|
|||||||
busy={saving}
|
busy={saving}
|
||||||
onCancel={() => setDecisionTarget(null)}
|
onCancel={() => setDecisionTarget(null)}
|
||||||
onConfirm={() => void confirmSchedulingDecision()} />
|
onConfirm={() => void confirmSchedulingDecision()} />
|
||||||
</main>
|
</WorkspaceFrame>
|
||||||
);
|
);
|
||||||
|
|
||||||
function changeDraft(setter: (value: string) => void, value: string) {
|
function changeDraft(setter: (value: string) => void, value: string) {
|
||||||
|
|||||||
@@ -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 {
|
.scheduling-public-page {
|
||||||
width: min(920px, calc(100% - 32px));
|
width: min(920px, calc(100% - 32px));
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
@@ -107,12 +98,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.scheduling-page *,
|
|
||||||
.scheduling-page *::before,
|
|
||||||
.scheduling-page *::after {
|
|
||||||
box-sizing: border-box;
|
|
||||||
}
|
|
||||||
|
|
||||||
.scheduling-workspace {
|
.scheduling-workspace {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
@@ -337,12 +322,6 @@
|
|||||||
justify-items: start;
|
justify-items: start;
|
||||||
}
|
}
|
||||||
|
|
||||||
.scheduling-columns {
|
|
||||||
display: grid;
|
|
||||||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
||||||
gap: 12px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.scheduling-compact-row {
|
.scheduling-compact-row {
|
||||||
min-height: 36px;
|
min-height: 36px;
|
||||||
display: grid;
|
display: grid;
|
||||||
@@ -459,10 +438,6 @@
|
|||||||
border-bottom: var(--border-line);
|
border-bottom: var(--border-line);
|
||||||
}
|
}
|
||||||
|
|
||||||
.scheduling-columns {
|
|
||||||
grid-template-columns: minmax(0, 1fr);
|
|
||||||
}
|
|
||||||
|
|
||||||
.scheduling-page-header {
|
.scheduling-page-header {
|
||||||
align-items: flex-start;
|
align-items: flex-start;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
|
|||||||
Reference in New Issue
Block a user