feat: harden campaign delivery and editing
This commit is contained in:
@@ -1,22 +1,26 @@
|
||||
import { useEffect, useState } from "react";
|
||||
import { lazy, useEffect, useState } from "react";
|
||||
import { Navigate, Route, Routes, useLocation, useNavigate, useParams } from "react-router-dom";
|
||||
import { useGuardedNavigate } from "@govoplan/core-webui";
|
||||
import {
|
||||
ConcurrencyConflictProvider,
|
||||
useGuardedNavigate
|
||||
} from "@govoplan/core-webui";
|
||||
import type { ApiSettings, AuthInfo, CampaignWorkspaceSection } from "../../types";
|
||||
import SectionSidebar from "../../layout/SectionSidebar";
|
||||
import CampaignOverviewPage from "./CampaignOverviewPage";
|
||||
import CampaignFieldsPage from "./CampaignFieldsPage";
|
||||
import GlobalSettingsPage from "./GlobalSettingsPage";
|
||||
import RecipientDataPage from "./RecipientDataPage";
|
||||
import TemplateDataPage from "./TemplateDataPage";
|
||||
import AttachmentsDataPage from "./AttachmentsDataPage";
|
||||
import MailSettingsPage from "./MailSettingsPage";
|
||||
import ReviewSendPage from "./ReviewSendPage";
|
||||
import CreateWizard from "./wizard/CreateWizard";
|
||||
import ReviewWizard from "./wizard/ReviewWizard";
|
||||
import SendWizard from "./wizard/SendWizard";
|
||||
import CampaignJsonView from "./CampaignJsonView";
|
||||
import CampaignReportPage from "./CampaignReportPage";
|
||||
import CampaignAuditPage from "./CampaignAuditPage";
|
||||
|
||||
const CampaignOverviewPage = lazy(() => import("./CampaignOverviewPage"));
|
||||
const CampaignFieldsPage = lazy(() => import("./CampaignFieldsPage"));
|
||||
const GlobalSettingsPage = lazy(() => import("./GlobalSettingsPage"));
|
||||
const RecipientDataPage = lazy(() => import("./RecipientDataPage"));
|
||||
const TemplateDataPage = lazy(() => import("./TemplateDataPage"));
|
||||
const AttachmentsDataPage = lazy(() => import("./AttachmentsDataPage"));
|
||||
const MailSettingsPage = lazy(() => import("./MailSettingsPage"));
|
||||
const ReviewSendPage = lazy(() => import("./ReviewSendPage"));
|
||||
const CreateWizard = lazy(() => import("./wizard/CreateWizard"));
|
||||
const ReviewWizard = lazy(() => import("./wizard/ReviewWizard"));
|
||||
const SendWizard = lazy(() => import("./wizard/SendWizard"));
|
||||
const CampaignJsonView = lazy(() => import("./CampaignJsonView"));
|
||||
const CampaignReportPage = lazy(() => import("./CampaignReportPage"));
|
||||
const CampaignAuditPage = lazy(() => import("./CampaignAuditPage"));
|
||||
|
||||
const sectionPaths: Record<CampaignWorkspaceSection, string> = {
|
||||
overview: "",
|
||||
@@ -37,7 +41,11 @@ const sectionPaths: Record<CampaignWorkspaceSection, string> = {
|
||||
};
|
||||
|
||||
export default function CampaignWorkspace({ settings, auth }: { settings: ApiSettings; auth: AuthInfo }) {
|
||||
return <CampaignWorkspaceInner settings={settings} auth={auth} />;
|
||||
return (
|
||||
<ConcurrencyConflictProvider>
|
||||
<CampaignWorkspaceInner settings={settings} auth={auth} />
|
||||
</ConcurrencyConflictProvider>
|
||||
);
|
||||
}
|
||||
|
||||
function CampaignWorkspaceInner({ settings, auth }: { settings: ApiSettings; auth: AuthInfo }) {
|
||||
|
||||
Reference in New Issue
Block a user