Adopt semantic campaign page actions
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import type { ReactNode } from "react";
|
||||
import { Button, DismissibleAlert, PageLayout } from "@govoplan/core-webui";
|
||||
import { DismissibleAlert, PageActionBar, PageLayout } from "@govoplan/core-webui";
|
||||
import type { ApiSettings } from "../../../types";
|
||||
import type { CampaignVersionDetail, CampaignVersionListItem } from "../../../api/campaigns";
|
||||
import LockedVersionNotice from "./LockedVersionNotice";
|
||||
@@ -44,18 +44,20 @@ export default function CampaignDraftPageScaffold({
|
||||
}: CampaignDraftPageScaffoldProps) {
|
||||
return (
|
||||
<PageLayout
|
||||
archetype="editor"
|
||||
mode="workspace"
|
||||
title={title}
|
||||
description={<VersionLine version={version} versions={versions} status={saveState} />}
|
||||
loading={loading || !draft}
|
||||
loadingLabel="i18n:govoplan-campaign.loading_campaign_draft.1cf47e50"
|
||||
error={error || ""}
|
||||
actions={
|
||||
<>
|
||||
<Button onClick={onReload} disabled={loading}>Discard</Button>
|
||||
<Button variant="primary" onClick={onSave} disabled={!dirty || locked || !draft}>i18n:govoplan-campaign.save.efc007a3</Button>
|
||||
</>
|
||||
}
|
||||
actions={<PageActionBar
|
||||
variant="editor"
|
||||
dirty={dirty}
|
||||
saving={loading}
|
||||
discardAction={{ label: "i18n:govoplan-campaign.discard.36fff63c", onClick: onReload }}
|
||||
saveAction={{ label: "i18n:govoplan-campaign.save.efc007a3", onClick: onSave, disabled: (locked || !draft) && dirty, disabledReason: locked && dirty ? "This campaign version is locked." : !draft && dirty ? "The campaign draft is not available." : undefined }}
|
||||
/>}
|
||||
notices={(localError || locked) ?
|
||||
<>
|
||||
{localError && <DismissibleAlert tone="danger" resetKey={localError} floating>{localError}</DismissibleAlert>}
|
||||
|
||||
Reference in New Issue
Block a user