diff --git a/src/components/KategoriPelayananSurat.tsx b/src/components/KategoriPelayananSurat.tsx index d7aa695..afb546a 100644 --- a/src/components/KategoriPelayananSurat.tsx +++ b/src/components/KategoriPelayananSurat.tsx @@ -11,10 +11,9 @@ import { Modal, Stack, Table, - TagsInput, Text, Title, - Tooltip, + Tooltip } from "@mantine/core"; import { useDisclosure, useShallowEffect } from "@mantine/hooks"; import { IconEdit, IconEye, IconPlus, IconTrash } from "@tabler/icons-react"; @@ -44,13 +43,13 @@ export default function KategoriPelayananSurat({ const [dataChoose, setDataChoose] = useState({ id: "", name: "", - syaratDokumen: [{ name: "", desc: "" }], - dataText: [""], + syaratDokumen: [{ key: "", name: "", desc: "" }], + dataPelengkap: [{ key: "", name: "", desc: "" }], }); const [dataTambah, setDataTambah] = useState({ name: "", - syaratDokumen: [{ name: "", desc: "" }], - dataText: [""], + syaratDokumen: [{ key: "", name: "", desc: "" }], + dataPelengkap: [{ key: "", name: "", desc: "" }], }); useShallowEffect(() => { @@ -60,8 +59,8 @@ export default function KategoriPelayananSurat({ async function handleCreate() { try { setBtnLoading(true); - const cleanedDataText = dataTambah.dataText - .map((v) => v.trim()) + const cleanedDataText = dataTambah.dataPelengkap + .map((v) => v.name.trim()) .filter((v) => v !== ""); const cleanedSyarat = dataTambah.syaratDokumen .map((item) => ({ @@ -82,8 +81,8 @@ export default function KategoriPelayananSurat({ closeTambah(); setDataTambah({ name: "", - syaratDokumen: [{ name: "", desc: "" }], - dataText: [""], + syaratDokumen: [{ key: "", name: "", desc: "" }], + dataPelengkap: [{ key: "", name: "", desc: "" }], }); notification({ title: "Success", @@ -112,8 +111,8 @@ export default function KategoriPelayananSurat({ async function handleEdit() { try { setBtnLoading(true); - const cleanedDataText = dataChoose.dataText - .map((v) => v.trim()) + const cleanedDataText = dataChoose.dataPelengkap + .map((v) => v.name.trim()) .filter((v) => v !== ""); const cleanedSyarat = dataChoose.syaratDokumen .map((item) => ({ @@ -191,7 +190,7 @@ export default function KategoriPelayananSurat({ function handleAddSyarat() { setDataChoose({ ...dataChoose, - syaratDokumen: [...dataChoose.syaratDokumen, { name: "", desc: "" }], + syaratDokumen: [...dataChoose.syaratDokumen, { key: "", name: "", desc: "" }], }); } @@ -204,7 +203,7 @@ export default function KategoriPelayananSurat({ function handleEditSyarat( index: number, - data: { name: string; desc: string }, + data: { key: string; name: string; desc: string }, ) { setDataChoose({ ...dataChoose, @@ -233,15 +232,15 @@ export default function KategoriPelayananSurat({ } /> - - setDataChoose({ ...dataChoose, dataText: value }) + setDataChoose({ ...dataChoose, dataPelengkap: value }) } - /> + /> */} @@ -295,6 +294,7 @@ export default function KategoriPelayananSurat({ value={v.name} onChange={(e) => handleEditSyarat(i, { + key: v.key, name: e.target.value, desc: v.desc, }) @@ -308,6 +308,7 @@ export default function KategoriPelayananSurat({ value={v.desc} onChange={(e) => handleEditSyarat(i, { + key: v.key, name: v.name, desc: e.target.value, }) @@ -347,7 +348,7 @@ export default function KategoriPelayananSurat({ } /> - setDataTambah({ ...dataTambah, dataText: value }) } - /> + /> */} @@ -372,7 +373,7 @@ export default function KategoriPelayananSurat({ ...dataTambah, syaratDokumen: [ ...dataTambah.syaratDokumen, - { name: "", desc: "" }, + { key: "", name: "", desc: "" }, ], }); }} @@ -524,8 +525,8 @@ export default function KategoriPelayananSurat({ Data Pelengkap - {dataChoose?.dataText?.map((v: any) => ( - {v} + {dataChoose?.dataPelengkap?.map((v: any) => ( + {v.name} ))} diff --git a/src/server/routes/pelayanan_surat_route.ts b/src/server/routes/pelayanan_surat_route.ts index b946034..cea18e1 100644 --- a/src/server/routes/pelayanan_surat_route.ts +++ b/src/server/routes/pelayanan_surat_route.ts @@ -5,6 +5,7 @@ import { getLastUpdated } from "../lib/get-last-updated" import { generateNoPengajuanSurat } from "../lib/no-pengajuan-surat" import { isValidPhone, normalizePhoneNumber } from "../lib/normalizePhone" import { prisma } from "../lib/prisma" +import { toSlug } from "../lib/slug_converter" const PelayananRoute = new Elysia({ @@ -20,9 +21,21 @@ const PelayananRoute = new Elysia({ }, orderBy: { name: "asc" + }, + select: { + id: true, + name: true, + syaratDokumen: true, + dataPelengkap: true, } }) - return data + + const dataFix = data.map(item => ({ + ...item, + link: `${process.env.BUN_PUBLIC_BASE_URL}/darmasaba/surat?jenis=${toSlug(item.name)}` + })); + + return dataFix }, { detail: { summary: "List Kategori Pelayanan Surat",