58 lines
1.4 KiB
TypeScript
58 lines
1.4 KiB
TypeScript
import { Link } from "react-router";
|
|
import {
|
|
PageActionBar,
|
|
PageLayout,
|
|
WizardDirectory,
|
|
usePlatformUiCapabilities,
|
|
wizardEntriesForContext,
|
|
type ApiSettings,
|
|
type AuthInfo,
|
|
type WizardDirectoriesUiCapability
|
|
} from "@govoplan/core-webui";
|
|
|
|
import { campaignWizardDirectories } from "./directory";
|
|
|
|
export default function WizardDirectoryPage({
|
|
settings,
|
|
auth,
|
|
campaignId
|
|
}: {
|
|
settings: ApiSettings;
|
|
auth: AuthInfo;
|
|
campaignId: string;
|
|
}) {
|
|
const contributed = usePlatformUiCapabilities<WizardDirectoriesUiCapability>(
|
|
"wizard.directories"
|
|
);
|
|
const capabilities = contributed.some((capability) =>
|
|
capability.directories.some(
|
|
(directory) => directory.id === "campaigns.resource"
|
|
)
|
|
)
|
|
? contributed
|
|
: [...contributed, campaignWizardDirectories];
|
|
const entries = wizardEntriesForContext(capabilities, {
|
|
settings,
|
|
auth,
|
|
contextId: "campaign.resource",
|
|
resourceId: campaignId
|
|
});
|
|
|
|
return (
|
|
<PageLayout
|
|
archetype="collection"
|
|
mode="workspace"
|
|
title="i18n:govoplan-campaign.guided_workflows"
|
|
actions={<PageActionBar variant="collection" contextActions={<Link className="btn btn-secondary" to="../">
|
|
i18n:govoplan-campaign.back_to_overview.ec986cba
|
|
</Link>} />}
|
|
>
|
|
<WizardDirectory
|
|
entries={entries}
|
|
auth={auth}
|
|
emptyText="i18n:govoplan-campaign.no_guided_workflows"
|
|
/>
|
|
</PageLayout>
|
|
);
|
|
}
|