import { useState, useEffect } from 'react' import { fetchUploadLogs } from '../services/assetsApi' import type { UploadLogItem } from '../services/assetsApi' function AssetUpload() { const [uploadMode, setUploadMode] = useState<'add' | 'replace'>('add') const [uploaded, setUploaded] = useState(false) const [uploadHistory, setUploadHistory] = useState([]) useEffect(() => { fetchUploadLogs(10) .then(setUploadHistory) .catch(err => console.error('[assets] 업로드 이력 로드 실패:', err)) }, []) const handleUpload = () => { setUploaded(true) setTimeout(() => setUploaded(false), 3000) } return (
{/* Left - Upload */}
📤 자산 데이터 업로드
{/* Drop Zone */}
📁
파일을 드래그하거나 클릭하여 업로드
엑셀(.xlsx), CSV 파일 지원 · 최대 10MB
{/* Asset Classification */}
{/* Jurisdiction */}
{/* Upload Mode */}
{/* Upload Button */}
{/* Right - Permission & History */}
{/* Permission System */}
🔐 수정 권한 체계
{[ { icon: '👑', role: '본청 관리자', desc: '전체 자산 조회·수정·삭제·업로드', color: 'text-status-red', bg: 'rgba(239,68,68,0.15)' }, { icon: '🏛', role: '지방청 담당자', desc: '소속 지방청 및 하위 해경서 자산 수정·업로드', color: 'text-status-orange', bg: 'rgba(249,115,22,0.15)' }, { icon: '⚓', role: '해경서 담당자', desc: '소속 해경서 자산 수정·업로드', color: 'text-primary-blue', bg: 'rgba(59,130,246,0.15)' }, { icon: '👤', role: '일반 사용자', desc: '조회·다운로드만 가능', color: 'text-text-2', bg: 'rgba(100,116,139,0.15)' }, ].map((p, i) => (
{p.icon}
{p.role}
{p.desc}
))}
{/* Upload History */}
📋 최근 업로드 이력
{uploadHistory.map((h) => (
{h.fileNm}
{new Date(h.regDtm).toLocaleString('ko-KR')} · {h.uploaderNm} · {h.uploadCnt}건
완료
))}
) } export default AssetUpload