import type { CampaignWorkspaceSection } from "../types"; import { ModuleSubnav, type ModuleSubnavGroup } from "@govoplan/core-webui"; export type CampaignWorkspaceNavigationSection = CampaignWorkspaceSection | "activity" | "work"; const campaignSubnav: ModuleSubnavGroup[] = [ { items: [{ id: "overview", label: "i18n:govoplan-campaign.overview.0efc2e6b", primary: true }] }, { title: "i18n:govoplan-campaign.campaign.9e28fcfc", items: [ { id: "fields", label: "i18n:govoplan-campaign.fields.e8b68527" }, { id: "files", label: "i18n:govoplan-campaign.attachments.6771ade6" }, { id: "recipients", label: "i18n:govoplan-campaign.sender_recipients.922c6d24" }, { id: "template", label: "i18n:govoplan-campaign.template.3ec1ae06" }] }, { title: "i18n:govoplan-campaign.settings.c4b92432", items: [ { id: "mail-settings", label: "i18n:govoplan-campaign.mail_settings.19e07f55" }, { id: "global-settings", label: "i18n:govoplan-campaign.campaign_settings.efffec26" }] }, { title: "i18n:govoplan-campaign.policies.f03ff937", items: [ { id: "mail-policy", label: "i18n:govoplan-campaign.mail_policy.3eb5d32a" }, { id: "policies", label: "i18n:govoplan-campaign.campaign_policies.0b5de1f5" }] }, { title: "i18n:govoplan-campaign.send.a2469c47", items: [ { id: "review", label: "i18n:govoplan-campaign.review_send.1627617d" }] }, { title: "i18n:govoplan-campaign.report.7b8ddb90", items: [ { id: "report", label: "i18n:govoplan-campaign.report.ee45c303" }, { id: "work", label: "Campaign work" }, { id: "activity", label: "i18n:govoplan-campaign.collaboration" }, { id: "audit", label: "i18n:govoplan-campaign.audit_log.3cfc5f1c" }] }, { title: "i18n:govoplan-campaign.advanced.6052c880", items: [{ id: "json", label: "i18n:govoplan-campaign.json.031a4e76", subtle: true }] }]; export default function SectionSidebar({ active, onSelect, canReadActivity, canReadWork }: { active: CampaignWorkspaceNavigationSection; onSelect: (section: CampaignWorkspaceNavigationSection) => void; canReadActivity: boolean; canReadWork: boolean; }) { const groups = campaignSubnav.map((group) => ({ ...group, items: group.items.filter((item) => (item.id !== "activity" || canReadActivity) && (item.id !== "work" || canReadWork) ) })); return ; }