refactor: UniversalListPage externalIsLoading 지원 및 스켈레톤 개선

- UniversalListPage에 externalIsLoading prop 추가
- CardTransactionDetailClient DevFill 자동입력 기능 추가
- 여러 컴포넌트 로딩 상태 처리 개선
- skeleton 컴포넌트 확장

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
유병철
2026-01-22 20:54:16 +09:00
parent 207520e1d6
commit 19237be4aa
71 changed files with 244 additions and 155 deletions

View File

@@ -14,7 +14,7 @@ import {
RotateCcw,
Loader2,
} from 'lucide-react';
import { ContentLoadingSpinner } from '@/components/ui/loading-spinner';
import { DetailPageSkeleton } from '@/components/ui/skeleton';
import { Button } from '@/components/ui/button';
import { Input } from '@/components/ui/input';
import { Label } from '@/components/ui/label';
@@ -456,7 +456,7 @@ export function PermissionDetailClient({ permissionId, isNew = false }: Permissi
if (isLoading) {
return (
<PageLayout>
<ContentLoadingSpinner text="권한 정보를 불러오는 중..." />
<DetailPageSkeleton />
</PageLayout>
);
}

View File

@@ -15,7 +15,6 @@ import {
Loader2,
} from 'lucide-react';
import { Button } from '@/components/ui/button';
import { ContentLoadingSpinner } from '@/components/ui/loading-spinner';
import { Checkbox } from '@/components/ui/checkbox';
import { Badge } from '@/components/ui/badge';
import { TableRow, TableCell } from '@/components/ui/table';
@@ -394,11 +393,7 @@ export function PermissionManagement() {
</div>
), [handleBulkDelete, handleAdd]);
// ===== 로딩/에러 상태 =====
if (isLoading) {
return <ContentLoadingSpinner text="권한 정보를 불러오는 중..." />;
}
// ===== 에러 상태 =====
if (error) {
return (
<div className="flex flex-col items-center justify-center h-96 gap-4">
@@ -517,6 +512,7 @@ export function PermissionManagement() {
searchValue: searchQuery,
setSearchValue: setSearchQuery,
}}
externalIsLoading={isLoading}
/>
);
}