feat(admin): add Compose and Settings tabs to Harvest Reach communications

- Add Compose tab that displays CampaignComposerPage with 4-step wizard
- Add Settings tab linking to existing /admin/communications/settings
- Complete the 8-tab navigation structure for Harvest Reach module

Tabs: Campaigns, Compose, Segments, Analytics, Templates, Contacts, Logs, Settings
This commit is contained in:
2026-06-02 14:49:13 +00:00
parent 12f9b2da99
commit f53f72e5a2
2 changed files with 26 additions and 4 deletions
+3 -1
View File
@@ -8,6 +8,7 @@ const TABS = [
{ id: "templates", label: "Templates" },
{ id: "contacts", label: "Contacts" },
{ id: "logs", label: "Logs" },
{ id: "settings", label: "Settings" },
];
// Icon components
@@ -81,7 +82,7 @@ const Icons = {
export default function CommunicationsNav({
activeTab,
}: {
activeTab: "campaigns" | "templates" | "contacts" | "logs" | "segments" | "analytics" | "compose";
activeTab: "campaigns" | "templates" | "contacts" | "logs" | "segments" | "analytics" | "compose" | "settings";
}) {
return (
<nav className="grid grid-cols-4 sm:grid-cols-7 gap-1 p-1.5 rounded-xl bg-white border border-stone-200">
@@ -104,6 +105,7 @@ export default function CommunicationsNav({
{tab.id === "templates" && Icons.fileText("h-3.5 w-3.5 sm:h-4 sm:w-4")}
{tab.id === "contacts" && Icons.userCheck("h-3.5 w-3.5 sm:h-4 sm:w-4")}
{tab.id === "logs" && Icons.list("h-3.5 w-3.5 sm:h-4 sm:w-4")}
{tab.id === "settings" && Icons.settings("h-3.5 w-3.5 sm:h-4 sm:w-4")}
<span>{tab.label}</span>
{isActive && (
<div className="absolute bottom-1 sm:bottom-1.5 left-1/2 -translate-x-1/2 h-0.5 w-4 sm:w-8 bg-white rounded-full" />