// app/admin/upload/_components/step-1-upload.tsx "use client"; import { useUploadLogic } from "../_hooks/use-upload"; import { FileUpload } from "@/shared/components/file-upload"; // Pastikan path import benar import { Button } from "@/shared/components/ui/button"; import { Input } from "@/shared/components/ui/input"; import { Label } from "@/shared/components/ui/label"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/shared/components/ui/select"; import { AlertCircle } from "lucide-react"; export default function StepUpload() { const { file, handleFileSelect, handleUploadProcess, loading, fileDesc, setFileDesc, sheetNames, selectedSheet, setSelectedSheet, // Kita butuh fungsi reset file di hook, anggap namanya resetFile setState } = useUploadLogic(); const handleRemoveFile = () => { // Reset state di context/hook setState(prev => ({ ...prev, file: null, sheetCount: 0, sheetNames: [], selectedPages: [] })); }; return (

Upload Data Baru

Unggah file CSV, Excel, PDF, atau ZIP spasial Anda.

{/* 1. Component File Upload Custom */}
handleFileSelect(f)} // Saat remove, reset state onRemove={handleRemoveFile} description="" />
{/* 2. Logic Form Tambahan (Hanya muncul jika file ada) */} {file && (
{/* Input Deskripsi */}
setFileDesc(e.target.value)} placeholder="Contoh: Data Curah Hujan Tahun 2024" className="bg-slate-50" />
{/* Sheet Selector (Khusus Excel) */} {sheetNames && sheetNames.length > 1 && (

File Excel memiliki banyak sheet.

Silakan pilih sheet mana yang ingin diproses.

)} {/* Tombol Aksi */}
)}
); }