38 lines
1.3 KiB
TypeScript
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>
|
|
);
|
|
}
|