1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
// app/(admin)/owner-companies/_components/owner-company-user-list.tsx
"use client";
import { Button } from "@/components/ui/button";
import {
Table,
TableBody,
TableCell,
TableHead,
TableHeader,
TableRow,
} from "@/components/ui/table";
import { Badge } from "@/components/ui/badge";
import { UserPlus } from "lucide-react";
import Link from "next/link";
interface User {
id: number;
name: string;
email: string;
phone: string | null;
isActive: boolean;
createdAt: Date;
employeeNumber: string | null;
}
interface OwnerCompanyUserListProps {
users: User[];
companyId: number;
}
export function OwnerCompanyUserList({
users,
companyId,
}: OwnerCompanyUserListProps) {
if (users.length === 0) {
return (
<div className="text-center py-12 border rounded-lg">
<UserPlus className="mx-auto h-12 w-12 text-muted-foreground" />
<h3 className="mt-4 text-lg font-semibold">등록된 사용자가 없습니다</h3>
<p className="mt-2 text-sm text-muted-foreground">
첫 번째 사용자를 추가해보세요.
</p>
<Button asChild className="mt-4">
<Link href={`/evcp/data-room/owner-companies/${companyId}/users/new`}>
사용자 추가
</Link>
</Button>
</div>
);
}
return (
<Table>
<TableHeader>
<TableRow>
<TableHead>이름</TableHead>
<TableHead>이메일</TableHead>
<TableHead>전화번호</TableHead>
<TableHead>사번</TableHead>
<TableHead>상태</TableHead>
<TableHead>등록일</TableHead>
</TableRow>
</TableHeader>
<TableBody>
{users.map((user) => (
<TableRow key={user.id}>
<TableCell className="font-medium">{user.name}</TableCell>
<TableCell>{user.email}</TableCell>
<TableCell>{user.phone || "-"}</TableCell>
<TableCell>{user.employeeNumber || "-"}</TableCell>
<TableCell>
{user.isActive ? (
<Badge variant="default" className="bg-green-500">
활성
</Badge>
) : (
<Badge variant="destructive">비활성</Badge>
)}
</TableCell>
<TableCell>
{new Date(user.createdAt).toLocaleDateString("ko-KR", {
year: "numeric",
month: "2-digit",
day: "2-digit",
})}
</TableCell>
</TableRow>
))}
</TableBody>
</Table>
);
}
|