<script setup lang="ts">
import GlassCard from '@/components/ui/GlassCard.vue'
import DataTable from '@/components/ui/DataTable.vue'
import StatusBadge from '@/components/ui/StatusBadge.vue'

const columns = [
  { key: 'id', label: 'ID' },
  { key: 'lecture', label: 'Лекция' },
  { key: 'student', label: 'Студент' },
  { key: 'date', label: 'Дата' },
  { key: 'status', label: 'Статус', align: 'center' },
  { key: 'sentiment', label: 'Sentiment', align: 'center' },
  { key: 'quality', label: 'Качество', align: 'center' },
  { key: 'coins', label: 'Монеты', align: 'center' },
  { key: 'actions', label: 'Действия', align: 'right' },
]

const rows = [
  { id: 'RV-1024', lecture: 'Нейронные сети', student: 'А. Морозов', date: '06.05', status: 'pending', sentiment: 'Позитивный', quality: 0.82, coins: 20 },
  { id: 'RV-1025', lecture: 'Квантовые вычисления', student: 'Н. Иванова', date: '05.05', status: 'active', sentiment: 'Нейтральный', quality: 0.63, coins: 10 },
  { id: 'RV-1026', lecture: 'Право в информационном обществе', student: 'Д. Комаров', date: '04.05', status: 'done', sentiment: 'Негативный', quality: 0.41, coins: 0 },
  { id: 'RV-1027', lecture: 'Философия цифровой эпохи', student: 'С. Орлова', date: '03.05', status: 'rejected', sentiment: 'Нейтральный', quality: 0.22, coins: 0 },
]
</script>

<template>
  <div class="admin-llm page-content">
    <div class="header">
      <h1 class="page-title">Очередь LLM-анализа отзывов</h1>
      <button class="btn-primary">Запустить повторный анализ</button>
    </div>

    <GlassCard>
      <DataTable :columns="columns" :rows="rows">
        <template #status="{ value }">
          <StatusBadge :status="value" />
        </template>
        <template #quality="{ value }">
          <span :class="value >= 0.7 ? 'badge badge-green' : value >= 0.4 ? 'badge badge-orange' : 'badge badge-red'">
            {{ value }}
          </span>
        </template>
        <template #actions>
          <button class="btn-ghost">Повторить</button>
        </template>
      </DataTable>
    </GlassCard>
  </div>
</template>

<style scoped>
.admin-llm { display: flex; flex-direction: column; gap: 16px; }
.header { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
</style>
