diff --git a/web/src/app/app/campaigns/[id]/layout.tsx b/web/src/app/app/campaigns/[id]/layout.tsx index 590e5268..a7035e10 100644 --- a/web/src/app/app/campaigns/[id]/layout.tsx +++ b/web/src/app/app/campaigns/[id]/layout.tsx @@ -24,7 +24,7 @@ import { usePresenceResource } from "@/hooks/PresenceProvider"; const TABS = [ { label: "Overview", path: "", Icon: BarChart3Icon }, { label: "Leads", path: "/leads", Icon: UsersIcon }, - { label: "Steps", path: "/sequences", Icon: ListChecksIcon }, + { label: "Steps", path: "/steps", Icon: ListChecksIcon }, { label: "Schedule", path: "/schedule", Icon: CalendarIcon }, { label: "Settings", path: "/preferences", Icon: Settings2Icon }, ] as const; diff --git a/web/src/app/app/campaigns/[id]/sequences/page.tsx b/web/src/app/app/campaigns/[id]/steps/page.tsx similarity index 89% rename from web/src/app/app/campaigns/[id]/sequences/page.tsx rename to web/src/app/app/campaigns/[id]/steps/page.tsx index 9f979200..6cb69edf 100644 --- a/web/src/app/app/campaigns/[id]/sequences/page.tsx +++ b/web/src/app/app/campaigns/[id]/steps/page.tsx @@ -9,20 +9,20 @@ import useCreateSequence from "@/lib/api/hooks/app/campaigns/sequences/useCreate import type { AppError } from "@/lib/api/client/normalizeError"; import buildError from "@/lib/helper/buildError"; -export default function CampaignSequences() { +export default function CampaignSteps() { const campaign = useCampaign(); if (!campaign) { - throw new Error("CampaignSequences cannot be rendered without a campaign"); + throw new Error("CampaignSteps cannot be rendered without a campaign"); } return ( - }> - + }> + ); } -function SequencesBuilder({ campaignId }: { campaignId: string }) { +function StepsBuilder({ campaignId }: { campaignId: string }) { const { data: sequences } = useSequences(campaignId); const createSequence = useCreateSequence(campaignId); const [creating, setCreating] = React.useState(false); @@ -74,6 +74,6 @@ function SequencesBuilder({ campaignId }: { campaignId: string }) { return ; } -function SequencesSkeleton() { +function StepsSkeleton() { return
; } diff --git a/web/src/app/app/campaigns/page.tsx b/web/src/app/app/campaigns/page.tsx index 8aa889bc..220a1694 100644 --- a/web/src/app/app/campaigns/page.tsx +++ b/web/src/app/app/campaigns/page.tsx @@ -324,7 +324,7 @@ export default function CampaignsPage() { ? "Loading…" : campaignsData.isError ? "Failed to load" - : `${campaigns.length} ${campaigns.length === 1 ? "sequence" : "sequences"}` + : `${campaigns.length} ${campaigns.length === 1 ? "campaign" : "campaigns"}` } > = [ [/^\/app\/campaigns\/[^/]+\/leads$/, "Campaign leads"], [/^\/app\/campaigns\/[^/]+\/preferences$/, "Campaign settings"], [/^\/app\/campaigns\/[^/]+\/schedule$/, "Campaign schedule"], - [/^\/app\/campaigns\/[^/]+\/sequences$/, "Campaign sequences"], + [/^\/app\/campaigns\/[^/]+\/steps$/, "Campaign steps"], [/^\/app\/campaigns\/[^/]+$/, "Campaign"], [/^\/app\/admin\/workers\/[^/]+$/, "Worker"], ]; diff --git a/web/src/hooks/usePermission.ts b/web/src/hooks/usePermission.ts index 6f8b22c7..ca4e4d21 100644 --- a/web/src/hooks/usePermission.ts +++ b/web/src/hooks/usePermission.ts @@ -26,7 +26,7 @@ export const PERMISSION_LABELS: Record = { VIEW_ANALYTICS: "View analytics", SEND_CAMPAIGNS: "Send campaigns", ACCESS_UNIBOX: "Use unified inbox", - MANAGE_SEQUENCES: "Manage sequences", + MANAGE_SEQUENCES: "Manage steps", MANAGE_SETTINGS: "Manage settings", VIEW_CAMPAIGNS: "View campaigns", VIEW_CONTACTS: "View contacts", diff --git a/web/src/lib/permissions.ts b/web/src/lib/permissions.ts index 344f6bb6..9b51ef40 100644 --- a/web/src/lib/permissions.ts +++ b/web/src/lib/permissions.ts @@ -39,11 +39,11 @@ export interface PermissionDef { export const PERMISSION_CATALOG: PermissionDef[] = [ // Data - { key: "VIEW_CAMPAIGNS", bit: PERMISSION_BITS.VIEW_CAMPAIGNS, label: "View campaigns", description: "Read campaign settings, sequences, and analytics.", category: "data" }, + { key: "VIEW_CAMPAIGNS", bit: PERMISSION_BITS.VIEW_CAMPAIGNS, label: "View campaigns", description: "Read campaign settings, steps, and analytics.", category: "data" }, { key: "MANAGE_CAMPAIGNS", bit: PERMISSION_BITS.MANAGE_CAMPAIGNS, label: "Manage campaigns", description: "Create, edit and archive campaigns.", category: "data" }, { key: "VIEW_CONTACTS", bit: PERMISSION_BITS.VIEW_CONTACTS, label: "View contacts", description: "Read contacts, segments and tags.", category: "data" }, { key: "MANAGE_CONTACTS", bit: PERMISSION_BITS.MANAGE_CONTACTS, label: "Manage contacts", description: "Create, edit and delete contacts.", category: "data" }, - { key: "MANAGE_SEQUENCES", bit: PERMISSION_BITS.MANAGE_SEQUENCES, label: "Manage sequences", description: "Edit step content + spacing inside a campaign.", category: "data" }, + { key: "MANAGE_SEQUENCES", bit: PERMISSION_BITS.MANAGE_SEQUENCES, label: "Manage steps", description: "Edit step content + spacing inside a campaign.", category: "data" }, { key: "VIEW_ANALYTICS", bit: PERMISSION_BITS.VIEW_ANALYTICS, label: "View analytics", description: "See deliverability + engagement reports.", category: "data" }, { key: "USE_INTEGRATIONS", bit: PERMISSION_BITS.USE_INTEGRATIONS, label: "Use integrations", description: "Push contacts and deals to connected CRMs and tools.", category: "data" }, // People diff --git a/web/src/main.tsx b/web/src/main.tsx index 8fd23fc6..3b1ff3cc 100644 --- a/web/src/main.tsx +++ b/web/src/main.tsx @@ -18,7 +18,7 @@ import CampaignPreview from './app/app/campaigns/[id]/page'; import CampaignLeads from './app/app/campaigns/[id]/leads/page'; import CampaignPreferences from './app/app/campaigns/[id]/preferences/page'; import CampaignSchedule from './app/app/campaigns/[id]/schedule/page'; -import CampaignSequences from './app/app/campaigns/[id]/sequences/page'; +import CampaignSteps from './app/app/campaigns/[id]/steps/page'; import AnalyticsPage from './app/app/analytics/page'; import DeliverabilityPage from './app/app/deliverability/page'; import PipelinesPage from './app/app/crm/pipelines/page'; @@ -230,7 +230,7 @@ const router = createBrowserRouter([ }, { path: "steps", - element: , + element: , } ] }