From cac146471a4cd20183015a094261add9341e1c95 Mon Sep 17 00:00:00 2001 From: nico Date: Thu, 25 Sep 2025 10:40:47 +0800 Subject: [PATCH] Fix UI Mobile User & Admin Menu Kesehatan, QC Menu Kesehatan --- prisma/schema.prisma | 4 +- .../data_kesehatan_warga/jadwalKegiatan.ts | 44 +--- .../fasilitas_kesehatan/page.tsx | 20 +- .../grafik_hasil_kepuasan/page.tsx | 68 +++-- .../jadwal_kegiatan/[id]/edit/page.tsx | 64 +---- .../jadwal_kegiatan/[id]/page.tsx | 13 +- .../jadwal_kegiatan/create/page.tsx | 71 +----- .../jadwal_kegiatan/page.tsx | 24 +- .../kelahiran/page.tsx | 12 +- .../kematian/[id]/page.tsx | 234 +++++++++--------- .../kematian/page.tsx | 18 +- .../kesehatan/info-wabah-penyakit/page.tsx | 35 ++- .../kesehatan/kontak-darurat/page.tsx | 24 +- .../kesehatan/penanganan-darurat/page.tsx | 37 ++- .../(dashboard)/kesehatan/posyandu/page.tsx | 7 + .../kesehatan/program-kesehatan/page.tsx | 21 +- .../kesehatan/puskesmas/[id]/page.tsx | 9 +- .../(dashboard)/kesehatan/puskesmas/page.tsx | 27 +- .../jadwal_kegiatan/create.ts | 7 +- .../jadwal_kegiatan/del.ts | 1 - .../jadwal_kegiatan/findMany.ts | 4 +- .../jadwal_kegiatan/findUnique.ts | 1 - .../jadwal_kegiatan/index.ts | 16 -- .../jadwal_kegiatan/updt.ts | 14 -- .../artikel-kesehatan-page/[id]/page.tsx | 22 +- .../fasilitas-kesehatan-page/[id]/page.tsx | 59 ++--- .../jadwal-kegiatan-page/[id]/page.tsx | 9 +- .../kesehatan/info-wabah-penyakit/page.tsx | 6 +- .../(pages)/kesehatan/posyandu/page.tsx | 6 +- .../(pages)/kesehatan/puskesmas/[id]/page.tsx | 17 +- .../(pages)/kesehatan/puskesmas/page.tsx | 6 +- .../darmasaba/_com/main-page/sdgs/index.tsx | 4 +- 32 files changed, 381 insertions(+), 523 deletions(-) diff --git a/prisma/schema.prisma b/prisma/schema.prisma index 4fba70fc..54166bfc 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -850,8 +850,8 @@ model JadwalKegiatan { syaratKetentuanJadwalKegiatanId String dokumenjadwalkegiatan DokumenJadwalKegiatan @relation(fields: [dokumenJadwalKegiatanId], references: [id]) dokumenJadwalKegiatanId String - pendaftaranjadwalkegiatan PendaftaranJadwalKegiatan @relation(fields: [pendaftaranJadwalKegiatanId], references: [id]) - pendaftaranJadwalKegiatanId String + pendaftaranjadwalkegiatan PendaftaranJadwalKegiatan? @relation(fields: [pendaftaranJadwalKegiatanId], references: [id]) + pendaftaranJadwalKegiatanId String? createdAt DateTime @default(now()) updatedAt DateTime @updatedAt deletedAt DateTime @default(now()) diff --git a/src/app/admin/(dashboard)/_state/kesehatan/data_kesehatan_warga/jadwalKegiatan.ts b/src/app/admin/(dashboard)/_state/kesehatan/data_kesehatan_warga/jadwalKegiatan.ts index 90665395..3e8d8fc5 100644 --- a/src/app/admin/(dashboard)/_state/kesehatan/data_kesehatan_warga/jadwalKegiatan.ts +++ b/src/app/admin/(dashboard)/_state/kesehatan/data_kesehatan_warga/jadwalKegiatan.ts @@ -26,14 +26,6 @@ const templateForm = z.object({ dokumenJadwalKegiatan: z.object({ content: z.string().min(1, "Content minimal 1 karakter"), }), - pendaftaranJadwalKegiatan: z.object({ - name: z.string().min(1, "Name minimal 1 karakter"), - tanggal: z.string().min(1, "Tanggal minimal 1 karakter"), - namaOrangtua: z.string().min(1, "Nama Orangtua minimal 1 karakter"), - nomor: z.string().min(1, "Nomor minimal 1 karakter"), - alamat: z.string().min(1, "Alamat minimal 1 karakter"), - catatan: z.string().min(1, "Catatan minimal 1 karakter"), - }), }); const defaultForm = { @@ -55,15 +47,7 @@ const defaultForm = { }, dokumenJadwalKegiatan: { content: "", - }, - pendaftaranJadwalKegiatan: { - name: "", - tanggal: "", - namaOrangtua: "", - nomor: "", - alamat: "", - catatan: "", - }, + } }; const jadwalkegiatanState = proxy({ @@ -116,7 +100,6 @@ const jadwalkegiatanState = proxy({ deskripsijadwalkegiatan: true; layananjadwalkegiatan: true; dokumenjadwalkegiatan: true; - pendaftaranjadwalkegiatan: true; }; }>[] | null, @@ -161,7 +144,6 @@ const jadwalkegiatanState = proxy({ layananjadwalkegiatan: true; syaratketentuanjadwalkegiatan: true; dokumenjadwalkegiatan: true; - pendaftaranjadwalkegiatan: true; }; }> | null, loading: false, @@ -209,15 +191,7 @@ const jadwalkegiatanState = proxy({ }, dokumenJadwalKegiatan: { content: data.dokumenjadwalkegiatan.content, - }, - pendaftaranJadwalKegiatan: { - name: data.pendaftaranjadwalkegiatan.name, - tanggal: data.pendaftaranjadwalkegiatan.tanggal, - namaOrangtua: data.pendaftaranjadwalkegiatan.namaOrangtua, - nomor: data.pendaftaranjadwalkegiatan.nomor, - alamat: data.pendaftaranjadwalkegiatan.alamat, - catatan: data.pendaftaranjadwalkegiatan.catatan, - }, + } }; }, async submit() { @@ -259,20 +233,6 @@ const jadwalkegiatanState = proxy({ content: jadwalkegiatanState.edit.form.dokumenJadwalKegiatan.content, }, - pendaftaranJadwalKegiatan: { - name: jadwalkegiatanState.edit.form.pendaftaranJadwalKegiatan.name, - tanggal: - jadwalkegiatanState.edit.form.pendaftaranJadwalKegiatan.tanggal, - namaOrangtua: - jadwalkegiatanState.edit.form.pendaftaranJadwalKegiatan - .namaOrangtua, - nomor: - jadwalkegiatanState.edit.form.pendaftaranJadwalKegiatan.nomor, - alamat: - jadwalkegiatanState.edit.form.pendaftaranJadwalKegiatan.alamat, - catatan: - jadwalkegiatanState.edit.form.pendaftaranJadwalKegiatan.catatan, - }, }; const res = await fetch( diff --git a/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/fasilitas_kesehatan/page.tsx b/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/fasilitas_kesehatan/page.tsx index fa14f3a2..9c9e3f1e 100644 --- a/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/fasilitas_kesehatan/page.tsx +++ b/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/fasilitas_kesehatan/page.tsx @@ -114,12 +114,22 @@ function ListFasilitasKesehatan({ search }: { search: string }) { filteredData.map((item) => ( - - {item.name} - + + + {item.name} + + + + + + {item.dokterdantenagamedis?.name || '-'} + + + + + {item.tarifdanlayanan?.layanan || '-'} + - {item.dokterdantenagamedis?.name || '-'} - {item.tarifdanlayanan?.layanan || '-'} + return ( + + {/* Tombol kembali */} + - - - - Detail Data Kematian - + + + + Detail Data Kematian + - - - - Nama - {data?.nama || '-'} - + + + + Nama + {data?.nama || '-'} + - - Tanggal - - {data?.tanggal instanceof Date - ? data.tanggal.toLocaleDateString('id-ID', { - day: '2-digit', - month: 'long', - year: 'numeric' - }) - : data?.tanggal || '-'} - - + + Tanggal + + {new Date(data.tanggal).toLocaleDateString("id-ID", { + day: "2-digit", + month: "long", + year: "numeric", + })} + + - - Jenis Kelamin - {data?.jenisKelamin || '-'} - + + Jenis Kelamin + {data?.jenisKelamin || '-'} + - - Alamat - {data?.alamat || '-'} - + + Alamat + {data?.alamat || '-'} + - - Penyebab - - + + Penyebab + + - - - - + + + + - - - - - - - - + + + + + + + + - setModalHapus(false)} - onConfirm={handleHapus} - text="Apakah Anda yakin ingin menghapus data ini?" - /> - - ); + setModalHapus(false)} + onConfirm={handleHapus} + text="Apakah Anda yakin ingin menghapus data ini?" + /> + + ); } diff --git a/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/persentase_data_kelahiran_kematian/kematian/page.tsx b/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/persentase_data_kelahiran_kematian/kematian/page.tsx index 78e601d9..b9ab8ec7 100644 --- a/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/persentase_data_kelahiran_kematian/kematian/page.tsx +++ b/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/persentase_data_kelahiran_kematian/kematian/page.tsx @@ -122,19 +122,33 @@ function ListKematian({ search }: { search: string }) { filteredData.map((item) => ( + {item.nama} + + {new Date(item.tanggal).toLocaleDateString('id-ID', { day: '2-digit', month: 'long', year: 'numeric', })} + + + + + {item.jenisKelamin} + + + + + + {item.alamat} + + - {item.jenisKelamin} - {item.alamat} - @@ -336,13 +319,11 @@ function Page() { Prosedur Pendaftaran - }> - Pendaftaran dibuka pukul 07.30 WITA - Bawa KTP dan Kartu BPJS (jika ada) - Ambil nomor antrian di loket pendaftaran - Pengunjung baru mengisi formulir pendaftaran - Pendaftaran online tersedia melalui aplikasi S-Sehat - + {prosedur ? ( + + ) : ( + Belum ada prosedur pendaftaran + )} diff --git a/src/app/darmasaba/(pages)/kesehatan/data-kesehatan-warga/jadwal-kegiatan-page/[id]/page.tsx b/src/app/darmasaba/(pages)/kesehatan/data-kesehatan-warga/jadwal-kegiatan-page/[id]/page.tsx index 6b94485f..ac54f30d 100644 --- a/src/app/darmasaba/(pages)/kesehatan/data-kesehatan-warga/jadwal-kegiatan-page/[id]/page.tsx +++ b/src/app/darmasaba/(pages)/kesehatan/data-kesehatan-warga/jadwal-kegiatan-page/[id]/page.tsx @@ -4,7 +4,6 @@ import BackButton from '@/app/darmasaba/(pages)/desa/layanan/_com/BackButto'; import colors from '@/con/colors'; import { Box, - Button, Divider, Group, Paper, @@ -13,7 +12,7 @@ import { Text } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; -import { IconDownload, IconMail, IconPhone, IconUser } from '@tabler/icons-react'; +import { IconMail, IconPhone, IconUser } from '@tabler/icons-react'; import { useParams } from 'next/navigation'; import { useProxy } from 'valtio/utils'; import CreatePendaftaran from '../create/page'; @@ -107,12 +106,6 @@ function Page() { - - - - diff --git a/src/app/darmasaba/(pages)/kesehatan/info-wabah-penyakit/page.tsx b/src/app/darmasaba/(pages)/kesehatan/info-wabah-penyakit/page.tsx index 3dc4af80..0ac6874c 100644 --- a/src/app/darmasaba/(pages)/kesehatan/info-wabah-penyakit/page.tsx +++ b/src/app/darmasaba/(pages)/kesehatan/info-wabah-penyakit/page.tsx @@ -32,7 +32,7 @@ function Page() { const { data, page, totalPages, loading, load } = state.findMany; useShallowEffect(() => { - load(page, 6, search); + load(page, 3, search); }, [page, search]); if (loading || !data) { @@ -153,7 +153,7 @@ function Page() { )} - {totalPages > 1 && ( +
- )} + ); } diff --git a/src/app/darmasaba/(pages)/kesehatan/posyandu/page.tsx b/src/app/darmasaba/(pages)/kesehatan/posyandu/page.tsx index 5acdef17..4f80a440 100644 --- a/src/app/darmasaba/(pages)/kesehatan/posyandu/page.tsx +++ b/src/app/darmasaba/(pages)/kesehatan/posyandu/page.tsx @@ -1,7 +1,7 @@ 'use client' import posyandustate from "@/app/admin/(dashboard)/_state/kesehatan/posyandu/posyandu"; import colors from "@/con/colors"; -import { Badge, Box, Center, Flex, Image, List, ListItem, Pagination, Paper, SimpleGrid, Skeleton, Spoiler, Stack, Text, TextInput } from "@mantine/core"; +import { Badge, Box, Center, Flex, Group, Image, List, ListItem, Pagination, Paper, SimpleGrid, Skeleton, Spoiler, Stack, Text, TextInput } from "@mantine/core"; import { useShallowEffect } from "@mantine/hooks"; import { IconCalendar, IconInfoCircle, IconPhone, IconSearch } from "@tabler/icons-react"; import { useState } from "react"; @@ -82,14 +82,14 @@ export default function Page() { }} > - + {v.name} Aktif - +
- + Jam Operasional + Senin - Jumat - - {data.jam.workDays} - {data.jam.weekDays} - + {data.jam.workDays} - {data.jam.weekDays} Aktif - + Sabtu - Minggu / Hari Libur + + + {data.jam.holiday} + + Aktif + + + diff --git a/src/app/darmasaba/(pages)/kesehatan/puskesmas/page.tsx b/src/app/darmasaba/(pages)/kesehatan/puskesmas/page.tsx index 12331aab..2e324920 100644 --- a/src/app/darmasaba/(pages)/kesehatan/puskesmas/page.tsx +++ b/src/app/darmasaba/(pages)/kesehatan/puskesmas/page.tsx @@ -27,11 +27,7 @@ function Page() { if (loading || !data) { return ( - - {Array.from({ length: 6 }).map((_, i) => ( - - ))} - + ) } diff --git a/src/app/darmasaba/_com/main-page/sdgs/index.tsx b/src/app/darmasaba/_com/main-page/sdgs/index.tsx index 750cd7ee..d51ca065 100644 --- a/src/app/darmasaba/_com/main-page/sdgs/index.tsx +++ b/src/app/darmasaba/_com/main-page/sdgs/index.tsx @@ -144,9 +144,9 @@ export default function SDGS() { mt={40} variant="gradient" gradient={{ from: "#26667F", to: "#124170" }} - style={{ boxShadow: "0 6px 14px rgba(18,65,112,0.25)" }} + style={{ boxShadow: "0 6px 14px rgba(18,65,112,0.25)"}} > - Jelajahi Semua Tujuan SDGs Desa + Jelajahi Semua Tujuan SDGs Desa