mirror of
https://github.com/warmbly/warmbly.git
synced 2026-09-08 16:02:24 +00:00
feat: mount StepAttachments under the step composer in SequenceView for email steps so per-step attachments can be seen, uploaded and removed from the dashboard, and describe per-step attachments in the sequences guide (issue #307 item 3)
This commit is contained in:
@@ -26,6 +26,8 @@ The Preview tab renders through the real send engine against a sample contact, s
|
||||
Apply a saved template to a step, or save a step as a reusable one from the composer. Templates carry their subject and body and live in your shared library.
|
||||
</Callout>
|
||||
|
||||
Upload attachments for each step below its composer by dragging and dropping files or clicking the upload area. They are included with every email sent by that step and can be removed there. Campaign-level attachments without a `step_id`, which can only be added through the API, do not appear in the step composer.
|
||||
|
||||
### Action steps
|
||||
|
||||
A step can perform an action instead of sending: add or remove a tag, label email, create a task, create a deal or move its stage, unsubscribe the contact, notify (fires your webhooks and integrations), run an automation, or switch. They connect like email steps and work best at the end of a reply branch, for example creating a deal and notifying your team on a positive reply.
|
||||
|
||||
@@ -9,6 +9,7 @@ import { GitBranchIcon, Loader2Icon } from "lucide-react";
|
||||
import toast from "react-hot-toast";
|
||||
import type Sequence from "@/lib/api/models/app/campaigns/sequences/Sequence";
|
||||
import EmailContentEditor from "./EmailContentEditor";
|
||||
import StepAttachments from "./StepAttachments";
|
||||
import { Label, TextInput } from "@/components/ui/field";
|
||||
import useUpdateSequence from "@/lib/api/hooks/app/campaigns/sequences/useUpdateSequence";
|
||||
import type { AppError } from "@/lib/api/client/normalizeError";
|
||||
@@ -134,6 +135,10 @@ export default function SequenceView({
|
||||
</p>
|
||||
</div>
|
||||
)}
|
||||
|
||||
{sequence.kind === "email" && (
|
||||
<StepAttachments campaignId={campaignId} sequenceId={sequence.id} />
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user