From 2844132ea08c048d925039a6497c5ac7b80ce21a Mon Sep 17 00:00:00 2001 From: nico Date: Tue, 13 May 2025 17:54:23 +0800 Subject: [PATCH] Profile PPID, Visi Misi, dan Dasar Hukum --- bun.lockb | Bin 308636 -> 309424 bytes package.json | 1 + ...bekel.png => 1_1747129691675_perbekel.png} | Bin .../_state/ppid/dasar_hukum/dasarHukum.ts | 82 ++++++++++++++++++ .../ppid/dasar-hukum/create/page.tsx | 64 ++++++++++++++ .../ppid/dasar-hukum/listData/page.tsx | 40 +++++++++ .../(dashboard)/ppid/dasar-hukum/page.tsx | 23 +++-- .../ppid/profile-ppid/biodata/page.tsx | 41 ++++----- .../_lib/ppid/profile_ppid/edit-img.ts | 71 +++++++++------ src/app/api/[[...slugs]]/route.ts | 7 +- 10 files changed, 273 insertions(+), 56 deletions(-) rename public/assets/images/ppid/profile-ppid/{1_1747107918970_perbekel.png => 1_1747129691675_perbekel.png} (100%) create mode 100644 src/app/admin/(dashboard)/_state/ppid/dasar_hukum/dasarHukum.ts create mode 100644 src/app/admin/(dashboard)/ppid/dasar-hukum/create/page.tsx create mode 100644 src/app/admin/(dashboard)/ppid/dasar-hukum/listData/page.tsx diff --git a/bun.lockb b/bun.lockb index 0618a3a7fa17aac9f249b03c9a8d55f31e9221a1..06c0232098debbbbe132d02c56634641aed688ff 100755 GIT binary patch delta 54166 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 Qv?0{0dcK>#RqW9J0k~TJXaE2J delta 54209 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 + +const stateDasarHukumPPID = proxy({ + findById: { + data: null as DasarHukumForm | null, + loading: false, + initialize() { + stateDasarHukumPPID.findById.data = { + id: '', + judul: '', + content: '', + } as DasarHukumForm; + }, + async load(id: string) { + try { + stateDasarHukumPPID.findById.loading = true; + const res = await ApiFetch.api.ppid.dasarhukumppid["find-by-id"].get({ + query: { id }, + }); + if (res.status === 200) { + stateDasarHukumPPID.findById.data = res.data?.data ?? null; + } else { + toast.error("Gagal mengambil data dasar hukum"); + } + } catch (error) { + console.error((error as Error).message); + toast.error("Terjadi kesalahan saat mengambil data dasar hukum"); + } finally { + stateDasarHukumPPID.findById.loading = false; + } + }, + }, + + update: { + loading: false, + async save(data: DasarHukumForm) { + const cek = templateForm.safeParse(data); + if (!cek.success) { + const errors = cek.error.issues + .map((issue) => `${issue.path.join(".")}: ${issue.message}`) + .join(", "); + toast.error(`Form tidak valid: ${errors}`); + return; + } + + try { + stateDasarHukumPPID.update.loading = true; + const res = await ApiFetch.api.ppid.dasarhukumppid["update"].post(data); + if (res.status === 200) { + toast.success("Data dasar hukum berhasil diubah"); + await stateDasarHukumPPID.findById.load(data.id); + } else { + toast.error("Gagal mengubah data dasar hukum"); + } + } catch (error) { + console.error((error as Error).message); + toast.error("Terjadi kesalahan saat mengubah data dasar hukum"); + } finally { + stateDasarHukumPPID.update.loading = false; + } + }, + }, +}); + +export default stateDasarHukumPPID; diff --git a/src/app/admin/(dashboard)/ppid/dasar-hukum/create/page.tsx b/src/app/admin/(dashboard)/ppid/dasar-hukum/create/page.tsx new file mode 100644 index 00000000..f9b52529 --- /dev/null +++ b/src/app/admin/(dashboard)/ppid/dasar-hukum/create/page.tsx @@ -0,0 +1,64 @@ +'use client' +import { Box, Button, Group, Stack, Text } from '@mantine/core'; +import { useProxy } from 'valtio/utils'; +import stateDasarHukumPPID from '../../../_state/ppid/dasar_hukum/dasarHukum'; +import dynamic from 'next/dynamic'; +import colors from '@/con/colors'; +import { useShallowEffect } from '@mantine/hooks'; + +const PPIDTextEditor = dynamic(() => import('../../_com/PPIDTextEditor').then(mod => mod.PPIDTextEditor), { + ssr: false, +}); +function CreateDasarHukum() { + const dasarHukumState = useProxy(stateDasarHukumPPID) + useShallowEffect(() => { + if (!dasarHukumState.findById.data) { + dasarHukumState.findById.load(""); // biar masuk ke `findFirst` route kamu + } + }, []); + + const submit = () => { + if (dasarHukumState.findById.data?.judul && dasarHukumState.findById.data?.content) { + dasarHukumState.update.save(dasarHukumState.findById.data) + } + } + return ( + + + Judul + { + if (dasarHukumState.findById.data) { + dasarHukumState.findById.data.judul = val + } + }} + initialContent={dasarHukumState.findById.data?.judul ?? ''} + /> + Content + { + if (dasarHukumState.findById.data) { + dasarHukumState.findById.data.content = val + } + }} + initialContent={dasarHukumState.findById.data?.content ?? ''} + /> + + + + + + ); +} + +export default CreateDasarHukum; diff --git a/src/app/admin/(dashboard)/ppid/dasar-hukum/listData/page.tsx b/src/app/admin/(dashboard)/ppid/dasar-hukum/listData/page.tsx new file mode 100644 index 00000000..e1d7af57 --- /dev/null +++ b/src/app/admin/(dashboard)/ppid/dasar-hukum/listData/page.tsx @@ -0,0 +1,40 @@ +'use client' +import React from 'react'; +import { useProxy } from 'valtio/utils'; +import stateDasarHukumPPID from '../../../_state/ppid/dasar_hukum/dasarHukum'; +import { useShallowEffect } from '@mantine/hooks'; +import { Box, Paper, Skeleton, Stack, Text, Title } from '@mantine/core'; +import colors from '@/con/colors'; + +function ListDataDasarHukum() { + const dataList = useProxy(stateDasarHukumPPID) + useShallowEffect(() => { + dataList.findById.load("") + }, []) + + if(!dataList.findById.data) return + {Array.from({length: 10}).map((v, k) => )} + + +const dataArray = Array.isArray(dataList.findById.data) + ? dataList.findById.data + : [dataList.findById.data]; + + return ( + + + List Dasar Hukum PPID + {dataArray.map((item) => ( + + Judul + + Content + + + ))} + + + ); +} + +export default ListDataDasarHukum; diff --git a/src/app/admin/(dashboard)/ppid/dasar-hukum/page.tsx b/src/app/admin/(dashboard)/ppid/dasar-hukum/page.tsx index f9cdac0d..5a384da0 100644 --- a/src/app/admin/(dashboard)/ppid/dasar-hukum/page.tsx +++ b/src/app/admin/(dashboard)/ppid/dasar-hukum/page.tsx @@ -1,11 +1,24 @@ -import React from 'react'; +'use client' +import colors from '@/con/colors'; +import { Box, Paper, SimpleGrid, Stack, Title } from '@mantine/core'; +import CreateDasarHukum from './create/page'; +import ListDataDasarHukum from './listData/page'; function Page() { + return ( -
- dasar-hukum -
- ); + + + + + Dasar Hukum PPID + + + + + + + ) } export default Page; diff --git a/src/app/admin/(dashboard)/ppid/profile-ppid/biodata/page.tsx b/src/app/admin/(dashboard)/ppid/profile-ppid/biodata/page.tsx index 23e66684..681e01e2 100644 --- a/src/app/admin/(dashboard)/ppid/profile-ppid/biodata/page.tsx +++ b/src/app/admin/(dashboard)/ppid/profile-ppid/biodata/page.tsx @@ -1,47 +1,38 @@ 'use client' import { Box, Group, Text } from '@mantine/core'; -import React from 'react'; +import React, { useState } from 'react'; import { useProxy } from 'valtio/utils'; import stateProfilePPID from '../../../_state/ppid/profile_ppid/profile_PPID'; import { PPIDTextEditor } from '../../_com/PPIDTextEditor'; import { Dropzone, MIME_TYPES } from '@mantine/dropzone'; import { IconUpload, IconX, IconPhoto } from '@tabler/icons-react'; +import ApiFetch from '@/lib/api-fetch'; function Biodata() { const biodataState = useProxy(stateProfilePPID) - const handleUpload = async (file: File) => { - const formData = new FormData(); - formData.append("file", file); - formData.append("id", biodataState.findById.data?.id ?? ''); // pastikan ID-nya sesuai - - const res = await fetch("/api/ppid/profileppid/edit-img", { - method: "POST", - body: formData, - }); - - const result = await res.json(); - - if (result.success && biodataState.findById.data) { - biodataState.findById.data.imageUrl = result.url; - } - }; + const [loading, setLoading] = useState(false); return ( Biodata { - const file = files[0]; - const currentId = biodataState.findById.data?.id; - if (file && currentId) { - handleUpload(file); + onDrop={async (droppedFiles) => { + setLoading(true); + for (const file of droppedFiles) { + await ApiFetch.api.ppid.profileppid["edit-img"].post({ + file: file, + id: biodataState.findById.data?.id, + }); + } + + setLoading(false); + if (biodataState.findById.data?.id) { + biodataState.findById.load(biodataState.findById.data.id); } }} - onReject={() => console.log('File rejected')} - maxSize={5 * 1024 ** 2} // 5MB accept={[MIME_TYPES.jpeg, MIME_TYPES.png, MIME_TYPES.webp]} - loading={stateProfilePPID.uploadImage.loading} + loading={loading} > diff --git a/src/app/api/[[...slugs]]/_lib/ppid/profile_ppid/edit-img.ts b/src/app/api/[[...slugs]]/_lib/ppid/profile_ppid/edit-img.ts index 76b68097..b989b2ce 100644 --- a/src/app/api/[[...slugs]]/_lib/ppid/profile_ppid/edit-img.ts +++ b/src/app/api/[[...slugs]]/_lib/ppid/profile_ppid/edit-img.ts @@ -3,6 +3,7 @@ import { Context } from "elysia"; import { writeFile, unlink } from "fs/promises"; import path from "path"; import fs from "fs"; +import { mkdir } from "fs/promises"; interface ProfilePPIDBody { id: string; @@ -31,31 +32,51 @@ export default async function editImageProfilePPID(context: Context<{ body: Prof const bytes = await file.arrayBuffer(); const buffer = Buffer.from(bytes); const filename = `${id}_${Date.now()}_${file.name}`; - const filePath = path.resolve("public", "assets", "images", "ppid", "profile-ppid", filename); - - // Simpan file baru - await writeFile(filePath, buffer); - - const imageUrl = `/assets/images/ppid/profile-ppid/${filename}`; - - // Hapus file lama (opsional, kalau mau bersih) - const oldData = await prisma.profilePPID.findUnique({ where: { id } }); - if (oldData?.imageUrl) { - const oldPath = path.resolve("public", oldData.imageUrl.replace(/^\//, "")); - if (fs.existsSync(oldPath)) { - await unlink(oldPath).catch(() => {}); + const folderPath = path.resolve("public", "assets", "images", "ppid", "profile-ppid"); + + try { + await mkdir(folderPath, { recursive: true }); + + console.log('Folder path:', folderPath); + const filePath = path.join(folderPath, filename); + console.log('File path:', filePath); + + await writeFile(filePath, buffer); + + if (!fs.existsSync(filePath)) { + return { + success: false, + message: "Failed to write file to disk", + }; } + + const imageUrl = `/assets/images/ppid/profile-ppid/${filename}`; + + // Hapus file lama (opsional, kalau mau bersih) + const oldData = await prisma.profilePPID.findUnique({ where: { id } }); + if (oldData?.imageUrl) { + const oldPath = path.resolve("public", oldData.imageUrl.replace(/^\//, "")); + if (fs.existsSync(oldPath)) { + await unlink(oldPath).catch(() => {}); + } + } + + // Update DB + await prisma.profilePPID.update({ + where: { id }, + data: { imageUrl }, + }); + + return { + success: true, + message: "Gambar berhasil diunggah", + url: imageUrl, + }; + } catch (error) { + console.error('Error uploading file:', error); + return { + success: false, + message: "Gagal mengunggah gambar", + }; } - - // Update DB - await prisma.profilePPID.update({ - where: { id }, - data: { imageUrl }, - }); - - return { - success: true, - message: "Gambar berhasil diunggah", - url: imageUrl, - }; } diff --git a/src/app/api/[[...slugs]]/route.ts b/src/app/api/[[...slugs]]/route.ts index 840f15ae..df8f43e3 100644 --- a/src/app/api/[[...slugs]]/route.ts +++ b/src/app/api/[[...slugs]]/route.ts @@ -1,4 +1,5 @@ import prisma from "@/lib/prisma"; +import { staticPlugin } from '@elysiajs/static' import cors, { HTTPMethod } from "@elysiajs/cors"; import swagger from "@elysiajs/swagger"; import { Elysia, t } from "elysia"; @@ -22,7 +23,7 @@ if (!process.env.WIBU_UPLOAD_DIR) throw new Error("WIBU_UPLOAD_DIR is not defined"); const UPLOAD_DIR = path.join(ROOT, process.env.WIBU_UPLOAD_DIR); -const UPLOAD_DIR_IMAGE = path.join(UPLOAD_DIR, "image"); +const UPLOAD_DIR_IMAGE = path.join(UPLOAD_DIR, "public", "assets", "images", "ppid", "profile-ppid"); // create uploads dir fs.mkdir(UPLOAD_DIR, { @@ -62,6 +63,10 @@ const Utils = new Elysia({ const ApiServer = new Elysia() .use(swagger({ path: "/api/docs" })) + .use(staticPlugin({ + prefix: '/', // biar bisa akses dari root URL + assets: './public' + })) .use(cors(corsConfig)) .use(PPID) .use(Kesehatan)