'use client' import { Stat } from '@/app/stat' import { Avatar } from '@/components/avatar' import { Badge } from '@/components/badge' import { Divider } from '@/components/divider' import { Dropdown, DropdownButton, DropdownHeading, DropdownItem, DropdownMenu, DropdownSection, } from '@/components/dropdown' import { Heading, Subheading } from '@/components/heading' import { Input, InputGroup } from '@/components/input' import { Link } from '@/components/link' import { Pagination, PaginationGap, PaginationList, PaginationNext, PaginationPage, PaginationPrevious, } from '@/components/pagination' import { Select } from '@/components/select' import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from '@/components/table' import { EllipsisHorizontalIcon, MagnifyingGlassIcon } from '@heroicons/react/16/solid' import { useState } from 'react' export default function UsersClient({ initialUsers }: { initialUsers: any[] }) { const [users, setUsers] = useState(initialUsers) // 계정 상태 업데이트 const updateUserStatus = (userId: number, newStatus: string) => { setUsers((prev) => prev.map((user) => (user.id === userId ? { ...user, accountStatus: newStatus } : user))) } // 인증 상태 업데이트 const updateVerificationStatus = (userId: number, newStatus: string) => { setUsers((prev) => prev.map((user) => (user.id === userId ? { ...user, verificationStatus: newStatus } : user))) } return ( <>
Overview
Users
사용자 사용자 유형 이메일 전화번호 소속 명칭 인증 상태 인증 자료 계정 상태 Actions {users.map((user) => (
{/* 에리카는 이미지가 나오고, 나머지는 이니셜(Fallback)이 나옵니다. */} {user.name}
{user.type} {user.subType ? `(${user.subType})` : ''} {user.email} {user.phone} {user.organization} {user.verificationStatus === '-' ? ( - ) : ( {user.verificationStatus} )} {user.verificationDocUrl ? ( 다운로드 ) : ( - )} {user.accountStatus} {user.type !== '일반' && ( 인증 상태 관리 {user.verificationStatus !== '인증 완료' && ( updateVerificationStatus(user.id, '인증 완료')}> 인증 승인 )} {user.verificationStatus !== '인증 반려' && ( updateVerificationStatus(user.id, '인증 반려')}> 인증 반려 )} {user.verificationStatus !== '인증 대기' && ( updateVerificationStatus(user.id, '인증 대기')}> 대기로 변경 )} )} {user.type !== '일반' && } 계정 상태 관리 {user.accountStatus === '정지' ? ( updateUserStatus(user.id, '활동')}>활동으로 변경 ) : ( updateUserStatus(user.id, '정지')}>정지 처리 )}
))}
1 2 3 4 65 66 ) }