Files
govoplan-campaign/webui/src/features/campaigns/components/LegacyMailMigrationNotice.tsx
T
zemion c51fc180fb
Module Package Release / publish-packages (push) Successful in 12s
Release govoplan-campaign v0.1.28: stabilize saving, review and delivery recovery
2026-09-08 01:32:26 +02:00

38 lines
1.3 KiB
TypeScript

import { Button, DismissibleAlert, useGuardedNavigate } from "@govoplan/core-webui";
type LegacyMailMigrationNoticeProps = {
campaignId: string;
versionId?: string;
showSettingsLink?: boolean;
onMigrate?: () => void;
canMigrate?: boolean;
busy?: boolean;
};
export default function LegacyMailMigrationNotice({
campaignId,
versionId,
showSettingsLink = true,
onMigrate,
canMigrate = false,
busy = false
}: LegacyMailMigrationNoticeProps) {
const navigate = useGuardedNavigate();
const query = versionId ? `?version=${encodeURIComponent(versionId)}` : "";
return (
<DismissibleAlert tone="warning" dismissible={false}>
<p>i18n:govoplan-campaign.legacy_mail_migration_required</p>
<div className="button-row compact-actions">
{showSettingsLink && <Button
onClick={() => navigate(`/campaigns/${encodeURIComponent(campaignId)}/mail-settings${query}`)}
disabled={busy}
>i18n:govoplan-campaign.open_mail_settings</Button>}
{onMigrate && <Button variant="primary" onClick={onMigrate} disabled={!canMigrate || busy}>
{busy ? "i18n:govoplan-campaign.migrating_mail_profile" : "i18n:govoplan-campaign.migrate_selected_mail_profile"}
</Button>}
</div>
</DismissibleAlert>
);
}