import { useQuery } from '@tanstack/react-query'; import { FolderKanban, Layers3, Search } from 'lucide-react-native'; import { useMemo, useState } from 'react'; import { Text, TextInput, View } from 'react-native'; import { ListCard } from '@/src/components/list-card'; import { ScreenShell } from '@/src/components/screen-shell'; import { listGroups } from '@/src/services/admin'; export default function GroupsScreen() { const [search, setSearch] = useState(''); const keyword = useMemo(() => search.trim(), [search]); const groupsQuery = useQuery({ queryKey: ['groups', keyword], queryFn: () => listGroups(keyword), }); const items = groupsQuery.data?.items ?? []; const errorMessage = groupsQuery.error instanceof Error ? groupsQuery.error.message : ''; return ( {items.length === 0 ? ( ) : ( items.map((group) => ( 账号数 {group.account_count ?? 0} · {group.is_exclusive ? '独占分组' : '共享分组'} )) )} ); }