diff --git a/frontend/src/components/admin/content/AvatarManager.tsx b/frontend/src/components/admin/content/AvatarManager.tsx new file mode 100644 index 0000000..bba91f0 --- /dev/null +++ b/frontend/src/components/admin/content/AvatarManager.tsx @@ -0,0 +1,165 @@ +// @ts-nocheck +import React, { useState, useEffect } from 'react'; +import { getDirectusClient } from '@/lib/directus/client'; +import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'; +import { Badge } from '@/components/ui/badge'; + +export default function AvatarManager() { + const [avatars, setAvatars] = useState([]); + const [variants, setVariants] = useState([]); + const [loading, setLoading] = useState(true); + const [selectedAvatar, setSelectedAvatar] = useState(null); + + useEffect(() => { + loadData(); + }, []); + + const loadData = async () => { + try { + const directus = await getDirectusClient(); + + // Load avatars + const avatarData = await directus.request({ + method: 'GET', + path: '/items/avatar_intelligence' + }); + setAvatars(avatarData.data || []); + + // Load variants + const variantData = await directus.request({ + method: 'GET', + path: '/items/avatar_variants' + }); + setVariants(variantData.data || []); + + setLoading(false); + } catch (error) { + console.error('Error loading avatars:', error); + setLoading(false); + } + }; + + const getVariantsForAvatar = (avatarKey) => { + return variants.filter(v => v.avatar_key === avatarKey); + }; + + if (loading) { + return ( +
+ {avatar.avatar_key}
+
+ Manage your 10 Base Avatars and Intelligence here.
-🚧 Intelligence Station Under Construction
+Manage your 10 base avatars, variants, and business niches.