<script setup>
/**
 * TicketStatusMenu — bouton « Statut » du ticket (distinct du bouton « Reporter » = snooze).
 *
 * Change le STATUT du billet Issue, avec la distinction demandée : fermer en **Complété**
 * (résolu avec succès → déclenche la fulfillment de vente : activation + facture) VS **Annulé**
 * (fermé sans suite). Émet 'set-status' ; le parent écrit et gère la suite (activation vente).
 * Purement additif — ne touche PAS TicketStatusControl (partagé, = report/snooze).
 */
import { computed } from 'vue'

const props = defineProps({
  status: { type: String, default: '' },
})
const emit = defineEmits(['set-status'])

// Complété = Resolved (résolu) · Annulé = Closed (fermé sans suite). Les autres = états de travail.
const META = {
  Open: { label: 'Ouvert', color: 'blue-6', icon: 'radio_button_unchecked' },
  Replied: { label: 'Répondu', color: 'teal-6', icon: 'reply' },
  'On Hold': { label: 'En attente', color: 'orange-7', icon: 'pause_circle' },
  Resolved: { label: 'Complété', color: 'green-7', icon: 'check_circle' },
  Closed: { label: 'Annulé', color: 'grey-6', icon: 'cancel' },
}
const cur = computed(() => META[props.status] || { label: props.status || 'Statut', color: 'grey-7', icon: 'flag' })
</script>

<template>
  <q-btn-dropdown unelevated no-caps :color="cur.color" :icon="cur.icon" :label="'Statut : ' + cur.label" dense>
    <q-list dense style="min-width:210px">
      <q-item-label header class="q-py-xs">Changer le statut</q-item-label>
      <q-item clickable v-close-popup @click="emit('set-status', 'Open')"><q-item-section avatar><q-icon name="radio_button_unchecked" color="blue-6" /></q-item-section><q-item-section>Ouvert</q-item-section></q-item>
      <q-item clickable v-close-popup @click="emit('set-status', 'On Hold')"><q-item-section avatar><q-icon name="pause_circle" color="orange-7" /></q-item-section><q-item-section>En attente</q-item-section></q-item>
      <q-separator />
      <q-item clickable v-close-popup @click="emit('set-status', 'Resolved')"><q-item-section avatar><q-icon name="check_circle" color="green-7" /></q-item-section><q-item-section><q-item-label>Complété</q-item-label><q-item-label caption>Résolu — pour une vente : active + facture</q-item-label></q-item-section></q-item>
      <q-item clickable v-close-popup @click="emit('set-status', 'Closed')"><q-item-section avatar><q-icon name="cancel" color="grey-6" /></q-item-section><q-item-section><q-item-label>Annulé</q-item-label><q-item-label caption>Fermé sans suite (pas de facturation)</q-item-label></q-item-section></q-item>
    </q-list>
  </q-btn-dropdown>
</template>
