@@ -97,28 +97,28 @@ export default function PromptInputPage () {
9797 {
9898 id : 'website-style' ,
9999 label : 'Website style' ,
100- icon : < Website width = { 14 } height = { 14 } /> ,
100+ icon : < Website width = { 14 } height = { 14 } color = "#84839c" /> ,
101101 itemOptions : mockWebsiteStyleOptions ,
102102 disabled : isProcessing || isRecording ,
103103 } ,
104104 {
105105 id : 'color' ,
106106 label : 'Color' ,
107- icon : < EditColor width = { 14 } height = { 14 } /> ,
107+ icon : < EditColor width = { 14 } height = { 14 } color = "#84839c" /> ,
108108 itemOptions : [ { value : 'none' , color : null , label : 'None' } , ...mockColorOptions ] ,
109109 disabled : isProcessing || isRecording ,
110110 } ,
111111 {
112112 id : 'image-style' ,
113113 label : 'Image style' ,
114- icon : < AiImage width = { 14 } height = { 14 } viewBox = '0 0 14 12' /> ,
114+ icon : < AiImage width = { 14 } height = { 14 } viewBox = '0 0 14 12' color = "#84839c" /> ,
115115 itemOptions : mockImageStyleOptions ,
116116 disabled : isProcessing || isRecording ,
117117 } ,
118118 {
119119 id : 'enhance-prompt' ,
120120 label : 'Enhance prompt' ,
121- icon : < AiAssist width = { 14 } height = { 14 } /> ,
121+ icon : < AiAssist width = { 14 } height = { 14 } color = "#84839c" /> ,
122122 disabled : isTextareaEmpty || isProcessing || isRecording ,
123123 isActive : ! isTextareaEmpty ,
124124 isEnhancing : isEnhancingPrompt || ( isTypingPrompt && ! isTypingFromRecording ) ,
@@ -188,16 +188,22 @@ export default function PromptInputPage () {
188188 setSelectedImageStyleTab ( tabId )
189189 }
190190
191+ // No need to add a progress state - the CSS animation handles the visual progress
192+
191193 const handleEnhancePrompt = ( ) => {
192194 if ( isProcessing || isRecording ) return
193195
194196 resetTyping ( )
195-
196197 setCanTriggerSend ( false )
197-
198198 setIsEnhancingPrompt ( true )
199199 setIsSubmitting ( true )
200200
201+ // The duration of the CSS animation (process-circle) should match this timeout
202+ const processDuration = 1000
203+
204+ // Update the CSS variable for animation duration dynamically to match the process time
205+ document . documentElement . style . setProperty ( '--processing-duration' , `${ processDuration } ms` )
206+
201207 enhancePromptTimerRef . current = window . setTimeout ( ( ) => {
202208 setIsEnhancingPrompt ( false )
203209 setIsSubmitting ( false )
@@ -214,7 +220,7 @@ export default function PromptInputPage () {
214220 }
215221
216222 enhancePromptTimerRef . current = null
217- } , 1000 )
223+ } , processDuration )
218224 }
219225
220226 const handleMicrophoneClick = ( ) => {
@@ -381,7 +387,7 @@ export default function PromptInputPage () {
381387 roundedRectangle
382388 disabled = { isProcessing || isRecording }
383389 iconWithLabel
384- icon = { < Website width = { 14 } height = { 14 } /> }
390+ icon = { < Website width = { 14 } height = { 14 } color = "#84839c" /> }
385391 label = "Website style"
386392 selected = { activePopover === 'websiteStyle' }
387393 />
@@ -408,7 +414,7 @@ export default function PromptInputPage () {
408414 roundedRectangle
409415 disabled = { isProcessing || isRecording }
410416 iconWithLabel
411- icon = { < EditColor width = { 14 } height = { 14 } /> }
417+ icon = { < EditColor width = { 14 } height = { 14 } color = "#84839c" /> }
412418 label = "Color" viewBox = "0 0 14 14"
413419 selected = { activePopover === 'color' }
414420 />
@@ -430,7 +436,7 @@ export default function PromptInputPage () {
430436 roundedRectangle
431437 disabled = { isProcessing || isRecording }
432438 iconWithLabel
433- icon = { < AiImage width = { 14 } height = { 14 } viewBox = '0 0 14 12' /> }
439+ icon = { < AiImage width = { 14 } height = { 14 } viewBox = '0 0 14 12' color = "#84839c" /> }
434440 label = "Image style"
435441 selected = { activePopover === 'imageStyle' }
436442 />
@@ -452,7 +458,7 @@ export default function PromptInputPage () {
452458 selected = { isEnhancingPrompt || ( isTypingPrompt && ! isTypingFromRecording ) }
453459 onClick = { handleEnhancePrompt }
454460 iconWithLabel
455- icon = { < AiAssist width = { 14 } height = { 14 } /> }
461+ icon = { < AiAssist width = { 14 } height = { 14 } color = "#84839c" /> }
456462 label = "Enhance Prompt"
457463 className = "desktop-only"
458464 />
@@ -466,8 +472,7 @@ export default function PromptInputPage () {
466472 className = "mobile-only"
467473 roundedRectangle
468474 disabled = { isProcessing || isRecording }
469- icon = { < ThreeDots viewBox = "0 0 23 7" width = "16" height = "5" /> }
470- selected = { activePopover === 'mobileOptions' }
475+ icon = { < ThreeDots viewBox = "0 0 23 7" width = "16" height = "5" color = "#84839c" /> }
471476 />
472477 }
473478 >
@@ -493,14 +498,16 @@ export default function PromptInputPage () {
493498 disabled = { isProcessing && ! isTypingFromRecording }
494499 recording = { isRecording }
495500 onClick = { handleMicrophoneClick }
496- icon = { < Microphone width = { 14 } height = { 14 } viewBox = "0 0 11 13" /> }
501+ icon = { < Microphone width = { 14 } height = { 14 } viewBox = "0 0 11 13" color = "#ffffff" /> }
497502 />
498503 < Button
499504 round
500505 disabled = { ! isSubmitButtonActive || isRecording || isTypingFromRecording }
501506 loading = { isSubmitting && ! isEnhancingPrompt }
502507 highlighted = { isSubmitButtonActive }
503- icon = { isSubmitting ? < Stop width = { 10 } height = { 10 } viewBox = "0 0 10 10" /> :< ArrowUp width = { 14 } height = { 14 } viewBox = "0 0 12 14" /> }
508+ disabledStyle = "dark"
509+ processing = { isEnhancingPrompt }
510+ icon = { isSubmitting ? < Stop width = { 10 } height = { 10 } viewBox = "0 0 10 10" color = "#ffffff" /> : < ArrowUp width = { 14 } height = { 14 } viewBox = "0 0 12 14" color = "#ffffff" /> }
504511 onClick = { handleSubmitButtonClick }
505512 />
506513 </ PromptInputCommands >
0 commit comments