From 4544a894431ea07fd48aea99cf1a0a3276b25d7f Mon Sep 17 00:00:00 2001 From: Albrecht Degering Date: Wed, 10 Jun 2026 14:09:50 +0200 Subject: [PATCH] UI polishes, file chooser --- .gitignore | 5 +- multi-seal-mail-webui.tar.gz | Bin 111144 -> 0 bytes .../campaigns/AttachmentsDataPage.tsx | 16 +- src/features/campaigns/CampaignAuditPage.tsx | 23 +- src/features/campaigns/CampaignJsonView.tsx | 10 +- src/features/campaigns/CampaignListPage.tsx | 31 +-- src/features/campaigns/CampaignReportPage.tsx | 4 +- src/features/campaigns/CampaignWorkspace.tsx | 2 +- src/features/campaigns/RecipientDataPage.tsx | 28 +- src/features/campaigns/ReviewDataPage.tsx | 1 + src/features/campaigns/SendDataPage.tsx | 6 +- .../components/AttachmentRulesOverlay.tsx | 257 ++++++++++++------ src/styles/campaign-workspace.css | 89 ++++++ 13 files changed, 357 insertions(+), 115 deletions(-) delete mode 100644 multi-seal-mail-webui.tar.gz diff --git a/.gitignore b/.gitignore index 5588837..57968ce 100644 --- a/.gitignore +++ b/.gitignore @@ -420,4 +420,7 @@ bin-release/ # should NOT be excluded as they contain compiler settings and other important # information for Eclipse / Flash Builder. -.fuse_* \ No newline at end of file +.fuse_* + +multisealmail-*.zip +multi-seal-mail-webui*.tar.gz \ No newline at end of file diff --git a/multi-seal-mail-webui.tar.gz b/multi-seal-mail-webui.tar.gz deleted file mode 100644 index d246448561a112c137f015d242cd12b19442a845..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 111144 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

    )YV-C=aLndU|0U1tn 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%0AX(jgFp|@k8?wizHDVZ$&ro6t^6hvr#URc? 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 Ib^sCx0Dj7S`Tzg` diff --git a/src/features/campaigns/AttachmentsDataPage.tsx b/src/features/campaigns/AttachmentsDataPage.tsx index 3d35335..acf8c7c 100644 --- a/src/features/campaigns/AttachmentsDataPage.tsx +++ b/src/features/campaigns/AttachmentsDataPage.tsx @@ -158,7 +158,21 @@ export default function AttachmentsDataPage({ settings, campaignId }: { settings patchBasePath(index, { name: event.target.value })} />

    - + !locked && setPathChooser({ index })} + onKeyDown={(event) => { + if (!locked && (event.key === "Enter" || event.key === " ")) { + event.preventDefault(); + setPathChooser({ index }); + } + }} + />
    diff --git a/src/features/campaigns/CampaignAuditPage.tsx b/src/features/campaigns/CampaignAuditPage.tsx index 28a85be..974b277 100644 --- a/src/features/campaigns/CampaignAuditPage.tsx +++ b/src/features/campaigns/CampaignAuditPage.tsx @@ -1,11 +1,28 @@ +import type { ApiSettings } from "../../types"; +import Button from "../../components/Button"; import Card from "../../components/Card"; +import PageTitle from "../../components/PageTitle"; +import { useCampaignWorkspaceData } from "./hooks/useCampaignWorkspaceData"; +import { formatDateTime } from "./utils/campaignView"; + +export default function CampaignAuditPage({ settings, campaignId }: { settings: ApiSettings; campaignId: string }) { + const { data, loading, error, reload } = useCampaignWorkspaceData(settings, campaignId); + const version = data.currentVersion; -export default function CampaignAuditPage() { return (
    -
    -

    Audit log

    +
    +
    + Audit log +

    Version {version ? `#${version.version_number}` : "—"} · Loaded {formatDateTime(version?.updated_at)}

    +
    +
    + +
    + + {error &&
    {error}
    } +

    Campaign-specific audit API integration will be added in the audit section pass.

    diff --git a/src/features/campaigns/CampaignJsonView.tsx b/src/features/campaigns/CampaignJsonView.tsx index 80a1c24..513edc6 100644 --- a/src/features/campaigns/CampaignJsonView.tsx +++ b/src/features/campaigns/CampaignJsonView.tsx @@ -3,12 +3,13 @@ import Card from "../../components/Card"; import Button from "../../components/Button"; import PageTitle from "../../components/PageTitle"; import { useCampaignWorkspaceData } from "./hooks/useCampaignWorkspaceData"; -import { asRecord, getCampaignJson } from "./utils/campaignView"; +import { asRecord, formatDateTime, getCampaignJson } from "./utils/campaignView"; import { downloadJson, safeFileStem } from "./utils/draftEditor"; export default function CampaignJsonView({ settings, campaignId }: { settings: ApiSettings; campaignId: string }) { const { data, loading, error, reload } = useCampaignWorkspaceData(settings, campaignId); - const campaignJson = getCampaignJson(data.currentVersion); + const version = data.currentVersion; + const campaignJson = getCampaignJson(version); const campaign = asRecord(campaignJson.campaign); const filename = `${safeFileStem(String(campaign.id || data.campaign?.external_id || campaignId))}.json`; @@ -17,15 +18,16 @@ export default function CampaignJsonView({ settings, campaignId }: { settings: A
    JSON +

    Version {version ? `#${version.version_number}` : "—"} · Loaded {formatDateTime(version?.updated_at)}

    - +
    {error &&
    {error}
    } - {!loading || data.currentVersion ?
    {JSON.stringify(campaignJson, null, 2)}
    :
    {"{}"}
    } + {!loading || version ?
    {JSON.stringify(campaignJson, null, 2)}
    :
    {"{}"}
    }
    ); diff --git a/src/features/campaigns/CampaignListPage.tsx b/src/features/campaigns/CampaignListPage.tsx index f852d90..f5a469d 100644 --- a/src/features/campaigns/CampaignListPage.tsx +++ b/src/features/campaigns/CampaignListPage.tsx @@ -4,7 +4,7 @@ import type { ApiSettings } from "../../types"; import Card from "../../components/Card"; import Button from "../../components/Button"; import StatusBadge from "../../components/StatusBadge"; -import LoadingIndicator from "../../components/LoadingIndicator"; +import PageTitle from "../../components/PageTitle"; import { createNewCampaign, listCampaigns } from "../../api/campaigns"; import type { CampaignListItem } from "../../types"; @@ -58,21 +58,20 @@ export default function CampaignListPage({ settings }: { settings: ApiSettings } {error &&
    {error}
    } - All campaigns {loading && }} - actions={ -
    - {lastLoadedAt && Last loaded: {lastLoadedAt}} -
    - - -
    -
    - } - > - +
    +
    + All campaigns +

    {lastLoadedAt ? `Last loaded: ${lastLoadedAt}` : "Not loaded yet"}

    +
    +
    + + +
    +
    + + {!loading && campaigns.length === 0 && (

    No campaigns yet

    diff --git a/src/features/campaigns/CampaignReportPage.tsx b/src/features/campaigns/CampaignReportPage.tsx index 5eee7e1..5666e41 100644 --- a/src/features/campaigns/CampaignReportPage.tsx +++ b/src/features/campaigns/CampaignReportPage.tsx @@ -6,7 +6,8 @@ import { useCampaignWorkspaceData } from "./hooks/useCampaignWorkspaceData"; import { formatDateTime } from "./utils/campaignView"; export default function CampaignReportPage({ settings, campaignId }: { settings: ApiSettings; campaignId: string }) { - const { data, loading, error, reload } = useCampaignWorkspaceData(settings, campaignId, { includeCurrentVersion: false, includeSummary: true }); + const { data, loading, error, reload } = useCampaignWorkspaceData(settings, campaignId, { includeSummary: true }); + const version = data.currentVersion; const cards = data.summary?.cards; return ( @@ -14,6 +15,7 @@ export default function CampaignReportPage({ settings, campaignId }: { settings:
    Report +

    Version {version ? `#${version.version_number}` : "—"} · Loaded {formatDateTime(version?.updated_at ?? data.summary?.generated_at)}

    diff --git a/src/features/campaigns/CampaignWorkspace.tsx b/src/features/campaigns/CampaignWorkspace.tsx index 1d1f1b0..cbc864e 100644 --- a/src/features/campaigns/CampaignWorkspace.tsx +++ b/src/features/campaigns/CampaignWorkspace.tsx @@ -76,7 +76,7 @@ function CampaignWorkspaceInner({ settings }: { settings: ApiSettings }) { } /> } /> } /> - } /> + } /> } /> } /> } /> diff --git a/src/features/campaigns/RecipientDataPage.tsx b/src/features/campaigns/RecipientDataPage.tsx index a974760..08526f8 100644 --- a/src/features/campaigns/RecipientDataPage.tsx +++ b/src/features/campaigns/RecipientDataPage.tsx @@ -12,7 +12,7 @@ import { asArray, asRecord, formatDateTime, isAuditLockedVersion, isRecord, vers import { ensureCampaignDraft, getBool, getText, updateNested } from "./utils/draftEditor"; import { useRegisterCampaignUnsavedChanges } from "./context/UnsavedChangesContext"; import FieldValueInput from "./components/FieldValueInput"; -import AttachmentRulesOverlay, { type AttachmentRule } from "./components/AttachmentRulesOverlay"; +import AttachmentRulesOverlay, { type AttachmentBasePath, type AttachmentRule } from "./components/AttachmentRulesOverlay"; import { addressesFromValue, collectCampaignAddressSuggestions, @@ -46,6 +46,12 @@ export default function RecipientDataPage({ settings, campaignId }: { settings: const inlineEntries = asArray(entries.inline).map(asRecord); const source = asRecord(entries.source); const fieldDefinitions = useMemo(() => getDraftFields(draft), [draft]); + const attachmentSection = asRecord(draft?.attachments); + const attachmentBasePaths = useMemo(() => normalizeAttachmentBasePaths(attachmentSection.base_paths, attachmentSection), [draft?.attachments]); + const individualAttachmentBasePaths = useMemo(() => { + const enabled = attachmentBasePaths.filter((basePath) => basePath.allow_individual); + return enabled.length > 0 ? enabled : attachmentBasePaths; + }, [attachmentBasePaths]); const addressSuggestions = useMemo(() => collectCampaignAddressSuggestions(draft), [draft]); const globalRecipientValues: Record = { to: addressesFromValue(recipientsSection.to), @@ -292,6 +298,7 @@ export default function RecipientDataPage({ settings, campaignId }: { settings: title={`Attachments for recipient ${index + 1}`} rules={attachments} disabled={locked} + basePaths={individualAttachmentBasePaths} onChange={(rules) => updateEntryAttachments(index, rules)} /> @@ -347,6 +354,25 @@ function fallbackRecipientAddress(entry: Record): MailboxAddres return direct?.email ? [direct] : []; } +function normalizeAttachmentBasePaths(value: unknown, attachments: Record): AttachmentBasePath[] { + if (Array.isArray(value) && value.length > 0) { + return value.filter(isRecord).map((basePath, index) => ({ + id: getText(basePath, "id", `base-path-${index + 1}`), + name: getText(basePath, "name", `Base path ${index + 1}`), + source: getText(basePath, "source"), + path: getText(basePath, "path", index === 0 ? getText(attachments, "base_path", ".") : "."), + allow_individual: getBool(basePath, "allow_individual") + })); + } + + return [{ + id: "base-path-campaign", + name: "Campaign files", + path: getText(attachments, "base_path", "."), + allow_individual: getBool(attachments, "allow_individual", true) + }]; +} + function normalizeAttachmentRules(value: unknown): AttachmentRule[] { if (!Array.isArray(value)) return []; return value.filter(isRecord).map((rule) => ({ ...rule })); diff --git a/src/features/campaigns/ReviewDataPage.tsx b/src/features/campaigns/ReviewDataPage.tsx index e7e3d1b..05f2a8e 100644 --- a/src/features/campaigns/ReviewDataPage.tsx +++ b/src/features/campaigns/ReviewDataPage.tsx @@ -17,6 +17,7 @@ export default function ReviewDataPage({ settings, campaignId }: { settings: Api
    Review +

    Version {version ? `#${version.version_number}` : "—"} · Loaded {formatDateTime(version?.updated_at)}

    diff --git a/src/features/campaigns/SendDataPage.tsx b/src/features/campaigns/SendDataPage.tsx index e40c580..e3816dd 100644 --- a/src/features/campaigns/SendDataPage.tsx +++ b/src/features/campaigns/SendDataPage.tsx @@ -5,12 +5,13 @@ import PageTitle from "../../components/PageTitle"; import Card from "../../components/Card"; import MetricCard from "../../components/MetricCard"; import { useCampaignWorkspaceData } from "./hooks/useCampaignWorkspaceData"; -import { asRecord, getDeliverySection, getNestedString } from "./utils/campaignView"; +import { asRecord, formatDateTime, getDeliverySection, getNestedString } from "./utils/campaignView"; export default function SendDataPage({ settings, campaignId }: { settings: ApiSettings; campaignId: string }) { const { data, loading, error, reload } = useCampaignWorkspaceData(settings, campaignId, { includeSummary: true }); + const version = data.currentVersion; const cards = data.summary?.cards; - const delivery = getDeliverySection(data.currentVersion); + const delivery = getDeliverySection(version); const rateLimit = asRecord(delivery.rate_limit); const imapAppend = asRecord(delivery.imap_append_sent); const retry = asRecord(delivery.retry); @@ -20,6 +21,7 @@ export default function SendDataPage({ settings, campaignId }: { settings: ApiSe
    Send +

    Version {version ? `#${version.version_number}` : "—"} · Loaded {formatDateTime(version?.updated_at)}

    diff --git a/src/features/campaigns/components/AttachmentRulesOverlay.tsx b/src/features/campaigns/components/AttachmentRulesOverlay.tsx index 25df9a9..f8e01b7 100644 --- a/src/features/campaigns/components/AttachmentRulesOverlay.tsx +++ b/src/features/campaigns/components/AttachmentRulesOverlay.tsx @@ -29,6 +29,8 @@ type AttachmentRulesTableProps = { emptyText?: string; basePaths?: AttachmentBasePath[]; showAddButton?: boolean; + activeChooserRuleIndex?: number | null; + onOpenFileChooser?: (ruleIndex: number) => void; onChange: (rules: AttachmentRule[]) => void; }; @@ -47,28 +49,70 @@ export default function AttachmentRulesOverlay({ onChange }: AttachmentRulesOverlayProps) { const [open, setOpen] = useState(false); + const [fileChooser, setFileChooser] = useState(null); const summary = useMemo(() => summarizeAttachmentRules(rules), [rules]); const label = buttonLabel ?? `direct: ${summary.direct} / rules: ${summary.rules}`; + function patchRule(index: number, patch: Partial) { + onChange(rules.map((rule, currentIndex) => currentIndex === index ? { ...rule, ...patch } : rule)); + } + + function openFileChooser(ruleIndex: number) { + const rule = rules[ruleIndex] ?? {}; + setFileChooser({ ruleIndex, basePath: getText(rule, "base_dir", basePaths[0]?.path ?? "") }); + } + + function selectFileFilter(fileFilter: string) { + if (!fileChooser) return; + patchRule(fileChooser.ruleIndex, { file_filter: fileFilter }); + setFileChooser(null); + } + + function closeOverlay() { + setFileChooser(null); + setOpen(false); + } + + const activeRule = fileChooser ? rules[fileChooser.ruleIndex] : undefined; + const activeBasePath = fileChooser + ? getText(activeRule ?? {}, "base_dir", fileChooser.basePath || basePaths[0]?.path || "") + : ""; + const dialog = open ? createPortal(
    -

    {title}

    - +

    {fileChooser ? "Choose file or pattern" : title}

    +
    -

    Use direct files for fixed attachments and rules/patterns for files resolved during build.

    - + {fileChooser ? ( + setFileChooser(null)} + /> + ) : ( + <> +

    Use direct files for fixed attachments and rules/patterns for files resolved during build.

    + + + )}
    - + {fileChooser ? ( + + ) : ( + + )}
    , @@ -91,6 +135,8 @@ export function AttachmentRulesTable({ emptyText = "No attachment files or matching rules configured yet.", basePaths = [], showAddButton = true, + activeChooserRuleIndex = null, + onOpenFileChooser, onChange }: AttachmentRulesTableProps) { const [fileChooser, setFileChooser] = useState(null); @@ -115,90 +161,112 @@ export function AttachmentRulesTable({ } function removeRule(index: number) { + setFileChooser(null); onChange(rules.filter((_, currentIndex) => currentIndex !== index)); } function openFileChooser(ruleIndex: number) { + if (onOpenFileChooser) { + onOpenFileChooser(ruleIndex); + return; + } const rule = rules[ruleIndex] ?? {}; setFileChooser({ ruleIndex, basePath: getText(rule, "base_dir", basePaths[0]?.path ?? "") }); } + function selectFileFilter(fileFilter: string) { + if (!fileChooser) return; + patchRule(fileChooser.ruleIndex, { file_filter: fileFilter }); + setFileChooser(null); + } + + const activeRule = fileChooser ? rules[fileChooser.ruleIndex] : undefined; + const activeBasePath = fileChooser + ? getText(activeRule ?? {}, "base_dir", fileChooser.basePath || basePaths[0]?.path || "") + : ""; + return ( - <> - {rules.length === 0 ? ( -

    {emptyText}

    - ) : ( -
    - - - - - - - - - - - - - {rules.map((rule, index) => { - const currentBasePath = getText(rule, "base_dir", basePaths[0]?.path ?? ""); - return ( - - - - - - - - - ); - })} - -
    LabelBase pathFile / patternRequiredSubdirs
    patchRule(index, { label: event.target.value })} /> - {basePaths.length > 0 ? ( - - ) : ( - - )} - -
    - - -
    -
    patchRule(index, { required: checked })} /> patchRule(index, { include_subdirs: checked })} />
    -
    - )} - {showAddButton && ( -
    - -
    - )} +
    +
    + {rules.length === 0 ? ( +

    {emptyText}

    + ) : ( +
    + + + + + + + + + + + + + {rules.map((rule, index) => { + const currentBasePath = getText(rule, "base_dir", basePaths[0]?.path ?? ""); + const isChoosingFile = (activeChooserRuleIndex ?? fileChooser?.ruleIndex) === index; + return ( + + + + + + + + + ); + })} + +
    LabelBase pathFile / patternRequiredSubdirs
    patchRule(index, { label: event.target.value })} /> + {basePaths.length > 0 ? ( + + ) : ( + + )} + +
    + !disabled && openFileChooser(index)} + onKeyDown={(event) => { + if (!disabled && (event.key === "Enter" || event.key === " ")) { + event.preventDefault(); + openFileChooser(index); + } + }} + /> + +
    +
    patchRule(index, { required: checked })} /> patchRule(index, { include_subdirs: checked })} />
    +
    + )} + {showAddButton && ( +
    + +
    + )} +
    {fileChooser && ( { - patchRule(fileChooser.ruleIndex, { file_filter: fileFilter }); - setFileChooser(null); - }} + basePath={activeBasePath} + onSelect={selectFileFilter} onClose={() => setFileChooser(null)} /> )} - +
    ); } function MockFileChooserOverlay({ basePath, onSelect, onClose }: { basePath: string; onSelect: (fileFilter: string) => void; onClose: () => void }) { - const files = [ - "welcome.pdf", - "terms-and-conditions.pdf", - "invoice_{{local:invoice_number}}.pdf", - "{{local:recipient_id}}/certificate.pdf", - "attachments/{{local:email}}/*.pdf" - ]; - return createPortal(
    @@ -207,14 +275,7 @@ function MockFileChooserOverlay({ basePath, onSelect, onClose }: { basePath: str
    -

    Mock chooser for now. Later this will browse uploaded files below {basePath || "."}.

    -
    - {files.map((file) => ( - - ))} -
    +