import { useState } from 'react' import { api } from '@/lib/api' import { usePaged } from '@/lib/usePaged' import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from '@/components/ui/table' import { Button } from '@/components/ui/button' import { Input } from '@/components/ui/input' import { Badge } from '@/components/ui/badge' import { Card, CardContent } from '@/components/ui/card' import { Pager } from '@/components/Pager' export default function Users() { const [keyword, setKeyword] = useState('') const [query, setQuery] = useState('') const [type, setType] = useState('') const { page, setPage, data, totalPages, reload } = usePaged(api.users, { keyword: query, type }) async function toggle(u: any) { await api.setUserDisabled(u.id, !u.disabled) reload() } return (

用户管理

setKeyword(e.target.value)} className="max-w-xs" onKeyDown={(e) => e.key === 'Enter' && (setPage(1), setQuery(keyword))} />
ID 昵称 手机号 宠物档案 建档 状态 操作 {data?.list?.map((u) => ( {u.id} {u.nickname} {u.is_bot && ( AI )} {u.phone || '—'} {u.pet_count > 0 ? `${u.pet_count} 个` : } {u.onboarded ? '已建档' : '未建档'} {u.disabled ? 已禁用 : 正常} ))}
) }