@@ -51,6 +51,8 @@ export const ProposePlanToolCall: React.FC<ProposePlanToolCallProps> = ({
5151
5252 const [ isHovered , setIsHovered ] = useState ( false ) ;
5353
54+ const controlButtonClasses =
55+ "px-2 py-1 text-[10px] font-mono rounded-sm cursor-pointer transition-all duration-150 active:translate-y-px" ;
5456 const statusDisplay = getStatusDisplay ( status ) ;
5557
5658 return (
@@ -63,21 +65,8 @@ export const ProposePlanToolCall: React.FC<ProposePlanToolCallProps> = ({
6365
6466 { expanded && (
6567 < ToolDetails >
66- < div
67- className = "rounded-md p-3 shadow-md"
68- style = { {
69- background :
70- "linear-gradient(135deg, color-mix(in srgb, var(--color-plan-mode), transparent 92%) 0%, color-mix(in srgb, var(--color-plan-mode), transparent 95%) 100%)" ,
71- border : "1px solid color-mix(in srgb, var(--color-plan-mode), transparent 70%)" ,
72- } }
73- >
74- < div
75- className = "mb-3 flex items-center gap-2 pb-2"
76- style = { {
77- borderBottom :
78- "1px solid color-mix(in srgb, var(--color-plan-mode), transparent 80%)" ,
79- } }
80- >
68+ < div className = "plan-surface rounded-md p-3 shadow-md" >
69+ < div className = "plan-divider mb-3 flex items-center gap-2 border-b pb-2" >
8170 < div className = "flex flex-1 items-center gap-2" >
8271 < div className = "text-base" > 📋</ div >
8372 < div className = "text-plan-mode font-mono text-[13px] font-semibold" >
@@ -91,34 +80,18 @@ export const ProposePlanToolCall: React.FC<ProposePlanToolCallProps> = ({
9180 onClick = { openModal }
9281 disabled = { startHereDisabled }
9382 className = { cn (
94- "px-2 py-1 text-[10px] font-mono rounded-sm cursor-pointer transition-all duration-150" ,
95- "active:translate-y-px" ,
96- startHereDisabled ? "opacity-50 cursor-not-allowed" : "hover:text-plan-mode"
83+ controlButtonClasses ,
84+ "plan-chip" ,
85+ startHereDisabled
86+ ? "cursor-not-allowed opacity-50"
87+ : "hover:plan-chip-hover active:plan-chip-active"
9788 ) }
98- style = { {
99- color : "var(--color-plan-mode)" ,
100- background : "color-mix(in srgb, var(--color-plan-mode), transparent 90%)" ,
101- border :
102- "1px solid color-mix(in srgb, var(--color-plan-mode), transparent 70%)" ,
103- } }
104- onMouseEnter = { ( e ) => {
89+ onMouseEnter = { ( ) => {
10590 if ( ! startHereDisabled ) {
10691 setIsHovered ( true ) ;
107- ( e . currentTarget as HTMLButtonElement ) . style . background =
108- "color-mix(in srgb, var(--color-plan-mode), transparent 85%)" ;
109- ( e . currentTarget as HTMLButtonElement ) . style . borderColor =
110- "color-mix(in srgb, var(--color-plan-mode), transparent 60%)" ;
111- }
112- } }
113- onMouseLeave = { ( e ) => {
114- setIsHovered ( false ) ;
115- if ( ! startHereDisabled ) {
116- ( e . currentTarget as HTMLButtonElement ) . style . background =
117- "color-mix(in srgb, var(--color-plan-mode), transparent 90%)" ;
118- ( e . currentTarget as HTMLButtonElement ) . style . borderColor =
119- "color-mix(in srgb, var(--color-plan-mode), transparent 70%)" ;
12092 }
12193 } }
94+ onMouseLeave = { ( ) => setIsHovered ( false ) }
12295 >
12396 { isHovered && < span className = "mr-1" > { buttonEmoji } </ span > }
12497 { buttonLabel }
@@ -128,52 +101,21 @@ export const ProposePlanToolCall: React.FC<ProposePlanToolCallProps> = ({
128101 ) }
129102 < button
130103 onClick = { ( ) => void copyToClipboard ( args . plan ) }
131- className = "text-muted hover:text-plan-mode cursor-pointer rounded-sm bg-transparent px-2 py-1 font-mono text-[10px] transition-all duration-150 active:translate-y-px"
132- style = { {
133- border : "1px solid rgba(136, 136, 136, 0.3)" ,
134- } }
135- onMouseEnter = { ( e ) => {
136- ( e . currentTarget as HTMLButtonElement ) . style . background =
137- "color-mix(in srgb, var(--color-plan-mode), transparent 85%)" ;
138- ( e . currentTarget as HTMLButtonElement ) . style . borderColor =
139- "color-mix(in srgb, var(--color-plan-mode), transparent 60%)" ;
140- } }
141- onMouseLeave = { ( e ) => {
142- ( e . currentTarget as HTMLButtonElement ) . style . background = "transparent" ;
143- ( e . currentTarget as HTMLButtonElement ) . style . borderColor =
144- "rgba(136, 136, 136, 0.3)" ;
145- } }
104+ className = { cn (
105+ controlButtonClasses ,
106+ "plan-chip-ghost hover:plan-chip-ghost-hover"
107+ ) }
146108 >
147109 { copied ? "✓ Copied" : "Copy" }
148110 </ button >
149111 < button
150112 onClick = { ( ) => setShowRaw ( ! showRaw ) }
151113 className = { cn (
152- "px-2 py-1 text-[10px] font-mono rounded-sm cursor-pointer transition-all duration-150 active:translate-y-px hover:text-plan-mode"
114+ controlButtonClasses ,
115+ showRaw
116+ ? "plan-chip hover:plan-chip-hover active:plan-chip-active"
117+ : "plan-chip-ghost text-muted hover:plan-chip-ghost-hover"
153118 ) }
154- style = { {
155- color : showRaw ? "var(--color-plan-mode)" : "#888" ,
156- background : showRaw
157- ? "color-mix(in srgb, var(--color-plan-mode), transparent 90%)"
158- : "transparent" ,
159- border : showRaw
160- ? "1px solid color-mix(in srgb, var(--color-plan-mode), transparent 70%)"
161- : "1px solid rgba(136, 136, 136, 0.3)" ,
162- } }
163- onMouseEnter = { ( e ) => {
164- ( e . currentTarget as HTMLButtonElement ) . style . background =
165- "color-mix(in srgb, var(--color-plan-mode), transparent 85%)" ;
166- ( e . currentTarget as HTMLButtonElement ) . style . borderColor =
167- "color-mix(in srgb, var(--color-plan-mode), transparent 60%)" ;
168- } }
169- onMouseLeave = { ( e ) => {
170- ( e . currentTarget as HTMLButtonElement ) . style . background = showRaw
171- ? "color-mix(in srgb, var(--color-plan-mode), transparent 90%)"
172- : "transparent" ;
173- ( e . currentTarget as HTMLButtonElement ) . style . borderColor = showRaw
174- ? "color-mix(in srgb, var(--color-plan-mode), transparent 70%)"
175- : "rgba(136, 136, 136, 0.3)" ;
176- } }
177119 >
178120 { showRaw ? "Show Markdown" : "Show Text" }
179121 </ button >
@@ -191,13 +133,7 @@ export const ProposePlanToolCall: React.FC<ProposePlanToolCallProps> = ({
191133 ) }
192134
193135 { status === "completed" && (
194- < div
195- className = "text-muted mt-3 pt-3 text-[11px] leading-normal italic"
196- style = { {
197- borderTop :
198- "1px solid color-mix(in srgb, var(--color-plan-mode), transparent 80%)" ,
199- } }
200- >
136+ < div className = "plan-divider text-muted mt-3 border-t pt-3 text-[11px] leading-normal italic" >
201137 Respond with revisions or switch to Exec mode (
202138 < span className = "font-primary not-italic" >
203139 { formatKeybind ( KEYBINDS . TOGGLE_MODE ) }
0 commit comments