// File: frontend/components/admin/ai/VersionHistory.tsx // Change Log: // - 2026-06-14: Created VersionHistory component with type filtering and nice badges (conforming to task T017) import React from 'react'; import { Badge } from '@/components/ui/badge'; import { Button } from '@/components/ui/button'; import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'; import { CheckCircle2, Trash2, BookOpen, Clock, StickyNote } from 'lucide-react'; import { PromptVersion } from '@/lib/types/ai-prompts'; import { cn } from '@/lib/utils'; interface VersionHistoryProps { versions: PromptVersion[]; isLoading: boolean; onLoadTemplate: (version: PromptVersion) => void; onActivateVersion: (versionNumber: number) => void; onDeleteVersion: (versionNumber: number) => void; isActivating: boolean; isDeleting: boolean; } /** * คอมโพเนนต์แสดงประวัติเวอร์ชันของพรอมต์ตามประเภทที่กรองไว้ * แสดงรายการเวอร์ชันพร้อมปุ่มพรีโหลด เปิดใช้งาน และลบเวอร์ชันที่ไม่ต้องการ */ export default function VersionHistory({ versions, isLoading, onLoadTemplate, onActivateVersion, onDeleteVersion, isActivating, isDeleting, }: VersionHistoryProps) { if (isLoading) { return (
กำลังโหลดประวัติเวอร์ชัน...
); } return ( ประวัติเวอร์ชัน (Version History) {versions.length === 0 ? (
ไม่พบเวอร์ชันอื่นในระบบสำหรับประเภทนี้
) : ( versions.map((version) => { const isActive = version.isActive === true; return (
v{version.versionNumber} {isActive ? ( ใช้งานจริง (Active) ) : ( ร่าง (Inactive) )}
สร้าง: {new Date(version.createdAt).toLocaleString('th-TH')}
{!isActive && ( <> )}
{version.manualNote && (

{version.manualNote}

)}
); }) )}
); }