회원 검색 기능 보완
This commit is contained in:
parent
c50c8d01df
commit
d428a70b69
|
|
@ -38,6 +38,7 @@ export function DepartmentMembers({
|
|||
const [searchQuery, setSearchQuery] = useState("");
|
||||
const [searchResults, setSearchResults] = useState<any[]>([]);
|
||||
const [isSearching, setIsSearching] = useState(false);
|
||||
const [hasSearched, setHasSearched] = useState(false); // 검색 버튼을 눌렀는지 여부
|
||||
const [duplicateMessage, setDuplicateMessage] = useState<string | null>(null);
|
||||
|
||||
// 부서원 삭제 확인 모달
|
||||
|
|
@ -75,10 +76,12 @@ export function DepartmentMembers({
|
|||
const handleSearch = async () => {
|
||||
if (!searchQuery.trim()) {
|
||||
setSearchResults([]);
|
||||
setHasSearched(false);
|
||||
return;
|
||||
}
|
||||
|
||||
setIsSearching(true);
|
||||
setHasSearched(true); // 검색 버튼을 눌렀음을 표시
|
||||
try {
|
||||
const response = await departmentAPI.searchUsers(companyCode, searchQuery);
|
||||
if (response.success && response.data) {
|
||||
|
|
@ -108,6 +111,7 @@ export function DepartmentMembers({
|
|||
setIsAddModalOpen(false);
|
||||
setSearchQuery("");
|
||||
setSearchResults([]);
|
||||
setHasSearched(false); // 검색 상태 초기화
|
||||
loadMembers();
|
||||
onMemberChange?.(); // 부서 구조 새로고침
|
||||
|
||||
|
|
@ -341,7 +345,7 @@ export function DepartmentMembers({
|
|||
{/* 검색 결과 */}
|
||||
{isSearching ? (
|
||||
<div className="py-8 text-center text-sm text-muted-foreground">검색 중...</div>
|
||||
) : searchResults.length > 0 ? (
|
||||
) : hasSearched && searchResults.length > 0 ? (
|
||||
<div className="max-h-64 space-y-2 overflow-y-auto rounded-lg border p-2">
|
||||
{searchResults.map((user) => (
|
||||
<div
|
||||
|
|
@ -363,7 +367,7 @@ export function DepartmentMembers({
|
|||
</div>
|
||||
))}
|
||||
</div>
|
||||
) : searchQuery && !isSearching ? (
|
||||
) : hasSearched && searchResults.length === 0 ? (
|
||||
<div className="py-8 text-center text-sm text-muted-foreground">
|
||||
검색 결과가 없습니다.
|
||||
</div>
|
||||
|
|
@ -377,6 +381,7 @@ export function DepartmentMembers({
|
|||
setIsAddModalOpen(false);
|
||||
setSearchQuery("");
|
||||
setSearchResults([]);
|
||||
setHasSearched(false); // 검색 상태 초기화
|
||||
}}
|
||||
className="h-8 flex-1 text-xs sm:h-10 sm:flex-none sm:text-sm"
|
||||
>
|
||||
|
|
|
|||
Loading…
Reference in New Issue