import { Search, Plus } from "lucide-react"; import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select"; import { UserSearchFilter } from "@/types/user"; import { SEARCH_OPTIONS } from "@/constants/user"; interface UserToolbarProps { searchFilter: UserSearchFilter; totalCount: number; isSearching?: boolean; onSearchChange: (searchFilter: Partial) => void; onCreateClick: () => void; } /** * 사용자 관리 툴바 컴포넌트 * 검색, 필터링, 액션 버튼들을 포함 */ export function UserToolbar({ searchFilter, totalCount, isSearching = false, onSearchChange, onCreateClick, }: UserToolbarProps) { return (
{/* 검색 필터 영역 */}
{/* 검색 대상 선택 */}
{/* 검색어 입력 */}
opt.value === (searchFilter.searchType || "all"))?.label || "전체"}을 입력하세요` } value={searchFilter.searchValue || ""} onChange={(e) => onSearchChange({ searchValue: e.target.value })} disabled={(searchFilter.searchType || "all") === "all"} className={`w-[300px] pl-10 ${isSearching ? "border-blue-300 ring-1 ring-blue-200" : ""} ${ (searchFilter.searchType || "all") === "all" ? "bg-muted text-muted-foreground cursor-not-allowed" : "" }`} />
{/* 액션 버튼 영역 */}
{/* 조회 결과 정보 */}
{totalCount}
{/* 액션 버튼들 */}
); }