diff --git a/frontend/components/admin/department/DepartmentMembers.tsx b/frontend/components/admin/department/DepartmentMembers.tsx index 7147971b..ebccfe9c 100644 --- a/frontend/components/admin/department/DepartmentMembers.tsx +++ b/frontend/components/admin/department/DepartmentMembers.tsx @@ -38,6 +38,7 @@ export function DepartmentMembers({ const [searchQuery, setSearchQuery] = useState(""); const [searchResults, setSearchResults] = useState([]); const [isSearching, setIsSearching] = useState(false); + const [hasSearched, setHasSearched] = useState(false); // 검색 버튼을 눌렀는지 여부 const [duplicateMessage, setDuplicateMessage] = useState(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 ? (
검색 중...
- ) : searchResults.length > 0 ? ( + ) : hasSearched && searchResults.length > 0 ? (
{searchResults.map((user) => (
))}
- ) : searchQuery && !isSearching ? ( + ) : hasSearched && searchResults.length === 0 ? (
검색 결과가 없습니다.
@@ -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" >