Add Layanan Polsek submenu polsek terdekat
Seeder menu keamanan -> menu ekonomi submenu : demografi pekerjaan, junlah pengangguran, lowongan kerja lokal, pasar desa, program kemiskinan, sektor unggulan, struktur organisasi
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
/* eslint-disable react-hooks/exhaustive-deps */
|
||||
/* eslint-disable @typescript-eslint/no-explicit-any */
|
||||
'use client';
|
||||
import EditEditor from '@/app/admin/(dashboard)/_com/editEditor';
|
||||
import pasarDesaState from '@/app/admin/(dashboard)/_state/ekonomi/pasar-desa/pasar-desa';
|
||||
import colors from '@/con/colors';
|
||||
import ApiFetch from '@/lib/api-fetch';
|
||||
@@ -33,6 +34,7 @@ type FormData = {
|
||||
rating: number;
|
||||
kategoriId: string[];
|
||||
kontak: string;
|
||||
deskripsi: string;
|
||||
};
|
||||
|
||||
function EditPasarDesa() {
|
||||
@@ -51,6 +53,7 @@ function EditPasarDesa() {
|
||||
rating: 0,
|
||||
kategoriId: [],
|
||||
kontak: '',
|
||||
deskripsi: ''
|
||||
});
|
||||
|
||||
const [originalData, setOriginalData] = useState({
|
||||
@@ -62,6 +65,7 @@ function EditPasarDesa() {
|
||||
rating: 0,
|
||||
kategoriId: [],
|
||||
kontak: '',
|
||||
deskripsi: ''
|
||||
});
|
||||
|
||||
// load data awal
|
||||
@@ -83,6 +87,7 @@ function EditPasarDesa() {
|
||||
rating: data.rating || 0,
|
||||
kategoriId: data.KategoriToPasar?.map((k: any) => k.kategoriId) || [],
|
||||
kontak: data.kontak || '',
|
||||
deskripsi: data.deskripsi || ''
|
||||
});
|
||||
setOriginalData({
|
||||
nama: data.nama || '',
|
||||
@@ -93,6 +98,7 @@ function EditPasarDesa() {
|
||||
rating: data.rating || 0,
|
||||
kategoriId: data.KategoriToPasar?.map((k: any) => k.kategoriId) || [],
|
||||
kontak: data.kontak || '',
|
||||
deskripsi: data.deskripsi || ''
|
||||
});
|
||||
if (data.image?.link) setPreviewImage(data.image.link);
|
||||
}
|
||||
@@ -120,12 +126,13 @@ function EditPasarDesa() {
|
||||
rating: originalData.rating,
|
||||
kategoriId: (originalData as any)?.KategoriToPasar?.map((k: any) => k.kategoriId) || [],
|
||||
kontak: originalData.kontak,
|
||||
deskripsi: originalData.deskripsi
|
||||
});
|
||||
setPreviewImage(originalData.imageUrl || null);
|
||||
setFile(null);
|
||||
toast.info("Form dikembalikan ke data awal");
|
||||
};
|
||||
|
||||
|
||||
|
||||
const handleSubmit = async () => {
|
||||
try {
|
||||
@@ -157,7 +164,7 @@ function EditPasarDesa() {
|
||||
};
|
||||
|
||||
return (
|
||||
<Box px={{ base: 0, md: 'xs' }} py="xs">
|
||||
<Box px={{ base: 0, md: 'xs' }} py="xs">
|
||||
<Group mb="md">
|
||||
<Button variant="subtle" onClick={() => router.back()} p="xs" radius="md">
|
||||
<IconArrowBack color={colors['blue-button']} size={24} />
|
||||
@@ -316,6 +323,19 @@ function EditPasarDesa() {
|
||||
error={!formData.kategoriId.length ? 'Pilih minimal satu kategori' : undefined}
|
||||
/>
|
||||
|
||||
{/* Input Deskripsi */}
|
||||
<Box>
|
||||
<Text fz="sm" fw="bold" mb={6}>
|
||||
Deskripsi
|
||||
</Text>
|
||||
<EditEditor
|
||||
value={formData.deskripsi}
|
||||
onChange={(htmlContent) =>
|
||||
setFormData((prev) => ({ ...prev, deskripsi: htmlContent }))
|
||||
}
|
||||
/>
|
||||
</Box>
|
||||
|
||||
<Group justify="right">
|
||||
<Button
|
||||
variant="outline"
|
||||
|
||||
@@ -23,6 +23,7 @@ import { useEffect, useState } from 'react';
|
||||
import { toast } from 'react-toastify';
|
||||
import { useProxy } from 'valtio/utils';
|
||||
import pasarDesaState from '../../../../_state/ekonomi/pasar-desa/pasar-desa';
|
||||
import CreateEditor from '@/app/admin/(dashboard)/_com/createEditor';
|
||||
|
||||
export default function CreatePasarDesa() {
|
||||
const router = useRouter();
|
||||
@@ -44,6 +45,7 @@ export default function CreatePasarDesa() {
|
||||
rating: 0,
|
||||
kategoriId: [],
|
||||
kontak: '',
|
||||
deskripsi: ''
|
||||
};
|
||||
setPreviewImage(null);
|
||||
setFile(null);
|
||||
@@ -80,7 +82,7 @@ export default function CreatePasarDesa() {
|
||||
};
|
||||
|
||||
return (
|
||||
<Box px={{ base: 0, md: 'xs' }} py="xs">
|
||||
<Box px={{ base: 0, md: 'xs' }} py="xs">
|
||||
{/* Header dengan tombol kembali */}
|
||||
<Group mb="md">
|
||||
<Button variant="subtle" onClick={() => router.back()} p="xs" radius="md">
|
||||
@@ -234,6 +236,18 @@ export default function CreatePasarDesa() {
|
||||
}
|
||||
/>
|
||||
|
||||
<Box>
|
||||
<Text fw="bold" fz="sm" mb={6}>
|
||||
Deskripsi Produk
|
||||
</Text>
|
||||
<CreateEditor
|
||||
value={statePasar.pasarDesa.create.form.deskripsi}
|
||||
onChange={(val) => {
|
||||
statePasar.pasarDesa.create.form.deskripsi = val;
|
||||
}}
|
||||
/>
|
||||
</Box>
|
||||
|
||||
{/* Tombol Submit */}
|
||||
<Group justify="right">
|
||||
<Button
|
||||
|
||||
Reference in New Issue
Block a user