From 4ba43dd3b64776413f813e091f527aa3e56bfc84 Mon Sep 17 00:00:00 2001 From: Dries Augustyns Date: Sat, 9 May 2026 16:36:47 +0200 Subject: [PATCH] feat: add external link to edit email templates in SendEmailStepDialog and WorkflowBuilder --- apps/web/src/components/WorkflowBuilder.tsx | 20 ++++++++++++++----- .../workflow-steps/SendEmailStepDialog.tsx | 16 ++++++++++++++- 2 files changed, 30 insertions(+), 6 deletions(-) diff --git a/apps/web/src/components/WorkflowBuilder.tsx b/apps/web/src/components/WorkflowBuilder.tsx index efde17f..35e6e6a 100644 --- a/apps/web/src/components/WorkflowBuilder.tsx +++ b/apps/web/src/components/WorkflowBuilder.tsx @@ -17,6 +17,7 @@ import '@xyflow/react/dist/style.css'; import type {WorkflowStep} from '@plunk/db'; import { Clock, + ExternalLink, GitBranch, Hourglass, Lightbulb, @@ -243,7 +244,7 @@ function CustomNode({ bgColor?: string; onEdit?: () => void; onDelete?: () => void; - template?: {name: string}; + template?: {id: string; name: string}; config?: any; }; }) { @@ -341,10 +342,19 @@ function CustomNode({ {/* Details */} {data.template && (
-
- - {data.template.name} -
+ e.stopPropagation()} + onMouseDown={e => e.stopPropagation()} + className="nodrag flex items-center gap-2 text-xs text-neutral-600 hover:text-blue-600 hover:bg-blue-50 -mx-2 px-2 py-1 rounded transition-colors group/template" + title="Open template in a new tab" + > + + {data.template.name} + +
)} {data.type === 'DELAY' && data.config?.amount && ( diff --git a/apps/web/src/components/workflow-steps/SendEmailStepDialog.tsx b/apps/web/src/components/workflow-steps/SendEmailStepDialog.tsx index 6c0c42d..bf83d76 100644 --- a/apps/web/src/components/workflow-steps/SendEmailStepDialog.tsx +++ b/apps/web/src/components/workflow-steps/SendEmailStepDialog.tsx @@ -1,4 +1,5 @@ import {Label, Select, SelectContent, SelectItemWithDescription, SelectTrigger, SelectValue, Input} from '@plunk/ui'; +import {ExternalLink} from 'lucide-react'; import {useState} from 'react'; import {toast} from 'sonner'; @@ -68,7 +69,20 @@ export function SendEmailStepDialog({step, workflowId, open, onOpenChange, onSuc >
- +
+ + {templateId && ( + + Edit template + + + )} +