Skip to content

Commit 20312be

Browse files
BillLeoutsakosvl346Bill Leoutsakos
andauthored
improvement(ui): share workflow panel tab buttons (#8072)
* improvement(ui): share workflow panel tab buttons * improvement(ui): reuse chips for panel selection actions (#8166) Co-authored-by: Bill Leoutsakos <billleoutsakos@Bills-MacBook-Pro.local> --------- Co-authored-by: Bill Leoutsakos <billleoutsakos@Bills-MacBook-Pro.local>
1 parent f8bafb5 commit 20312be

2 files changed

Lines changed: 16 additions & 46 deletions

File tree

‎apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/panel.tsx‎

Lines changed: 11 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -741,7 +741,7 @@ export const Panel = memo(function Panel() {
741741
<div className='flex gap-1.5'>
742742
<DropdownMenu open={isMenuOpen} onOpenChange={setIsMenuOpen}>
743743
<DropdownMenuTrigger asChild>
744-
<Button aria-label='Workflow actions' className='size-[30px]'>
744+
<Button aria-label='Workflow actions' iconSize='regular'>
745745
<MoreHorizontal className='size-[14px]' />
746746
</Button>
747747
</DropdownMenuTrigger>
@@ -802,7 +802,7 @@ export const Panel = memo(function Panel() {
802802
</DropdownMenu>
803803
<Button
804804
aria-label={isChatOpen ? 'Close chat' : 'Open chat'}
805-
className='size-[30px]'
805+
iconSize='regular'
806806
variant={isChatOpen ? 'active' : 'default'}
807807
onClick={() => setIsChatOpen(!isChatOpen)}
808808
>
@@ -853,43 +853,28 @@ export const Panel = memo(function Panel() {
853853
<div className='flex shrink-0 items-center justify-between px-2 pt-3.5'>
854854
<div className='flex gap-1'>
855855
{isCopilotTabAvailable && (
856-
<Button
857-
className={`h-[28px] truncate rounded-md border py-[5px] text-small ${
858-
_hasHydrated && activeTab === 'copilot'
859-
? 'border-[var(--border-1)]'
860-
: 'border-transparent hover-hover:border-[var(--border-1)] hover-hover:bg-[var(--surface-5)]'
861-
}`}
862-
variant={_hasHydrated && activeTab === 'copilot' ? 'active' : 'ghost'}
856+
<Chip
857+
active={_hasHydrated && activeTab === 'copilot'}
863858
onClick={() => handleTabClick('copilot')}
864859
data-tab-button='copilot'
865860
>
866861
Chat
867-
</Button>
862+
</Chip>
868863
)}
869-
<Button
870-
className={`h-[28px] rounded-md border py-[5px] text-small ${
871-
_hasHydrated && activeTab === 'toolbar'
872-
? 'border-[var(--border-1)]'
873-
: 'border-transparent hover-hover:border-[var(--border-1)] hover-hover:bg-[var(--surface-5)]'
874-
}`}
875-
variant={_hasHydrated && activeTab === 'toolbar' ? 'active' : 'ghost'}
864+
<Chip
865+
active={_hasHydrated && activeTab === 'toolbar'}
876866
onClick={() => handleTabClick('toolbar')}
877867
data-tab-button='toolbar'
878868
>
879869
Toolbar
880-
</Button>
881-
<Button
882-
className={`h-[28px] rounded-md border py-[5px] text-small ${
883-
_hasHydrated && activeTab === 'editor'
884-
? 'border-[var(--border-1)]'
885-
: 'border-transparent hover-hover:border-[var(--border-1)] hover-hover:bg-[var(--surface-5)]'
886-
}`}
887-
variant={_hasHydrated && activeTab === 'editor' ? 'active' : 'ghost'}
870+
</Chip>
871+
<Chip
872+
active={_hasHydrated && activeTab === 'editor'}
888873
onClick={() => handleTabClick('editor')}
889874
data-tab-button='editor'
890875
>
891876
Editor
892-
</Button>
877+
</Chip>
893878
</div>
894879
</div>
895880

‎apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/terminal/components/output-panel/output-panel.tsx‎

Lines changed: 5 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'
44
import {
55
Button,
6+
Chip,
67
Code,
78
cn,
89
Input,
@@ -308,29 +309,13 @@ export const OutputPanel = React.memo(function OutputPanel({
308309
onClick={handleHeaderClick}
309310
>
310311
<div className='flex items-center'>
311-
<Button
312-
variant='ghost'
313-
className={cn(
314-
'text-small',
315-
!showInput ? 'text-[var(--text-primary)]!' : 'text-[var(--text-icon)]!'
316-
)}
317-
onClick={handleOutputButtonClick}
318-
aria-label='Show output'
319-
>
312+
<Chip active={!showInput} onClick={handleOutputButtonClick} aria-label='Show output'>
320313
Output
321-
</Button>
314+
</Chip>
322315
{hasInputData && (
323-
<Button
324-
variant='ghost'
325-
className={cn(
326-
'text-small',
327-
showInput ? 'text-[var(--text-primary)]!' : 'text-[var(--text-icon)]!'
328-
)}
329-
onClick={handleInputButtonClick}
330-
aria-label='Show input'
331-
>
316+
<Chip active={showInput} onClick={handleInputButtonClick} aria-label='Show input'>
332317
Input
333-
</Button>
318+
</Chip>
334319
)}
335320
</div>
336321
<div className='flex shrink-0 items-center gap-2'>

0 commit comments

Comments
 (0)