차량 관리 (신규): - VehicleList/VehicleDetail: 차량 목록/상세 - ForkliftList/ForkliftDetail: 지게차 목록/상세 - VehicleLogList/VehicleLogDetail: 운행일지 목록/상세 - 관련 페이지 라우트 추가 (/vehicle-management/*) CEO 대시보드: - Enhanced 섹션 컴포넌트 적용 (아이콘 + 컬러 테마) - EnhancedStatusBoardSection, EnhancedDailyReportSection, EnhancedMonthlyExpenseSection - TodayIssueSection 개선 IntegratedDetailTemplate: - FieldInput, FieldRenderer 기능 확장 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
36 lines
932 B
TypeScript
36 lines
932 B
TypeScript
'use client';
|
|
|
|
/**
|
|
* 지게차 관리 리스트 페이지
|
|
*/
|
|
|
|
import { useEffect, useState } from 'react';
|
|
import { ForkliftList } from '@/components/vehicle-management/ForkliftList';
|
|
import { getForklifts } from '@/components/vehicle-management/ForkliftList/actions';
|
|
import type { Forklift } from '@/components/vehicle-management/types';
|
|
|
|
export default function ForkliftPage() {
|
|
const [data, setData] = useState<Forklift[]>([]);
|
|
const [isLoading, setIsLoading] = useState(true);
|
|
|
|
useEffect(() => {
|
|
getForklifts()
|
|
.then((result) => {
|
|
if (result.success) {
|
|
setData(result.data);
|
|
}
|
|
})
|
|
.finally(() => setIsLoading(false));
|
|
}, []);
|
|
|
|
if (isLoading) {
|
|
return (
|
|
<div className="flex items-center justify-center min-h-[400px]">
|
|
<div className="text-muted-foreground">로딩 중...</div>
|
|
</div>
|
|
);
|
|
}
|
|
|
|
return <ForkliftList initialData={data} />;
|
|
}
|