--- /** * Avatar Variants Management * Full CRUD for avatar_variants collection */ import AdminLayout from '@/layouts/AdminLayout.astro'; import { getDirectusClient } from '@/lib/directus/client'; import { readItems } from '@directus/sdk'; const client = getDirectusClient(); let items = []; let error = null; let stats = { total: 0, male: 0, female: 0, neutral: 0, }; try { items = await client.request(readItems('avatar_variants', { fields: ['*'], sort: ['avatar_key', 'variant_type'], })); stats.total = items.length; stats.male = items.filter((i: any) => i.variant_type === 'male').length; stats.female = items.filter((i: any) => i.variant_type === 'female').length; stats.neutral = items.filter((i: any) => i.variant_type === 'neutral').length; } catch (e) { console.error('Error fetching avatar variants:', e); error = e instanceof Error ? e.message : 'Unknown error'; } --- 🎠Avatar Variants Manage gender and tone variations 📥 Import 📤 Export ✨ New Variant {error && ( Error: {error} )} Total Variants {stats.total} Male {stats.male} Female {stats.female} Neutral {stats.neutral} All Variants Avatar Type Pronouns Identity Actions {items.map((variant: any, index: number) => ( {variant.avatar_key} {variant.variant_type} {variant.pronoun} {variant.identity} Edit ))} {items.length === 0 && !error && ( No variants found. Create your first one! )}
Manage gender and tone variations
No variants found. Create your first one!