diff --git a/packages/ui/src/components/chat/multi-task-chat.tsx b/packages/ui/src/components/chat/multi-task-chat.tsx index 7c74cb9..cdeb2b3 100644 --- a/packages/ui/src/components/chat/multi-task-chat.tsx +++ b/packages/ui/src/components/chat/multi-task-chat.tsx @@ -136,6 +136,22 @@ export default function MultiTaskChat(props: MultiTaskChatProps) { const solo = () => getSoloState(props.instanceId); + // APEX PRO mode = SOLO + APEX combined (autonomous + auto-approval) + const isApexPro = () => solo().isAutonomous && solo().autoApproval; + + const toggleApexPro = () => { + const currentState = isApexPro(); + if (currentState) { + // Turn off both + if (solo().isAutonomous) toggleAutonomous(props.instanceId); + if (solo().autoApproval) toggleAutoApproval(props.instanceId); + } else { + // Turn on both + if (!solo().isAutonomous) toggleAutonomous(props.instanceId); + if (!solo().autoApproval) toggleAutoApproval(props.instanceId); + } + }; + const isAgentThinking = createMemo(() => { // Show thinking while we're actively sending if (isSending()) return true; @@ -505,27 +521,31 @@ export default function MultiTaskChat(props: MultiTaskChatProps) {
- - diff --git a/packages/ui/src/styles/utilities.css b/packages/ui/src/styles/utilities.css index 8f3d623..7fce666 100644 --- a/packages/ui/src/styles/utilities.css +++ b/packages/ui/src/styles/utilities.css @@ -118,6 +118,27 @@ to { transform: rotate(360deg); } } +/* APEX PRO mode animations */ +@keyframes apex-pro-pulse { + 0%, 100% { + box-shadow: 0 0 15px rgba(249, 115, 22, 0.3); + } + 50% { + box-shadow: 0 0 25px rgba(249, 115, 22, 0.5); + } +} + +@keyframes apex-pro-glow { + 0%, 100% { + opacity: 1; + transform: scale(1); + } + 50% { + opacity: 0.5; + transform: scale(0.8); + } +} + /* Shared layout helpers */ .status-dot { @apply w-1 h-1 rounded-full;