diff --git a/frontend/src/components/DashboardChatInput.vue b/frontend/src/components/DashboardChatInput.vue index 4780f15..cf5fea9 100644 --- a/frontend/src/components/DashboardChatInput.vue +++ b/frontend/src/components/DashboardChatInput.vue @@ -126,7 +126,7 @@ defineExpose({ focus }); + +

{ @keydown="onInputKeydown" @input="autoResize" :placeholder="inputPlaceholder" - :disabled="store.streaming || !store.chatReady" + :disabled="!store.chatReady" rows="1" > + +

{ ref="inputEl" v-model="messageInput" class="chat-input" - placeholder="Message the agent... (Enter to send)" + :placeholder="chatStore.streaming ? 'Type to queue next message… (Enter to queue)' : 'Message the agent… (Enter to send)'" rows="1" - :disabled="chatStore.streaming" @keydown="onInputKeydown" @input="autoResize" > @@ -625,4 +631,25 @@ details[open] .thinking-summary::before { max-height: 300px; overflow-y: auto; } +.queued-indicator { + display: flex; + align-items: center; + gap: 0.4rem; + font-size: 0.8rem; + color: var(--color-text-muted); + padding: 0.3rem 0.75rem; + margin: 0.25rem 0; +} +.queued-cancel { + background: none; + border: none; + cursor: pointer; + color: var(--color-text-muted); + font-size: 1rem; + line-height: 1; + padding: 0 0.2rem; +} +.queued-cancel:hover { + color: var(--color-text); +}