<template>
<Transition name="fade">
<div v-if="chat.queuedMessages.count" class="task-chips">
<div class="task-chip queued" :title="titles">
<i class="ph ph-inbox"></i>
<span>
{{ chat.queuedMessages.count }} message{{ chat.queuedMessages.count === 1 ? '' : 's' }} queued
</span>
</div>
</div>
</Transition>
</template>
<script setup>
import { computed } from 'vue'
import { useChatStore } from '@/stores/chat.js'
const chat = useChatStore()
const titles = computed(() => 'Queued while the current turn is running — they execute next')
</script>
<style scoped>
.task-chips {
display: flex;
gap: 8px;
padding: 4px 16px 0;
flex-wrap: wrap;
}
.task-chip {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 3px 10px;
border-radius: 999px;
border: 1px solid var(--border-color-muted, rgba(128, 128, 128, 0.25));
background: var(--surface-panel-muted, rgba(128, 128, 128, 0.08));
font-size: 12px;
color: var(--color-text-medium, #999);
i { color: var(--color-primary, #7aa2f7); }
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
max-width: 100%;
&.queued i { color: var(--color-primary, #7aa2f7); }
}
.fade-enter-active, .fade-leave-active { transition: opacity 0.2s; }
.fade-enter-from, .fade-leave-to { opacity: 0; }
</style>