From 663e36bc4b27d5659b81a2351fc23a064a86ad04 Mon Sep 17 00:00:00 2001 From: amaliadwiy Date: Tue, 11 Nov 2025 11:11:21 +0800 Subject: [PATCH] update: dashboard admin Deskripsi: - list pelayanan surat - detail pelayanan surat No Issues --- src/AppRoutes.tsx | 5 + src/clientRoutes.ts | 1 + .../pelayanan-surat/detail_pelayanan_page.tsx | 370 ++++++++++ .../pelayanan-surat/list_pelayanan_page.tsx | 11 +- .../scr/dashboard/pengaduan/detail_page.tsx | 653 +++++++++--------- .../scr/dashboard/pengaduan/list_page.tsx | 4 +- 6 files changed, 724 insertions(+), 320 deletions(-) create mode 100644 src/pages/scr/dashboard/pelayanan-surat/detail_pelayanan_page.tsx diff --git a/src/AppRoutes.tsx b/src/AppRoutes.tsx index b083d0e..fc5ebc6 100644 --- a/src/AppRoutes.tsx +++ b/src/AppRoutes.tsx @@ -18,6 +18,7 @@ import Home from "./pages/Home"; import CredentialPage from "./pages/scr/dashboard/credential/credential_page"; import DashboardHome from "./pages/scr/dashboard/dashboard_home"; import ListPelayananPage from "./pages/scr/dashboard/pelayanan-surat/list_pelayanan_page"; +import DetailPelayananPage from "./pages/scr/dashboard/pelayanan-surat/detail_pelayanan_page"; import ListPage from "./pages/scr/dashboard/pengaduan/list_page"; import DetailPage from "./pages/scr/dashboard/pengaduan/detail_page"; import ApikeyPage from "./pages/scr/dashboard/apikey/apikey_page"; @@ -99,6 +100,10 @@ export default function AppRoutes() { path="/scr/dashboard/pelayanan-surat/list-pelayanan" element={} /> + } + /> } diff --git a/src/clientRoutes.ts b/src/clientRoutes.ts index 42ce0b8..b1b098a 100644 --- a/src/clientRoutes.ts +++ b/src/clientRoutes.ts @@ -20,6 +20,7 @@ const clientRoutes = { "/scr/dashboard/credential/credential": "/scr/dashboard/credential/credential", "/scr/dashboard/dashboard-home": "/scr/dashboard/dashboard-home", "/scr/dashboard/pelayanan-surat/list-pelayanan": "/scr/dashboard/pelayanan-surat/list-pelayanan", + "/scr/dashboard/pelayanan-surat/detail-pelayanan": "/scr/dashboard/pelayanan-surat/detail-pelayanan", "/scr/dashboard/pengaduan/list": "/scr/dashboard/pengaduan/list", "/scr/dashboard/pengaduan/detail": "/scr/dashboard/pengaduan/detail", "/scr/dashboard/apikey/apikey": "/scr/dashboard/apikey/apikey", diff --git a/src/pages/scr/dashboard/pelayanan-surat/detail_pelayanan_page.tsx b/src/pages/scr/dashboard/pelayanan-surat/detail_pelayanan_page.tsx new file mode 100644 index 0000000..c088207 --- /dev/null +++ b/src/pages/scr/dashboard/pelayanan-surat/detail_pelayanan_page.tsx @@ -0,0 +1,370 @@ +import apiFetch from "@/lib/apiFetch"; +import { + Anchor, + Badge, + Button, + Card, + Container, + Divider, + Flex, + Grid, + Group, + Modal, + Stack, + Table, + Text, + Textarea, + Title, +} from "@mantine/core"; +import { useDisclosure, useShallowEffect } from "@mantine/hooks"; +import { + IconAlignJustified, + IconCategory, + IconFileCertificate, + IconInfoTriangle, + IconMapPin, + IconMessageReport, + IconPhotoScan, + IconUser, +} from "@tabler/icons-react"; +import { useState } from "react"; +import { useLocation } from "react-router-dom"; +import useSwr from "swr"; + +export default function DetailPelayananPage() { + const { search } = useLocation(); + const query = new URLSearchParams(search); + const id = query.get("id"); + + return ( + + + + + + + + + + + + + + ); +} + +function DetailDataPelayanan() { + const [opened, { open, close }] = useDisclosure(false); + const [catModal, setCatModal] = useState<"tolak" | "terima">("tolak"); + + return ( + <> + + + {catModal === "tolak" ? ( + <> + + Anda yakin ingin menolak pengaduan ini? Berikan alasan penolakan + + +