fix(apbdes): integrate new APBDes API with admin UI
- Update API schema to support name, deskripsi, and jumlah fields - Enhance state management with additional form fields - Add input fields for name, description, and total amount in create/edit pages - Display description and total amount in detail page - Fix APBDes component order in landing page - Update TypeScript types and Prisma schema integration API Changes: - POST /api/landingpage/apbdes/create: Added optional fields (name, deskripsi, jumlah) - PUT /api/landingpage/apbdes/🆔 Added optional fields (name, deskripsi, jumlah) Admin UI Changes: - create/page.tsx: Add TextInput for name, deskripsi, and jumlah - edit/page.tsx: Add TextInput for name, deskripsi, and jumlah; improve reset functionality - [id]/page.tsx: Display deskripsi and jumlah if available - page.tsx: Minor formatting fix - _state/apbdes.ts: Update Zod schema and default form with new fields Landing Page: - Move Apbdes component to top of stack for better visibility Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
@@ -117,9 +117,9 @@ function CreateAPBDes() {
|
||||
toast.success("Berhasil menambahkan APBDes");
|
||||
resetForm();
|
||||
router.push("/admin/landing-page/apbdes");
|
||||
} catch (error) {
|
||||
} catch (error: any) {
|
||||
console.error("Gagal submit:", error);
|
||||
toast.error("Gagal menyimpan data");
|
||||
toast.error(error?.message || "Gagal menyimpan data");
|
||||
} finally {
|
||||
setIsSubmitting(false);
|
||||
}
|
||||
@@ -334,6 +334,27 @@ function CreateAPBDes() {
|
||||
</Stack>
|
||||
|
||||
{/* Form Header */}
|
||||
<TextInput
|
||||
label="Nama APBDes"
|
||||
placeholder="Contoh: APBDes Tahun 2025"
|
||||
value={stateAPBDes.create.form.name}
|
||||
onChange={(e) => (stateAPBDes.create.form.name = e.target.value)}
|
||||
description="Opsional - akan diisi otomatis jika kosong"
|
||||
/>
|
||||
<TextInput
|
||||
label="Deskripsi"
|
||||
placeholder="Deskripsi APBDes (opsional)"
|
||||
value={stateAPBDes.create.form.deskripsi}
|
||||
onChange={(e) => (stateAPBDes.create.form.deskripsi = e.target.value)}
|
||||
description="Opsional"
|
||||
/>
|
||||
<TextInput
|
||||
label="Jumlah Total"
|
||||
placeholder="Contoh: Rp 1.000.000.000"
|
||||
value={stateAPBDes.create.form.jumlah}
|
||||
onChange={(e) => (stateAPBDes.create.form.jumlah = e.target.value)}
|
||||
description="Opsional - total keseluruhan anggaran"
|
||||
/>
|
||||
<NumberInput
|
||||
label="Tahun"
|
||||
value={stateAPBDes.create.form.tahun || new Date().getFullYear()}
|
||||
|
||||
Reference in New Issue
Block a user