From dcb80175944207d173c604998e14ff092248badc Mon Sep 17 00:00:00 2001 From: nico Date: Fri, 5 Dec 2025 17:42:04 +0800 Subject: [PATCH 1/4] Fix undefined ke detail berita terbaru --- public/mangupuraaward.jpeg | Bin 0 -> 181700 bytes src/app/api/check-update/route.ts | 36 ----- src/app/api/news/latest/route.ts | 43 ++++++ .../darmasaba/_com/ModernNewsNotification.tsx | 144 +++++++++++------- .../_com/main-page/penghargaan/index.tsx | 2 +- src/app/darmasaba/page.tsx | 139 +++++++---------- 6 files changed, 191 insertions(+), 173 deletions(-) create mode 100644 public/mangupuraaward.jpeg delete mode 100644 src/app/api/check-update/route.ts create mode 100644 src/app/api/news/latest/route.ts diff --git a/public/mangupuraaward.jpeg b/public/mangupuraaward.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..2260646114c6c729578911ff0fb405ba7e7a0054 GIT binary patch literal 181700 zcmbTdWmFtZ6gD`xyE_CD+}$lOIKkb6OBgh`Ll|Umg1cL=;O_43?qqNc`FM9fIcIfD{kOsiP!v5FZ z1^&GuAR{2a!y}*~At558qoSjup`xK-VB%t9VB%n+pF5D=ha5fKyO6XW6& z;Qu!X4BYz|cmxy#1QdJ>Gz|Rz&+@MufP)Mx0S|zK!2!VHz`)_a{Obo$0RS)v?@<3k z`#%K+_FYFrBxDp+wD%5;*Z^1<#qK9jlY|kTUvYj z`UeJwhDSzc=jIm{mzGyncXs#o4-SuxPfo9{Z*K4IA0D5c|HB3Ij`M%X{|)T_f$Mz{ zU|`|l;oy<}!vzED`F_ITz$4IbBH~J_A(?^jK5zvg<4eWo)%Kv!a;rlL%w1+s3F&xt zK3@F??f*jd{|;F2|1V_!8`%HBwF*FogL!{>a5w;Q!0XE?mcP$mSL0H&Lqs~9?z>`u zq3hb292`v@_wfES>{req%ELf}9*n=|dz+!sZQ$HD<1SO%=&fj?4d%Rc0vSKvJ{Q|_YXF?fWmzo>T% z+eAt0UTz$&ZZWQs)Gyya^wmAc)v8#61(s_@65GUX;|sWGVihZrf7HsnEZ;pZ7>+l( zGK7EDNu$vuq2@;d%NV9_>Q?9JnL8fug@6<0nk~{1K$S%hswx=Jj^rRF<2t6|7Y(+0 zroDq3P9vP!d*Fc$1{Bp%WHm90f z>wJ99($90?xpCiy?apB20sX>uIogj~h2yi6>FOqlVG01WBy!l$2(A@KwcYo7RgS{GF$J)h9TeAaDrHq7?3uE8=-+%1YrHSQhNf z-ML^gKF?M(gg)>~^r_PJ75UUB+tsCub%v_X4(m-=3oC}SD=hOM|GeRcHv_>f^igeR z%*9lcsUMJ?gf9$|kULYqV-%)X3V)RWbuOv>{s)Ll&cTxvKWI0Z2VY$Yxbw`3jj@iC zlO}9XEP-#28|{SyuulSohVu?(&PDByF3vMT#HMhFcgy~or;A41dp?#?jAQJunxz=X z53+uZ`@1OK?RsV``w2qpX?!LkH#&K>f%^)CqS|sB+B{HaeYj2hMvMM~PP8-m=9em( zjxywTpH{e;WUmRXn8sB^a5WFBf{%QvJ*{ueN<@`^UaCd14c&t{<0RLL*=ds_rn(|x z%xIJT!(7XCmEOva6oWS{5`hyX=>%+|B3Q~=h9d%g*m1lIP;0)z@hTq3QhA zc)v-^gtPnF81$4K4`tsy?wlK-(Ek|Pl*=ikgaS?99DHBxzV?Jn|A`Sv~`)PW0cb#mi5nw6edm~+3YNZVauUb zS|sN9Sq1Y;E3*liPO;u`NyIPo%PqVWF(aW*dULj(;rvL>)UJjErCS=u&I{*Lno#j5 z6P1=I`)!ahhPMh<8fBIOsD_OD^dA85*h}Hx^C5nr5N%L(lQQ|_;IT=3WBhfFXKa(w zNll-M>uufyHeiRcwfPDYVw**I(WFRj5#^=YWXXH`D+3sTVj}AsRdteZvh+ zESR}UVK<4CQy1V@9zXdJz>{wJ5kO%B!#MzpPfq@YM-B-#5S9S|2Sz0Oo-0KPU?482 zf`wTuF|QVO{*!Lr9PKJGy*TnA2rQ)TphLuCC|!oRqohNaPB8!*EREl7jHK{BZ~_h$ zQII0veAHQvR$vM-5Zjc2f&r#yX)z9S0`Te70KC)s(@<)iREJ>DDzG`IC6`THu)u8H zL{&l3IoI4V7s)Xf&i3^ffXY1q5P+F$1hBbEO0EX|uz{U~ptLRCJ_0rl4L_Lr{Hiuo zO0t!IqG;B=Sq$}^s=Dmi@WbA*XwvPz?S}0l>(@N0qJ3b(J}AP6e7I6cU-GBu(zwA# z2qeE|ULIq55xTNY%T&8>)}tNjVL__$FQCwx8laf7L9wEBB^-kLREn)`fgLLlJqe2v;q7QQuZ#2eE&$=~sxCHV+-O=uNpB7yq?u92k$Nq_l2Qz)M_lf%T zsgGH^D~(a@dbA`?Sj)G|fCG&@U!UhCN)xHK*Lz?Ixaz!MgkojZZq>4@Pc`CRNEPKn zztiQ4|1D&hY6!NvNZ!1{#SN8HSKoKcg&o$G%jOL;rW%i^HG^zq$T=(Zx{|Zr_cVR^ z*4aKKBdy<;g$kPJYt}yhX$)Dq&iWTQ>ceT5MJU)vHMviIah#rh`iV~!^Q3ycr{N!< zZm_d!b*u$y7*CzpM`#*YG>`d{SD`)Zd!)ZCE4Se+GA3Ct>xAi-kK}8zVu95cj>yhrXe#z7W+kPL~ED+E(3g z?wi;g{YX&~HBqbiL$2?81lyXA5PdQfTEGT|WbQ^csX2YD?uyDi6B1n*op}((LfrbQ z?1!cVrR_3P5adKosjDE(fAZI_CksPz=Yo^XqFCCRk6dLxU}8%sKz|veEvbH;Tec-P zQSb0UB`ZD*c!F6K-jEDfe^<0*9SGWD&CR9^Tg9i*e)*B7i4H&nl(OxSIs*;0kR2S4 zaFGPg

WNh`dL^JjD#0avisoxv6H(YaPv>}56KV<+ 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

aT1cwCS(jQ60S^G1=r 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

sl+~N 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 iR>c+)*Z?!u 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 literal 0 HcmV?d00001 diff --git a/src/app/api/check-update/route.ts b/src/app/api/check-update/route.ts deleted file mode 100644 index 167f90a8..00000000 --- a/src/app/api/check-update/route.ts +++ /dev/null @@ -1,36 +0,0 @@ -// app/api/check-update/route.ts -import prisma from "@/lib/prisma"; - -export async function GET() { - try { - // Ambil berita terbaru - const latestBerita = await prisma.berita.findFirst({ - orderBy: { createdAt: "desc" }, - select: { id: true, createdAt: true }, - }); - - // Ambil pengumuman terbaru - const latestPengumuman = await prisma.pengumuman.findFirst({ - orderBy: { createdAt: "desc" }, - select: { id: true, createdAt: true }, - }); - - return Response.json({ - success: true, - data: { - berita: latestBerita - ? { id: latestBerita.id, createdAt: latestBerita.createdAt.toISOString() } - : null, - pengumuman: latestPengumuman - ? { id: latestPengumuman.id, createdAt: latestPengumuman.createdAt.toISOString() } - : null, - }, - }); - } catch (error) { - console.error("Error in /api/check-update:", error); - return Response.json( - { success: false, message: "Gagal cek update" }, - { status: 500 } - ); - } -} \ No newline at end of file diff --git a/src/app/api/news/latest/route.ts b/src/app/api/news/latest/route.ts new file mode 100644 index 00000000..a38a1fe6 --- /dev/null +++ b/src/app/api/news/latest/route.ts @@ -0,0 +1,43 @@ +// app/api/news/latest/route.ts +import { NextResponse } from "next/server"; +import prisma from "@/lib/prisma"; + +export async function GET() { + try { + const berita = await prisma.berita.findMany({ + take: 3, + orderBy: { createdAt: "desc" }, + include: { kategoriBerita: true }, + }); + + const pengumuman = await prisma.pengumuman.findMany({ + take: 3, + orderBy: { createdAt: "desc" }, + include: { CategoryPengumuman: true }, + }); + + const news = [ + ...berita.map((b) => ({ + id: b.id, + type: "berita" as const, + title: b.judul, + content: b.content, + timestamp: b.createdAt, + kategoriBerita: b.kategoriBerita || undefined, + })), + ...pengumuman.map((p) => ({ + id: p.id, + type: "pengumuman" as const, + title: p.judul, + content: p.content, + timestamp: p.createdAt, + kategoriPengumuman: p.CategoryPengumuman || undefined, + })), + ]; + + return NextResponse.json({ success: true, news }); // ✅ ganti 'data' jadi 'news' + } catch (error) { + console.error("API Error:", error); + return NextResponse.json({ success: false, error: "Gagal memuat data" }, { status: 500 }); + } +} \ No newline at end of file diff --git a/src/app/darmasaba/_com/ModernNewsNotification.tsx b/src/app/darmasaba/_com/ModernNewsNotification.tsx index 39701cbd..ccf338d9 100644 --- a/src/app/darmasaba/_com/ModernNewsNotification.tsx +++ b/src/app/darmasaba/_com/ModernNewsNotification.tsx @@ -1,74 +1,94 @@ "use client"; -import { useState, useEffect } from "react"; -import { Box, Paper, Text, Group, CloseButton, Badge, ActionIcon, Stack, Transition } from "@mantine/core"; +import { + ActionIcon, + Badge, + Box, + CloseButton, + Group, + Paper, + Stack, + Text, + Transition, +} from "@mantine/core"; import { IconBell, IconChevronRight } from "@tabler/icons-react"; import { usePathname, useRouter } from "next/navigation"; +import { useEffect, useState } from "react"; -interface NewsItem { - id: string | number; +// === Tipe yang bisa diimpor di tempat lain === +export interface KategoriBerita { + id: string; + name: string; +} + +export interface KategoriPengumuman { + id: string; + name: string; +} + +export interface NewsItem { + id: string; type: "berita" | "pengumuman"; title: string; content: string; timestamp?: string | Date; + kategoriBerita?: KategoriBerita; + kategoriPengumuman?: KategoriPengumuman; } -interface ModernNewsNotificationProps { +export interface ModernNewsNotificationProps { news: NewsItem[]; - hasNewContent?: boolean; // ✅ TAMBAHAN - newItemCount?: number; // ← tambahkan ini - onSeen?: () => void; // ✅ TAMBAHAN + hasNewContent?: boolean; + newItemCount?: number; + onSeen?: () => void; autoShowDelay?: number; } +// === Helper === function stripHtml(html: string): string { return html - .replace(/<[^>]+>/g, '') - .replace(/ /gi, ' ') - .replace(/&/gi, '&') - .replace(/\s+/g, ' ') + .replace(/<[^>]+>/g, "") + .replace(/ /gi, " ") + .replace(/&/gi, "&") + .replace(/\s+/g, " ") .trim(); } +// === Komponen Utama === export default function ModernNewsNotification({ news = [], hasNewContent = false, - newItemCount = 0, // 👈 tambahkan ini + newItemCount = 0, onSeen, autoShowDelay = 2000, }: ModernNewsNotificationProps) { const router = useRouter(); + const pathname = usePathname(); + const [toastVisible, setToastVisible] = useState(false); const [widgetOpen, setWidgetOpen] = useState(false); const [hasNewNotifications, setHasNewNotifications] = useState(hasNewContent); const [hasShownToast, setHasShownToast] = useState(false); const [iconVisible, setIconVisible] = useState(true); - const pathname = usePathname(); - // Sinkronisasi dari luar + // Sinkronisasi prop eksternal useEffect(() => { - if (hasNewContent) { - setHasNewNotifications(true); - // Jangan otomatis tampilkan toast di sini — biarkan saat page load saja - } + setHasNewNotifications(hasNewContent); }, [hasNewContent]); - // Auto show toast hanya saat page pertama kali load + // Tampilkan toast pertama kali useEffect(() => { if (news.length > 0 && !toastVisible && !hasShownToast) { const timer = setTimeout(() => { setToastVisible(true); setHasShownToast(true); - // Jika ada new content, anggap sudah "dilihat" setelah toast muncul - if (hasNewNotifications) { - onSeen?.(); - } + if (hasNewNotifications) onSeen?.(); }, autoShowDelay); return () => clearTimeout(timer); } }, [news.length, autoShowDelay, toastVisible, hasShownToast, hasNewNotifications, onSeen]); - // Auto hide toast + // Sembunyikan toast otomatis useEffect(() => { if (toastVisible) { const timer = setTimeout(() => setToastVisible(false), 8000); @@ -76,7 +96,7 @@ export default function ModernNewsNotification({ } }, [toastVisible]); - // Scroll handler + // Kontrol visibilitas ikon saat scroll useEffect(() => { let lastScrollY = window.scrollY; const HIDE_THRESHOLD = 100; @@ -84,11 +104,11 @@ export default function ModernNewsNotification({ const handleScroll = () => { const currentScrollY = window.scrollY; - const scrollDirection = currentScrollY > lastScrollY ? 'down' : 'up'; + const scrollDirection = currentScrollY > lastScrollY ? "down" : "up"; - if (scrollDirection === 'down' && currentScrollY > HIDE_THRESHOLD) { + if (scrollDirection === "down" && currentScrollY > HIDE_THRESHOLD) { setIconVisible(false); - } else if (scrollDirection === 'up' && currentScrollY < SHOW_THRESHOLD) { + } else if (scrollDirection === "up" && currentScrollY < SHOW_THRESHOLD) { setIconVisible(true); } @@ -99,19 +119,25 @@ export default function ModernNewsNotification({ lastScrollY = currentScrollY; }; - window.addEventListener('scroll', handleScroll, { passive: true }); - return () => window.removeEventListener('scroll', handleScroll); + window.addEventListener("scroll", handleScroll, { passive: true }); + return () => window.removeEventListener("scroll", handleScroll); }, [toastVisible]); const currentNews = news[0]; + // 🔗 Arahkan ke detail dengan kategori aman const handleNotificationClick = (item: NewsItem) => { setWidgetOpen(false); - onSeen?.(); // ✅ tandai sebagai dilihat + onSeen?.(); + if (item.type === "berita") { - router.push("/darmasaba/desa/berita/semua"); + const kategori = item.kategoriBerita?.name || "umum"; + const safeKategori = encodeURIComponent(kategori); + router.push(`/darmasaba/desa/berita/${safeKategori}/${item.id}`); } else if (item.type === "pengumuman") { - router.push("/darmasaba/desa/pengumuman"); + const kategori = item.kategoriPengumuman?.name || "umum"; + const safeKategori = encodeURIComponent(kategori); + router.push(`/darmasaba/desa/pengumuman/${safeKategori}/${item.id}`); } }; @@ -119,35 +145,40 @@ export default function ModernNewsNotification({ setToastVisible(false); setWidgetOpen(true); setHasNewNotifications(false); - onSeen?.(); // ✅ + onSeen?.(); }; const handleDismissToast = (e: React.MouseEvent) => { e.stopPropagation(); setToastVisible(false); - onSeen?.(); // ✅ + onSeen?.(); }; - // Only show on landing page - if (pathname !== '/darmasaba') { - return null; - } + // Hanya tampilkan di landing page + if (pathname !== "/darmasaba") return null; return ( <> {/* Floating Bell Icon */} {(transitionStyles) => ( - + { - setWidgetOpen(!widgetOpen); + setWidgetOpen((open) => !open); setHasNewNotifications(false); - onSeen?.(); // ✅ + onSeen?.(); }} style={{ width: "60px", @@ -168,7 +199,6 @@ export default function ModernNewsNotification({ right: "6px", minWidth: "22px", height: "22px", - padding: "0 6px", display: "flex", alignItems: "center", justifyContent: "center", @@ -208,12 +238,14 @@ export default function ModernNewsNotification({ - Berita & Pengumuman + + Berita & Pengumuman + { setWidgetOpen(false); - onSeen?.(); // ✅ + onSeen?.(); }} variant="transparent" c="white" @@ -224,13 +256,15 @@ export default function ModernNewsNotification({ {news.length === 0 ? ( - Tidak ada berita terbaru + + Tidak ada berita terbaru + ) : ( - {news.map((item, index) => ( + {news.map((item) => ( {/* Toast Notification */} - + {(styles) => ( - {currentNews?.type === "berita" ? "Berita Terbaru" : "Pengumuman"} + {currentNews?.type === "berita" + ? "Berita Terbaru" + : "Pengumuman"} @@ -329,7 +369,7 @@ export default function ModernNewsNotification({ - {news.length > 1 ? `${news.length} berita tersedia` : '1 berita'} + {news.length > 1 ? `${news.length} berita tersedia` : "1 berita"} setShowVideo(true)} style={{ - backgroundImage: "url('/assets/images/award-poster.jpg')", + backgroundImage: "url('/mangupuraaward.jpeg')", backgroundSize: 'cover', backgroundPosition: 'center', cursor: 'pointer', diff --git a/src/app/darmasaba/page.tsx b/src/app/darmasaba/page.tsx index 337dfa1f..fcee95fe 100644 --- a/src/app/darmasaba/page.tsx +++ b/src/app/darmasaba/page.tsx @@ -15,15 +15,17 @@ import Apbdes from "./_com/main-page/apbdes"; import Prestasi from "./_com/main-page/prestasi"; import ScrollToTopButton from "./_com/scrollToTopButton"; -import { useEffect, useMemo, useRef, useState } from "react"; +import { useEffect, useRef, useState } from "react"; import { useSnapshot } from "valtio"; import stateDashboardBerita from "../admin/(dashboard)/_state/desa/berita"; import stateDesaPengumuman from "../admin/(dashboard)/_state/desa/pengumuman"; import NewsReaderLanding from "./_com/NewsReaderalanding"; import ModernNewsNotification from "./_com/ModernNewsNotification"; +import type { NewsItem } from "./_com/ModernNewsNotification"; // pastikan tipe ini diekspor export default function Page() { + // Tetap gunakan Valtio untuk card utama (NewsReaderLanding) const snap1 = useSnapshot(stateDashboardBerita.berita.findFirst); const snap2 = useSnapshot(stateDesaPengumuman.pengumuman.findFirst); const featured = snap1; @@ -31,13 +33,15 @@ export default function Page() { const loadingFeatured = featured.loading; const loadingPengumuman = pengumuman.loading; + // State untuk notifikasi + const [notificationNews, setNotificationNews] = useState([]); const [hasNewContent, setHasNewContent] = useState(false); const [newItemCount, setNewItemCount] = useState(0); const lastBeritaId = useRef(null); const lastPengumumanId = useRef(null); - // 🔁 Inisialisasi dari localStorage saat mount + // Inisialisasi dari localStorage useEffect(() => { const savedBerita = localStorage.getItem("lastSeenBeritaId"); const savedPengumuman = localStorage.getItem("lastSeenPengumumanId"); @@ -45,13 +49,7 @@ export default function Page() { if (savedPengumuman) lastPengumumanId.current = savedPengumuman; }, []); - // Simpan ID saat data dimuat (termasuk dari API) - useEffect(() => { - if (featured.data?.id) lastBeritaId.current = featured.data.id; - if (pengumuman.data?.id) lastPengumumanId.current = pengumuman.data.id; - }, [featured.data?.id, pengumuman.data?.id]); - - // Load data awal + // Load data utama (untuk card) useEffect(() => { if (!featured.data && !loadingFeatured) { stateDashboardBerita.berita.findFirst.load(); @@ -64,91 +62,64 @@ export default function Page() { } }, []); - // 🔁 Polling untuk cek update setiap 30 detik - useEffect(() => { - const checkForUpdates = async () => { - try { - const res = await fetch("/api/check-update"); - const result = await res.json(); + // 🔁 Fetch berita & pengumuman lengkap untuk notifikasi + const fetchNotificationData = async () => { + try { + const res = await fetch("/api/news/latest"); + const result = await res.json(); + if (result.success && Array.isArray(result.news)) { + const news = result.news as NewsItem[]; - if (!result.success) return; + // Ambil ID terbaru + const latestBerita = news.find((n) => n.type === "berita"); + const latestPengumuman = news.find((n) => n.type === "pengumuman"); - const { berita, pengumuman } = result.data; + const isNewBerita = latestBerita && lastBeritaId.current !== null && latestBerita.id !== lastBeritaId.current; + const isNewPengumuman = latestPengumuman && lastPengumumanId.current !== null && latestPengumuman.id !== lastPengumumanId.current; - // Deteksi hanya jika sudah pernah ada data sebelumnya - const isNewBerita = berita && lastBeritaId.current !== null && berita.id !== lastBeritaId.current; - const isNewPengumuman = pengumuman && lastPengumumanId.current !== null && pengumuman.id !== lastPengumumanId.current; + // Simpan ID terbaru ke ref + if (latestBerita) lastBeritaId.current = (latestBerita.id); + if (latestPengumuman) lastPengumumanId.current = (latestPengumuman.id); - if (isNewBerita || isNewPengumuman) { - // Hitung berapa yang benar-benar baru - const count = (isNewBerita ? 1 : 0) + (isNewPengumuman ? 1 : 0); - setNewItemCount(count); - setHasNewContent(true); - - // Reload hanya yang berubah - if (isNewBerita) stateDashboardBerita.berita.findFirst.load(); - if (isNewPengumuman) stateDesaPengumuman.pengumuman.findFirst.load(); + // Jika ini bukan inisialisasi pertama, tampilkan notifikasi + if (lastBeritaId.current !== null || lastPengumumanId.current !== null) { + if (isNewBerita || isNewPengumuman) { + const count = (isNewBerita ? 1 : 0) + (isNewPengumuman ? 1 : 0); + setNewItemCount(count); + setHasNewContent(true); + } } else { - // Jika ini adalah pertama kali (masih null), simpan ID tanpa notifikasi - if (lastBeritaId.current === null && berita) { - lastBeritaId.current = berita.id; - localStorage.setItem("lastSeenBeritaId", berita.id); - } - if (lastPengumumanId.current === null && pengumuman) { - lastPengumumanId.current = pengumuman.id; - localStorage.setItem("lastSeenPengumumanId", pengumuman.id); - } + // Simpan ke localStorage saat pertama kali + if (latestBerita) localStorage.setItem("lastSeenBeritaId", (latestBerita.id)); + if (latestPengumuman) localStorage.setItem("lastSeenPengumumanId", (latestPengumuman.id)); } - } catch (err) { - console.error("Gagal cek update berita/pengumuman:", err); - } - }; - const interval = setInterval(checkForUpdates, 30_000); + setNotificationNews(news); + } + } catch (err) { + console.error("Gagal fetch data notifikasi:", err); + } + }; + + // Load data notifikasi pertama kali + useEffect(() => { + fetchNotificationData(); + }, []); + + // Polling setiap 30 detik + useEffect(() => { + const interval = setInterval(fetchNotificationData, 30_000); return () => clearInterval(interval); }, []); - const newsData = useMemo(() => { - const items = []; - - if (featured.data) { - items.push({ - id: String(featured.data.id || "berita-1"), - type: "berita" as const, - title: String(featured.data.judul || "Berita Terbaru"), - content: String(featured.data.content || ""), - timestamp: featured.data.createdAt - ? (typeof featured.data.createdAt === 'string' - ? featured.data.createdAt - : new Date(featured.data.createdAt).toISOString()) - : new Date().toISOString(), - }); - } - - if (pengumuman.data) { - items.push({ - id: String(pengumuman.data.id || "pengumuman-1"), - type: "pengumuman" as const, - title: String(pengumuman.data.judul || "Pengumuman Penting"), - content: String(pengumuman.data.content || ""), - timestamp: pengumuman.data.createdAt - ? (typeof pengumuman.data.createdAt === 'string' - ? pengumuman.data.createdAt - : new Date(pengumuman.data.createdAt).toISOString()) - : new Date().toISOString(), - }); - } - - return items; - }, [featured.data, pengumuman.data]); - const handleSeen = () => { - setHasNewContent(false); - setNewItemCount(0); - // Simpan ke localStorage saat dilihat - if (featured.data?.id) localStorage.setItem("lastSeenBeritaId", featured.data.id); - if (pengumuman.data?.id) localStorage.setItem("lastSeenPengumumanId", pengumuman.data.id); - }; + setHasNewContent(false); + setNewItemCount(0); + const latestBerita = notificationNews.find(n => n.type === "berita"); + const latestPengumuman = notificationNews.find(n => n.type === "pengumuman"); + if (latestBerita) localStorage.setItem("lastSeenBeritaId", String(latestBerita.id)); + if (latestPengumuman) localStorage.setItem("lastSeenPengumumanId", String(latestPengumuman.id)); +}; return ( @@ -168,7 +139,7 @@ export default function Page() { Date: Tue, 9 Dec 2025 10:28:17 +0800 Subject: [PATCH 2/4] Fix QC Kak Inno Tgl 4 & 5 Desember Fix QC Kak Ayu Tgl 4 & 5 Desember Fix QC Pak Jun Tgl 5 Desember --- .../permohonanInformasiPublik.ts | 267 ++++++++++-------- .../permohonanKeberatanInformasi.ts | 157 +++++----- .../(dashboard)/ppid/profil-ppid/page.tsx | 3 +- .../api/[[...slugs]]/_lib/desa/berita/del.ts | 31 +- .../permohonan_informasi_publik/create.ts | 82 +++--- .../create.ts | 61 ++-- .../(pages)/desa/layanan/[id]/page.tsx | 2 +- .../(kategori)/adat-&-budaya/page.tsx | 96 ------- .../(kategori)/digitalisasi-desa/page.tsx | 96 ------- .../(kategori)/ekonomi-&-umkm/page.tsx | 96 ------- .../(kategori)/lingkungan-&-bencana/page.tsx | 96 ------- .../pendidikan-&-kepemudaan/page.tsx | 96 ------- .../(kategori)/sosial-&-kesehatan/page.tsx | 96 ------- .../desa/pengumuman/[name]/[id]/page.tsx | 4 +- .../profile/struktur-perangkat-desa/page.tsx | 205 ++++++++------ .../daftar-informasi-publik/[id]/page.tsx | 20 +- .../(pages)/ppid/dasar-hukum/page.tsx | 11 +- .../ppid/indeks-kepuasan-masyarakat/page.tsx | 4 +- .../ppid/permohonan-informasi-publik/page.tsx | 18 +- .../page.tsx | 18 +- .../(pages)/ppid/profile-ppid/page.tsx | 10 +- .../(pages)/ppid/struktur-ppid/page.tsx | 206 ++++++++------ .../(pages)/ppid/visi-misi-ppid/page.tsx | 17 +- .../darmasaba/_com/ModernNewsNotification.tsx | 13 +- .../_com/main-page/kepuasan/index.tsx | 38 ++- .../_com/main-page/landing-page/index.tsx | 2 +- .../_com/main-page/penghargaan/index.tsx | 112 ++++++-- src/app/darmasaba/page.tsx | 83 ++++-- 28 files changed, 816 insertions(+), 1124 deletions(-) delete mode 100644 src/app/darmasaba/(pages)/desa/pengumuman/(kategori)/adat-&-budaya/page.tsx delete mode 100644 src/app/darmasaba/(pages)/desa/pengumuman/(kategori)/digitalisasi-desa/page.tsx delete mode 100644 src/app/darmasaba/(pages)/desa/pengumuman/(kategori)/ekonomi-&-umkm/page.tsx delete mode 100644 src/app/darmasaba/(pages)/desa/pengumuman/(kategori)/lingkungan-&-bencana/page.tsx delete mode 100644 src/app/darmasaba/(pages)/desa/pengumuman/(kategori)/pendidikan-&-kepemudaan/page.tsx delete mode 100644 src/app/darmasaba/(pages)/desa/pengumuman/(kategori)/sosial-&-kesehatan/page.tsx diff --git a/src/app/admin/(dashboard)/_state/ppid/permohonan_informasi_publik/permohonanInformasiPublik.ts b/src/app/admin/(dashboard)/_state/ppid/permohonan_informasi_publik/permohonanInformasiPublik.ts index 0a452cdd..0cd22ea0 100644 --- a/src/app/admin/(dashboard)/_state/ppid/permohonan_informasi_publik/permohonanInformasiPublik.ts +++ b/src/app/admin/(dashboard)/_state/ppid/permohonan_informasi_publik/permohonanInformasiPublik.ts @@ -6,145 +6,176 @@ import { z } from "zod"; const templateForm = z.object({ name: z.string().min(3, "Nama minimal 3 karakter"), - nik: z.string().min(3, "NIK minimal 3 karakter"), - notelp: z.string().min(3, "Nomor Telepon minimal 3 karakter"), + nik: z + .string() + .min(3, "NIK minimal 3 karakter") + .max(16, "NIK maksimal 16 angka"), + notelp: z + .string() + .min(3, "Nomor Telepon minimal 3 karakter") + .max(15, "Nomor Telepon maksimal 15 angka"), alamat: z.string().min(3, "Alamat minimal 3 karakter"), email: z.string().min(3, "Email minimal 3 karakter"), jenisInformasiDimintaId: z.string().nonempty(), caraMemperolehInformasiId: z.string().nonempty(), caraMemperolehSalinanInformasiId: z.string().nonempty(), -}) +}); const jenisInformasiDiminta = proxy({ - findMany: { - data: null as - | null - | Prisma.JenisInformasiDimintaGetPayload<{ omit: { isActive: true } }>[], - async load(){ - const res = await ApiFetch.api.ppid.permohonaninformasipublik.jenisInformasi["find-many"].get(); - if (res.status === 200) { - jenisInformasiDiminta.findMany.data = res.data?.data ?? []; - } - } - } -}) + findMany: { + data: null as + | null + | Prisma.JenisInformasiDimintaGetPayload<{ omit: { isActive: true } }>[], + async load() { + const res = + await ApiFetch.api.ppid.permohonaninformasipublik.jenisInformasi[ + "find-many" + ].get(); + if (res.status === 200) { + jenisInformasiDiminta.findMany.data = res.data?.data ?? []; + } + }, + }, +}); const caraMemperolehInformasi = proxy({ - findMany: { - data: null as - | null - | Prisma.CaraMemperolehInformasiGetPayload<{ omit: { isActive: true } }>[], - async load() { - const res = await ApiFetch.api.ppid.permohonaninformasipublik.memperolehInformasi["find-many"].get(); - if (res.status === 200) { - caraMemperolehInformasi.findMany.data = res.data?.data ?? []; - } - } - } -}) + findMany: { + data: null as + | null + | Prisma.CaraMemperolehInformasiGetPayload<{ + omit: { isActive: true }; + }>[], + async load() { + const res = + await ApiFetch.api.ppid.permohonaninformasipublik.memperolehInformasi[ + "find-many" + ].get(); + if (res.status === 200) { + caraMemperolehInformasi.findMany.data = res.data?.data ?? []; + } + }, + }, +}); const caraMemperolehSalinanInformasi = proxy({ - findMany: { - data: null as - | null - | Prisma.CaraMemperolehSalinanInformasiGetPayload<{ omit: { isActive: true } }>[], - async load() { - const res = await ApiFetch.api.ppid.permohonaninformasipublik.salinanInformasi["find-many"].get(); - if (res.status === 200) { - caraMemperolehSalinanInformasi.findMany.data = res.data?.data ?? []; - } - } - } -}) -console.log(caraMemperolehSalinanInformasi) + findMany: { + data: null as + | null + | Prisma.CaraMemperolehSalinanInformasiGetPayload<{ + omit: { isActive: true }; + }>[], + async load() { + const res = + await ApiFetch.api.ppid.permohonaninformasipublik.salinanInformasi[ + "find-many" + ].get(); + if (res.status === 200) { + caraMemperolehSalinanInformasi.findMany.data = res.data?.data ?? []; + } + }, + }, +}); +console.log(caraMemperolehSalinanInformasi); -type PermohonanInformasiPublikForm = Prisma.PermohonanInformasiPublikGetPayload<{ +type PermohonanInformasiPublikForm = + Prisma.PermohonanInformasiPublikGetPayload<{ select: { - name: true; - nik: true; - notelp: true; - alamat: true; - email: true; - jenisInformasiDimintaId: true; - caraMemperolehInformasiId: true; - caraMemperolehSalinanInformasiId: true; + name: true; + nik: true; + notelp: true; + alamat: true; + email: true; + jenisInformasiDimintaId: true; + caraMemperolehInformasiId: true; + caraMemperolehSalinanInformasiId: true; }; -}>; + }>; const statepermohonanInformasiPublik = proxy({ - create: { - form: {} as PermohonanInformasiPublikForm, - loading: false, - async create(){ - const cek = templateForm.safeParse(statepermohonanInformasiPublik.create.form); - if(!cek.success) { - const err = `[${cek.error.issues - .map((v) => `${v.path.join(".")}`) - .join("\n")}] required`; - return toast.error(err); - } - try { - statepermohonanInformasiPublik.create.loading = true; - const res = await ApiFetch.api.ppid.permohonaninformasipublik["create"].post(statepermohonanInformasiPublik.create.form); - if (res.status === 200) { - statepermohonanInformasiPublik.findMany.load(); - return toast.success("Sukses menambahkan"); - } - return toast.error("failed create"); - } catch (error) { - console.log((error as Error).message); - } finally { - statepermohonanInformasiPublik.create.loading = false; - } + create: { + form: {} as PermohonanInformasiPublikForm, + loading: false, + async create() { + const cek = templateForm.safeParse( + statepermohonanInformasiPublik.create.form + ); + + if (!cek.success) { + toast.error(cek.error.issues.map((i) => i.message).join("\n")); + return false; // ⬅️ tambahkan return false + } + + try { + statepermohonanInformasiPublik.create.loading = true; + const res = await ApiFetch.api.ppid.permohonaninformasipublik[ + "create" + ].post(statepermohonanInformasiPublik.create.form); + + if (res.data?.success === false) { + toast.error(res.data?.message); + return false; // ⬅️ gagal } + + toast.success("Sukses menambahkan"); + return true; // ⬅️ sukses + } catch { + toast.error("Terjadi kesalahan server"); + return false; + } finally { + statepermohonanInformasiPublik.create.loading = false; + } }, - findMany: { - data: null as - | Prisma.PermohonanInformasiPublikGetPayload<{ include: { - caraMemperolehSalinanInformasi: true, - jenisInformasiDiminta: true, - caraMemperolehInformasi: true, - } }>[] - | null, - async load() { - const res = await ApiFetch.api.ppid.permohonaninformasipublik["find-many"].get(); - if (res.status === 200) { - statepermohonanInformasiPublik.findMany.data = res.data?.data ?? []; - } - } - }, - findUnique: { - data: null as Prisma.PermohonanInformasiPublikGetPayload<{ + }, + findMany: { + data: null as + | Prisma.PermohonanInformasiPublikGetPayload<{ include: { - jenisInformasiDiminta: true, - caraMemperolehInformasi: true, - caraMemperolehSalinanInformasi: true, + caraMemperolehSalinanInformasi: true; + jenisInformasiDiminta: true; + caraMemperolehInformasi: true; }; - }> | null, - async load(id: string) { - try { - const res = await fetch(`/api/ppid/permohonaninformasipublik/${id}`); - if (res.ok) { - const data = await res.json(); - statepermohonanInformasiPublik.findUnique.data = data.data ?? null; - } else { - console.error("Failed to fetch program inovasi:", res.statusText); - statepermohonanInformasiPublik.findUnique.data = null; - } - } catch (error) { - console.error("Error fetching program inovasi:", error); - statepermohonanInformasiPublik.findUnique.data = null; - } - }, - }, - -}) + }>[] + | null, + async load() { + const res = await ApiFetch.api.ppid.permohonaninformasipublik[ + "find-many" + ].get(); + if (res.status === 200) { + statepermohonanInformasiPublik.findMany.data = res.data?.data ?? []; + } + }, + }, + findUnique: { + data: null as Prisma.PermohonanInformasiPublikGetPayload<{ + include: { + jenisInformasiDiminta: true; + caraMemperolehInformasi: true; + caraMemperolehSalinanInformasi: true; + }; + }> | null, + async load(id: string) { + try { + const res = await fetch(`/api/ppid/permohonaninformasipublik/${id}`); + if (res.ok) { + const data = await res.json(); + statepermohonanInformasiPublik.findUnique.data = data.data ?? null; + } else { + console.error("Failed to fetch program inovasi:", res.statusText); + statepermohonanInformasiPublik.findUnique.data = null; + } + } catch (error) { + console.error("Error fetching program inovasi:", error); + statepermohonanInformasiPublik.findUnique.data = null; + } + }, + }, +}); const statepermohonanInformasiPublikForm = proxy({ - statepermohonanInformasiPublik, - jenisInformasiDiminta, - caraMemperolehInformasi, - caraMemperolehSalinanInformasi, -}) + statepermohonanInformasiPublik, + jenisInformasiDiminta, + caraMemperolehInformasi, + caraMemperolehSalinanInformasi, +}); export default statepermohonanInformasiPublikForm; diff --git a/src/app/admin/(dashboard)/_state/ppid/permohonan_keberatan_informasi_publik/permohonanKeberatanInformasi.ts b/src/app/admin/(dashboard)/_state/ppid/permohonan_keberatan_informasi_publik/permohonanKeberatanInformasi.ts index fc316fa9..b1545785 100644 --- a/src/app/admin/(dashboard)/_state/ppid/permohonan_keberatan_informasi_publik/permohonanKeberatanInformasi.ts +++ b/src/app/admin/(dashboard)/_state/ppid/permohonan_keberatan_informasi_publik/permohonanKeberatanInformasi.ts @@ -5,82 +5,99 @@ import { proxy } from "valtio"; import { z } from "zod"; const templateForm = z.object({ - name: z.string().min(3, "Nama minimal 3 karakter"), - email: z.string().min(3, "Email minimal 3 karakter"), - notelp: z.string().min(3, "Nomor Telepon minimal 3 karakter"), - alasan: z.string().min(3, "Alasan minimal 3 karakter"), -}) + name: z.string().min(3, "Nama minimal 3 karakter"), + email: z.string().min(3, "Email minimal 3 karakter"), + notelp: z + .string() + .min(3, "Nomor Telepon minimal 3 karakter") + .max(15, "Nomor Telepon maksimal 15 angka"), + alasan: z.string().min(3, "Alasan minimal 3 karakter"), +}); -type PermohonanKeberatanInformasiForm = Prisma.FormulirPermohonanKeberatanGetPayload<{ +type PermohonanKeberatanInformasiForm = + Prisma.FormulirPermohonanKeberatanGetPayload<{ select: { - name: true; - email: true; - notelp: true; - alasan: true; + name: true; + email: true; + notelp: true; + alasan: true; }; -}>; + }>; const permohonanKeberatanInformasi = proxy({ - create: { - form: {} as PermohonanKeberatanInformasiForm, - loading: false, - async create(){ - const cek = templateForm.safeParse(permohonanKeberatanInformasi.create.form); - if(!cek.success) { - const err = `[${cek.error.issues - .map((v) => `${v.path.join(".")}`) - .join("\n")}] required`; - return toast.error(err); - } - try { - permohonanKeberatanInformasi.create.loading = true; - const res = await ApiFetch.api.ppid.permohonankeberataninformasipublik["create"].post(permohonanKeberatanInformasi.create.form); - if (res.status === 200) { - permohonanKeberatanInformasi.findMany.load(); - return toast.success("Sukses menambahkan"); - } - return toast.error("failed create"); - } catch (error) { - console.log((error as Error).message); - } finally { - permohonanKeberatanInformasi.create.loading = false; - } - }, - }, - findMany: { - data: null as - | Prisma.FormulirPermohonanKeberatanGetPayload<{omit: {isActive: true}}>[] - | null, - async load() { - const res = await ApiFetch.api.ppid.permohonankeberataninformasipublik["find-many"].get(); - if (res.status === 200) { - permohonanKeberatanInformasi.findMany.data = res.data?.data ?? []; - } - } - }, - findUnique: { - data: null as Prisma.FormulirPermohonanKeberatanGetPayload<{ - omit: { - isActive: true; - }; - }> | null, - async load(id: string) { - try { - const res = await fetch(`/api/ppid/permohonankeberataninformasipublik/${id}`); - if (res.ok) { - const data = await res.json(); - permohonanKeberatanInformasi.findUnique.data = data.data ?? null; - } else { - console.error("Failed to fetch permohonan keberatan informasi:", res.statusText); - permohonanKeberatanInformasi.findUnique.data = null; - } - } catch (error) { - console.error("Error fetching permohonan keberatan informasi:", error); - permohonanKeberatanInformasi.findUnique.data = null; - } - }, + create: { + form: {} as PermohonanKeberatanInformasiForm, + loading: false, + async create() { + const cek = templateForm.safeParse( + permohonanKeberatanInformasi.create.form + ); + if (!cek.success) { + toast.error(cek.error.issues.map((i) => i.message).join("\n")); + return false; // ⬅️ tambahkan return false } + try { + permohonanKeberatanInformasi.create.loading = true; + const res = await ApiFetch.api.ppid.permohonankeberataninformasipublik[ + "create" + ].post(permohonanKeberatanInformasi.create.form); + if (res.data?.success === false) { + toast.error(res.data?.message); + return false; // ⬅️ gagal + } + + toast.success("Sukses menambahkan"); + return true; // ⬅️ sukses + } catch { + toast.error("Terjadi kesalahan server"); + return false; + } finally { + permohonanKeberatanInformasi.create.loading = false; + } + }, + }, + findMany: { + data: null as + | Prisma.FormulirPermohonanKeberatanGetPayload<{ + omit: { isActive: true }; + }>[] + | null, + async load() { + const res = await ApiFetch.api.ppid.permohonankeberataninformasipublik[ + "find-many" + ].get(); + if (res.status === 200) { + permohonanKeberatanInformasi.findMany.data = res.data?.data ?? []; + } + }, + }, + findUnique: { + data: null as Prisma.FormulirPermohonanKeberatanGetPayload<{ + omit: { + isActive: true; + }; + }> | null, + async load(id: string) { + try { + const res = await fetch( + `/api/ppid/permohonankeberataninformasipublik/${id}` + ); + if (res.ok) { + const data = await res.json(); + permohonanKeberatanInformasi.findUnique.data = data.data ?? null; + } else { + console.error( + "Failed to fetch permohonan keberatan informasi:", + res.statusText + ); + permohonanKeberatanInformasi.findUnique.data = null; + } + } catch (error) { + console.error("Error fetching permohonan keberatan informasi:", error); + permohonanKeberatanInformasi.findUnique.data = null; + } + }, + }, }); export default permohonanKeberatanInformasi; - diff --git a/src/app/admin/(dashboard)/ppid/profil-ppid/page.tsx b/src/app/admin/(dashboard)/ppid/profil-ppid/page.tsx index 1e49f3da..247222cf 100644 --- a/src/app/admin/(dashboard)/ppid/profil-ppid/page.tsx +++ b/src/app/admin/(dashboard)/ppid/profil-ppid/page.tsx @@ -30,12 +30,13 @@ function Page() { return ( - + Preview Profil PPID - - + - {Math.round(scale * 100)}% - + } + style={{ flexShrink: 0 }} // 👈 pastikan tidak mengecil + > + Zoom Out + - + + {Math.round(scale * 100)}% + - + } + style={{ flexShrink: 0 }} + > + Zoom In + - - - + + Reset + + + + ) : ( + + ) + } + style={{ flexShrink: 0 }} + > + {isFullscreen ? 'Exit' : 'Fullscreen'} + + + + {/* 🧩 Chart Container */} @@ -325,15 +363,20 @@ function StrukturPerangkatDesaNode() { maxWidth: '100%', padding: '32px 16px', transition: 'transform 0.2s ease', - transform: `scale(${scale})`, - transformOrigin: 'center top', }} > - } - className="p-organizationchart p-organizationchart-horizontal" - /> + + } + className="p-organizationchart p-organizationchart-horizontal" + /> + @@ -345,6 +388,7 @@ function NodeCard({ node, router }: any) { const name = node?.data?.name || 'Tanpa Nama' const title = node?.data?.title || 'Tanpa Jabatan' const hasId = Boolean(node?.data?.id) + const isMobile = useMediaQuery("(max-width: 768px)"); return ( @@ -355,9 +399,10 @@ function NodeCard({ node, router }: any) { withBorder style={{ ...styles, - width: 240, - minHeight: 280, - padding: 20, + width: '100%', + maxWidth: isMobile ? 200 : 240, // lebih kecil di mobile + minHeight: isMobile ? 240 : 280, + padding: isMobile ? 16 : 20, background: 'linear-gradient(135deg, rgba(28,110,164,0.15) 0%, rgba(255,255,255,0.95) 100%)', borderColor: 'rgba(28, 110, 164, 0.3)', borderWidth: 2, diff --git a/src/app/darmasaba/(pages)/ppid/daftar-informasi-publik/[id]/page.tsx b/src/app/darmasaba/(pages)/ppid/daftar-informasi-publik/[id]/page.tsx index 23c2cee6..16981c7e 100644 --- a/src/app/darmasaba/(pages)/ppid/daftar-informasi-publik/[id]/page.tsx +++ b/src/app/darmasaba/(pages)/ppid/daftar-informasi-publik/[id]/page.tsx @@ -87,7 +87,7 @@ export default function DetailInformasiPublikUser() { - + Jenis Informasi @@ -96,7 +96,7 @@ export default function DetailInformasiPublikUser() { - + Tanggal Publikasi @@ -111,15 +111,19 @@ export default function DetailInformasiPublikUser() { - + Deskripsi - + + + diff --git a/src/app/darmasaba/(pages)/ppid/dasar-hukum/page.tsx b/src/app/darmasaba/(pages)/ppid/dasar-hukum/page.tsx index b9d64d1f..7b66459c 100644 --- a/src/app/darmasaba/(pages)/ppid/dasar-hukum/page.tsx +++ b/src/app/darmasaba/(pages)/ppid/dasar-hukum/page.tsx @@ -31,7 +31,11 @@ function Page() { - + Dasar Hukum - + Informasi regulasi dan kebijakan resmi yang menjadi dasar hukum @@ -71,12 +75,15 @@ function Page() { { state.create.form.name = val.currentTarget.value; @@ -607,7 +607,7 @@ const state = useProxy(indeksKepuasanState.responden); { state.create.form.tanggal = val.currentTarget.value; diff --git a/src/app/darmasaba/(pages)/ppid/permohonan-informasi-publik/page.tsx b/src/app/darmasaba/(pages)/ppid/permohonan-informasi-publik/page.tsx index 5a47ba67..6bd6ebd1 100644 --- a/src/app/darmasaba/(pages)/ppid/permohonan-informasi-publik/page.tsx +++ b/src/app/darmasaba/(pages)/ppid/permohonan-informasi-publik/page.tsx @@ -53,23 +53,11 @@ function Page() { const permohonanInformasiPublikState = useProxy(statePermohonanInformasi); const router = useRouter(); - const submitForms = () => { + const submitForms = async () => { const { create } = permohonanInformasiPublikState.statepermohonanInformasiPublik; - - if ( - create.form.name && - create.form.nik && - create.form.notelp && - create.form.alamat && - create.form.email && - create.form.jenisInformasiDimintaId && - create.form.caraMemperolehInformasiId && - create.form.caraMemperolehSalinanInformasiId - ) { - create.create(); + const hasil = await create.create(); // tunggu hasilnya + if (hasil) { router.push('/darmasaba/permohonan/berhasil'); - } else { - console.log('Validasi gagal, form tidak lengkap'); } }; diff --git a/src/app/darmasaba/(pages)/ppid/permohonan-keberatan-informasi-publik/page.tsx b/src/app/darmasaba/(pages)/ppid/permohonan-keberatan-informasi-publik/page.tsx index 4ef775be..871fd6f5 100644 --- a/src/app/darmasaba/(pages)/ppid/permohonan-keberatan-informasi-publik/page.tsx +++ b/src/app/darmasaba/(pages)/ppid/permohonan-keberatan-informasi-publik/page.tsx @@ -55,17 +55,13 @@ function Page() { const stateKeberatan = useProxy(permohonanKeberatanInformasi); const router = useRouter(); - const submit = () => { - if ( - stateKeberatan.create.form.name && - stateKeberatan.create.form.email && - stateKeberatan.create.form.notelp && - stateKeberatan.create.form.alasan - ) { - stateKeberatan.create.create(); + const submit = async () => { + const { create } = stateKeberatan; + + const hasil = await create.create(); // tunggu hasilnya + + if (hasil) { router.push('/darmasaba/permohonan/berhasil'); - } else { - console.log('Formulir belum lengkap'); } }; @@ -190,7 +186,7 @@ function Page() { Biografi - + + + Riwayat Karir - + + + + + diff --git a/src/app/darmasaba/(pages)/ppid/struktur-ppid/page.tsx b/src/app/darmasaba/(pages)/ppid/struktur-ppid/page.tsx index 1d921cab..c14914d8 100644 --- a/src/app/darmasaba/(pages)/ppid/struktur-ppid/page.tsx +++ b/src/app/darmasaba/(pages)/ppid/struktur-ppid/page.tsx @@ -14,6 +14,9 @@ import { Loader, Paper, Stack, + Tabs, + TabsList, + TabsTab, Text, TextInput, Title, @@ -35,6 +38,7 @@ import { useEffect, useRef, useState } from 'react' import { useProxy } from 'valtio/utils' import BackButton from '../../desa/layanan/_com/BackButto' import './struktur.css' +import { useMediaQuery } from '@mantine/hooks' export default function Page() { return ( @@ -231,87 +235,121 @@ function StrukturOrganisasiPPID() { p="md" radius="md" style={{ - background: colors['blue-button'] + background: colors['blue-button'], + width: '100%', // ⬅️ penting + maxWidth: '100%', // ⬅️ penting + overflowX: 'auto' // ⬅️ untuk mencegah overflow }} > - - } - onChange={(e) => debouncedSearch(e.target.value)} + + + + } + onChange={(e) => debouncedSearch(e.target.value)} + styles={{ + input: { + minWidth: 250, + }, + }} + /> + + - - - - - + - {Math.round(scale * 100)}% - + } + style={{ flexShrink: 0 }} // 👈 pastikan tidak mengecil + > + Zoom Out + - + + {Math.round(scale * 100)}% + - + } + style={{ flexShrink: 0 }} + > + Zoom In + - - - + + Reset + + + + ) : ( + + ) + } + style={{ flexShrink: 0 }} + > + {isFullscreen ? 'Exit' : 'Fullscreen'} + + + + {/* 🧩 Chart Container */} @@ -325,15 +363,20 @@ function StrukturOrganisasiPPID() { maxWidth: '100%', padding: '32px 16px', transition: 'transform 0.2s ease', - transform: `scale(${scale})`, - transformOrigin: 'center top', }} > - } - className="p-organizationchart p-organizationchart-horizontal" - /> + + } + className="p-organizationchart p-organizationchart-horizontal" + /> + @@ -345,6 +388,7 @@ function NodeCard({ node, router }: any) { const name = node?.data?.name || 'Tanpa Nama' const title = node?.data?.title || 'Tanpa Jabatan' const hasId = Boolean(node?.data?.id) + const isMobile = useMediaQuery("(max-width: 768px)"); return ( @@ -355,9 +399,10 @@ function NodeCard({ node, router }: any) { withBorder style={{ ...styles, - width: 240, - minHeight: 280, - padding: 20, + width: '100%', + maxWidth: isMobile ? 200 : 240, // lebih kecil di mobile + minHeight: isMobile ? 240 : 280, + padding: isMobile ? 16 : 20, background: 'linear-gradient(135deg, rgba(28,110,164,0.15) 0%, rgba(255,255,255,0.95) 100%)', borderColor: 'rgba(28, 110, 164, 0.3)', borderWidth: 2, @@ -411,6 +456,7 @@ function NodeCard({ node, router }: any) { c={colors['blue-button']} lineClamp={2} style={{ + // fontSize: 'clamp(12px, 4vw, 16px)', // 👈 responsif font size minHeight: 40, display: 'flex', alignItems: 'center', diff --git a/src/app/darmasaba/(pages)/ppid/visi-misi-ppid/page.tsx b/src/app/darmasaba/(pages)/ppid/visi-misi-ppid/page.tsx index 85e50080..43440556 100644 --- a/src/app/darmasaba/(pages)/ppid/visi-misi-ppid/page.tsx +++ b/src/app/darmasaba/(pages)/ppid/visi-misi-ppid/page.tsx @@ -75,7 +75,7 @@ function Page() { lh={1.7} ta="center" dangerouslySetInnerHTML={{ __html: item.visi }} - style={{wordBreak: "break-word", whiteSpace: "normal"}} + style={{ wordBreak: "break-word", whiteSpace: "normal" }} /> @@ -86,12 +86,15 @@ function Page() { c={colors['blue-button']} mb="sm"> Misi PPID - + + + diff --git a/src/app/darmasaba/_com/ModernNewsNotification.tsx b/src/app/darmasaba/_com/ModernNewsNotification.tsx index ccf338d9..e2663db0 100644 --- a/src/app/darmasaba/_com/ModernNewsNotification.tsx +++ b/src/app/darmasaba/_com/ModernNewsNotification.tsx @@ -220,8 +220,9 @@ export default function ModernNewsNotification({ ...styles, position: "fixed", bottom: "100px", - right: "24px", - width: "380px", + left: "24px", + width: "90vw", + maxWidth: 380, maxHeight: "500px", boxShadow: "0 8px 32px rgba(0,0,0,0.12)", borderRadius: "16px", @@ -290,7 +291,7 @@ export default function ModernNewsNotification({ color={item.type === "berita" ? "blue" : "orange"} variant="light" > - {item.type === "berita" ? "📰 Berita" : "📢 Pengumuman"} + {item.type === "berita" ? "Berita" : "Pengumuman"} @@ -321,8 +322,9 @@ export default function ModernNewsNotification({ ...styles, position: "fixed", bottom: "100px", - right: "24px", - width: "380px", + left: "24px", + width: "90vw", + maxWidth: 380, boxShadow: "0 8px 32px rgba(0,0,0,0.15)", borderRadius: "12px", overflow: "hidden", @@ -350,7 +352,6 @@ export default function ModernNewsNotification({ size="md" color={currentNews?.type === "berita" ? "blue" : "orange"} variant="light" - leftSection={currentNews?.type === "berita" ? "📰" : "📢"} > {currentNews?.type === "berita" ? "Berita Terbaru" diff --git a/src/app/darmasaba/_com/main-page/kepuasan/index.tsx b/src/app/darmasaba/_com/main-page/kepuasan/index.tsx index f7480598..d303760c 100644 --- a/src/app/darmasaba/_com/main-page/kepuasan/index.tsx +++ b/src/app/darmasaba/_com/main-page/kepuasan/index.tsx @@ -4,7 +4,7 @@ import indeksKepuasanState from "@/app/admin/(dashboard)/_state/landing-page/ind import colors from "@/con/colors"; import { BarChart, PieChart } from '@mantine/charts'; import { Box, Button, Center, Container, Flex, Modal, Paper, Select, SimpleGrid, Skeleton, Stack, Text, TextInput, Title } from "@mantine/core"; -import { useDisclosure, useShallowEffect } from "@mantine/hooks"; +import { useDisclosure, useMediaQuery, useShallowEffect } from "@mantine/hooks"; import { useState } from "react"; import { useProxy } from "valtio/utils"; @@ -25,6 +25,7 @@ function Kepuasan() { const [donutDataKelompokUmur, setDonutDataKelompokUmur] = useState([]); const [barChartData, setBarChartData] = useState>([]); const [opened, { open, close }] = useDisclosure(false) + const isMobile = useMediaQuery("(max-width: 768px)"); const resetForm = () => { state.create.form = { @@ -41,7 +42,7 @@ function Kepuasan() { indeksKepuasanState.jenisKelaminResponden.findMany.load() indeksKepuasanState.pilihanRatingResponden.findMany.load() indeksKepuasanState.kelompokUmurResponden.findMany.load() - },[]) + }, []) const handleSubmit = async () => { try { @@ -82,13 +83,13 @@ function Kepuasan() { // Update gender chart data setDonutDataJenisKelamin([ - { name: 'Laki-laki', value: totalLaki, color: colors['blue-button'] }, + { name: 'Laki-laki', value: totalLaki, color: '#52ABE3FF' }, { name: 'Perempuan', value: totalPerempuan, color: '#10A85AFF' }, ]); // Update rating chart data setDonutDataRating([ - { name: 'Sangat Baik', value: totalSangatBaik, color: colors['blue-button'] }, + { name: 'Sangat Baik', value: totalSangatBaik, color: '#52ABE3FF' }, { name: 'Baik', value: totalBaik, color: '#10A85AFF' }, { name: 'Kurang Baik', value: totalKurangBaik, color: '#FFA500' }, { name: 'Sangat Kurang Baik', value: totalSangatKurangBaik, color: '#FF4500' }, @@ -96,7 +97,7 @@ function Kepuasan() { // Update age group chart data setDonutDataKelompokUmur([ - { name: 'Muda', value: totalMuda, color: colors['blue-button'] }, + { name: 'Muda', value: totalMuda, color: '#52ABE3FF' }, { name: 'Dewasa', value: totalDewasa, color: '#10A85AFF' }, { name: 'Lansia', value: totalLansia, color: '#FFA500' }, ]); @@ -220,10 +221,13 @@ function Kepuasan() {

@@ -259,10 +263,10 @@ function Kepuasan() { withTooltip tooltipAnimationDuration={200} withLabels - labelsPosition="outside" + labelsPosition="inside" // 👈 ini yang penting! labelsType="percent" withLabelsLine - size={250} + size={isMobile ? 180 : 250} // 👈 kecilkan ukuran di mobile data={donutDataRating} /> @@ -302,10 +306,10 @@ function Kepuasan() { withTooltip tooltipAnimationDuration={200} withLabels - labelsPosition="outside" + labelsPosition="inside"// 👈 ini yang penting! labelsType="percent" withLabelsLine - size={250} + size={isMobile ? 180 : 250} // 👈 kecilkan ukuran di mobile data={donutDataKelompokUmur} /> @@ -494,6 +498,8 @@ function Kepuasan() { { state.create.form.name = val.currentTarget.value; @@ -619,7 +627,7 @@ function Kepuasan() { { state.create.form.tanggal = val.currentTarget.value; diff --git a/src/app/darmasaba/_com/main-page/landing-page/index.tsx b/src/app/darmasaba/_com/main-page/landing-page/index.tsx index 563f1dc1..8204b784 100644 --- a/src/app/darmasaba/_com/main-page/landing-page/index.tsx +++ b/src/app/darmasaba/_com/main-page/landing-page/index.tsx @@ -154,7 +154,7 @@ function LandingPage() { return ( - + diff --git a/src/app/darmasaba/_com/main-page/penghargaan/index.tsx b/src/app/darmasaba/_com/main-page/penghargaan/index.tsx index 2b4877eb..0c487411 100644 --- a/src/app/darmasaba/_com/main-page/penghargaan/index.tsx +++ b/src/app/darmasaba/_com/main-page/penghargaan/index.tsx @@ -4,7 +4,7 @@ import penghargaanState from "@/app/admin/(dashboard)/_state/desa/penghargaan"; import { Stack, Box, Container, Button, Text, Loader, Paper, Center, ActionIcon } from "@mantine/core"; import { IconAward, IconArrowRight, IconPlayerPlay } from "@tabler/icons-react"; import { useTransitionRouter } from 'next-view-transitions'; -import { useEffect, useState } from "react"; +import { useEffect, useState, useRef } from "react"; import { useProxy } from "valtio/utils"; import { useMediaQuery } from "@mantine/hooks"; @@ -15,16 +15,35 @@ function Penghargaan() { const isMobile = useMediaQuery('(max-width: 768px)'); const [isVideoLoaded, setIsVideoLoaded] = useState(false); const [showVideo, setShowVideo] = useState(true); + const [videoError, setVideoError] = useState(false); + const videoRef = useRef(null); - // Opsional: deteksi iOS - const isIOS = typeof window !== 'undefined' && /iPad|iPhone|iPod/.test(navigator.userAgent); + // Deteksi iOS dengan lebih akurat + const isIOS = typeof window !== 'undefined' && ( + /iPad|iPhone|iPod/.test(navigator.userAgent) || + (navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1) // iPad dengan iPadOS 13+ + ); useEffect(() => { - if (isIOS) { - // Di iOS, jangan andalkan autoplay — tampilkan kontrol - setShowVideo(false); + // Di iOS, coba autoplay dulu, kalau gagal tampilkan fallback + if (isIOS && videoRef.current) { + const playPromise = videoRef.current.play(); + + if (playPromise !== undefined) { + playPromise + .then(() => { + // Autoplay berhasil + setShowVideo(true); + setIsVideoLoaded(true); + }) + .catch(() => { + // Autoplay gagal, tampilkan fallback + setShowVideo(false); + setVideoError(true); + }); + } } - }, []); + }, [isIOS]); useEffect(() => { const loadData = async () => { @@ -38,42 +57,99 @@ function Penghargaan() { loadData(); }, []); + const handlePlayVideo = () => { + setShowVideo(true); + setVideoError(false); + + // Paksa play video setelah user interaction + setTimeout(() => { + if (videoRef.current) { + videoRef.current.play().catch(err => { + console.error("Video play error:", err); + setVideoError(true); + }); + } + }, 100); + }; + // kalau mobile ambil 1 data aja, kalau desktop ambil 3 const data = state.findMany.data?.slice(0, isMobile ? 1 : 3); return ( - - {showVideo ? ( + + {/* Video Layer */} + {showVideo && !videoError && ( - ) : ( - // Fallback: tampilkan poster + play button + )} + + {/* Fallback Image + Play Button */} + {(!showVideo || videoError) && ( setShowVideo(true)} + onClick={handlePlayVideo} style={{ + position: 'absolute', + top: 0, + left: 0, + width: '100%', + height: '100%', backgroundImage: "url('/mangupuraaward.jpeg')", backgroundSize: 'cover', backgroundPosition: 'center', + backgroundRepeat: 'no-repeat', cursor: 'pointer', + zIndex: 0, }} > -
- - +
+ +
)} + {/* Overlay Gradient + Content */} (null); - const lastPengumumanId = useRef(null); + const lastBeritaTimestamp = useRef(null); + const lastPengumumanTimestamp = useRef(null); // Inisialisasi dari localStorage useEffect(() => { - const savedBerita = localStorage.getItem("lastSeenBeritaId"); - const savedPengumuman = localStorage.getItem("lastSeenPengumumanId"); - if (savedBerita) lastBeritaId.current = savedBerita; - if (savedPengumuman) lastPengumumanId.current = savedPengumuman; + const savedBeritaTs = localStorage.getItem("lastSeenBeritaTs"); + const savedPengumumanTs = localStorage.getItem("lastSeenPengumumanTs"); + if (savedBeritaTs) lastBeritaTimestamp.current = savedBeritaTs; + if (savedPengumumanTs) lastPengumumanTimestamp.current = savedPengumumanTs; }, []); // Load data utama (untuk card) @@ -70,28 +70,49 @@ export default function Page() { if (result.success && Array.isArray(result.news)) { const news = result.news as NewsItem[]; - // Ambil ID terbaru const latestBerita = news.find((n) => n.type === "berita"); const latestPengumuman = news.find((n) => n.type === "pengumuman"); - const isNewBerita = latestBerita && lastBeritaId.current !== null && latestBerita.id !== lastBeritaId.current; - const isNewPengumuman = latestPengumuman && lastPengumumanId.current !== null && latestPengumuman.id !== lastPengumumanId.current; + const latestBeritaTs = latestBerita?.timestamp + ? new Date(latestBerita.timestamp).toISOString() + : null; + const latestPengumumanTs = latestPengumuman?.timestamp + ? new Date(latestPengumuman.timestamp).toISOString() + : null; - // Simpan ID terbaru ke ref - if (latestBerita) lastBeritaId.current = (latestBerita.id); - if (latestPengumuman) lastPengumumanId.current = (latestPengumuman.id); + // Inisialisasi flag + let isNewBerita = false; + let isNewPengumuman = false; - // Jika ini bukan inisialisasi pertama, tampilkan notifikasi - if (lastBeritaId.current !== null || lastPengumumanId.current !== null) { - if (isNewBerita || isNewPengumuman) { - const count = (isNewBerita ? 1 : 0) + (isNewPengumuman ? 1 : 0); - setNewItemCount(count); - setHasNewContent(true); + // Deteksi berita baru + if (latestBeritaTs) { + if (lastBeritaTimestamp.current === null) { + // Pertama kali: simpan tanpa notifikasi + lastBeritaTimestamp.current = latestBeritaTs; + localStorage.setItem("lastSeenBeritaTs", latestBeritaTs); + } else if (latestBeritaTs > lastBeritaTimestamp.current) { + isNewBerita = true; + lastBeritaTimestamp.current = latestBeritaTs; } - } else { - // Simpan ke localStorage saat pertama kali - if (latestBerita) localStorage.setItem("lastSeenBeritaId", (latestBerita.id)); - if (latestPengumuman) localStorage.setItem("lastSeenPengumumanId", (latestPengumuman.id)); + } + + // Deteksi pengumuman baru + if (latestPengumumanTs) { + if (lastPengumumanTimestamp.current === null) { + // Pertama kali: simpan tanpa notifikasi + lastPengumumanTimestamp.current = latestPengumumanTs; + localStorage.setItem("lastSeenPengumumanTs", latestPengumumanTs); + } else if (latestPengumumanTs > lastPengumumanTimestamp.current) { + isNewPengumuman = true; + lastPengumumanTimestamp.current = latestPengumumanTs; + } + } + + // 🔔 Trigger notifikasi hanya jika ada yang benar-benar BARU + if (isNewBerita || isNewPengumuman) { + const count = (isNewBerita ? 1 : 0) + (isNewPengumuman ? 1 : 0); + setNewItemCount(count); + setHasNewContent(true); // ✅ INI YANG KAMU LUPA! } setNotificationNews(news); @@ -113,13 +134,17 @@ export default function Page() { }, []); const handleSeen = () => { - setHasNewContent(false); - setNewItemCount(0); - const latestBerita = notificationNews.find(n => n.type === "berita"); - const latestPengumuman = notificationNews.find(n => n.type === "pengumuman"); - if (latestBerita) localStorage.setItem("lastSeenBeritaId", String(latestBerita.id)); - if (latestPengumuman) localStorage.setItem("lastSeenPengumumanId", String(latestPengumuman.id)); -}; + setHasNewContent(false); + setNewItemCount(0); + const latestBerita = notificationNews.find(n => n.type === "berita"); + const latestPengumuman = notificationNews.find(n => n.type === "pengumuman"); + if (latestBerita) { + localStorage.setItem("lastSeenBeritaTs", new Date(latestBerita.timestamp!).toISOString()); + } + if (latestPengumuman) { + localStorage.setItem("lastSeenPengumumanTs", new Date(latestPengumuman.timestamp!).toISOString()); + } + }; return ( From 9dbe1721654393762dca8efebb9f580da25d3ddb Mon Sep 17 00:00:00 2001 From: nico Date: Tue, 9 Dec 2025 12:00:27 +0800 Subject: [PATCH 3/4] Fix QC Kak Inno Tgl 4 & 5 Desember Fix QC Kak Ayu Tgl 4 & 5 Desember Fix QC Pak Jun Tgl 5 Desember --- .../fasilitas-kesehatan-page/[id]/page.tsx | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/app/darmasaba/(pages)/kesehatan/data-kesehatan-warga/fasilitas-kesehatan-page/[id]/page.tsx b/src/app/darmasaba/(pages)/kesehatan/data-kesehatan-warga/fasilitas-kesehatan-page/[id]/page.tsx index d8d02e6e..086c9a18 100644 --- a/src/app/darmasaba/(pages)/kesehatan/data-kesehatan-warga/fasilitas-kesehatan-page/[id]/page.tsx +++ b/src/app/darmasaba/(pages)/kesehatan/data-kesehatan-warga/fasilitas-kesehatan-page/[id]/page.tsx @@ -175,7 +175,9 @@ function Page() { Layanan Unggulan {layananUnggulan ? ( - + + + ) : ( @@ -251,7 +253,9 @@ function Page() { Fasilitas Pendukung {fasilitasPendukungHtml ? ( - + + + ) : ( @@ -313,7 +317,7 @@ function Page() { Prosedur Pendaftaran {prosedur ? ( - + ) : ( Belum ada prosedur pendaftaran )} From ac2fc1a705c536f2c64be0fcee7e6573bd17df5d Mon Sep 17 00:00:00 2001 From: nico Date: Tue, 9 Dec 2025 17:27:23 +0800 Subject: [PATCH 4/4] Fix QC Kak Inno 8 Des Fix QC Kak Ayu 8 Des Fix QC Pak Jun 8 Des --- .../data-kesehatan-warga/_lib/layoutTabs.tsx | 6 +- .../[id]/edit/page.tsx | 14 +- .../[id]/page.tsx | 6 +- .../create/page.tsx | 4 +- .../page.tsx | 10 +- src/app/api/[[...slugs]]/_lib/ppid/index.ts | 2 +- .../ekonomi/lowongan-kerja-lokal/page.tsx | 2 +- .../(pages)/ekonomi/pasar-desa/page.tsx | 2 +- .../ekonomi/program-kemiskinan/page.tsx | 2 +- .../desa-digital-smart-village/page.tsx | 2 +- .../info-teknologi-tepat-guna/page.tsx | 2 +- .../inovasi/program-kreatif-desa/page.tsx | 2 +- .../page.tsx | 2 +- .../(pages)/keamanan/kontak-darurat/page.tsx | 2 +- .../(pages)/keamanan/laporan-publik/page.tsx | 351 +++++++++++------- .../polsek-terdekat/semua-polsek/page.tsx | 2 +- .../(pages)/keamanan/tips-keamanan/page.tsx | 2 +- .../artikel-kesehatan-page/[id]/page.tsx | 46 ++- .../grafik-penyakit/page.tsx | 4 +- .../jadwal-kegiatan-page/[id]/page.tsx | 16 +- .../info-wabah-penyakit/[id]/page.tsx | 12 +- .../kesehatan/info-wabah-penyakit/page.tsx | 2 +- .../kesehatan/kontak-darurat/[id]/page.tsx | 111 ++++++ .../(pages)/kesehatan/kontak-darurat/page.tsx | 160 ++++---- .../kesehatan/penanganan-darurat/page.tsx | 2 +- .../(pages)/kesehatan/posyandu/page.tsx | 2 +- .../kesehatan/program-kesehatan/page.tsx | 2 +- .../(pages)/kesehatan/puskesmas/page.tsx | 12 +- .../lingkungan/data-lingkungan-desa/page.tsx | 2 +- .../component/edukasiCard.tsx | 1 + .../pengelolaan-sampah-bank-sampah/page.tsx | 2 +- .../lingkungan/program-penghijauan/page.tsx | 2 +- .../[jenjangPendidikan]/lembaga/page.tsx | 2 +- .../[jenjangPendidikan]/pengajar/page.tsx | 2 +- .../[jenjangPendidikan]/siswa/page.tsx | 2 +- .../info-sekolah/semua/lembaga/page.tsx | 2 +- .../info-sekolah/semua/pengajar/page.tsx | 2 +- .../info-sekolah/semua/siswa/page.tsx | 2 +- .../ppid/daftar-informasi-publik/page.tsx | 2 +- .../ppid/indeks-kepuasan-masyarakat/page.tsx | 16 +- .../(tambahan)/apbdes/lib/apbDesaProgress.tsx | 4 +- .../darmasaba/(tambahan)/penghargaan/page.tsx | 196 +++++----- .../(tambahan)/prestasi-desa/page.tsx | 2 +- .../_com/main-page/layanan/index.tsx | 168 ++++----- 44 files changed, 712 insertions(+), 477 deletions(-) rename src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/{grafik_hasil_kepuasan => penderita_penyakit}/[id]/edit/page.tsx (91%) rename src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/{grafik_hasil_kepuasan => penderita_penyakit}/[id]/page.tsx (94%) rename src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/{grafik_hasil_kepuasan => penderita_penyakit}/create/page.tsx (97%) rename src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/{grafik_hasil_kepuasan => penderita_penyakit}/page.tsx (95%) create mode 100644 src/app/darmasaba/(pages)/kesehatan/kontak-darurat/[id]/page.tsx diff --git a/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/_lib/layoutTabs.tsx b/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/_lib/layoutTabs.tsx index 0125ef2e..90270f01 100644 --- a/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/_lib/layoutTabs.tsx +++ b/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/_lib/layoutTabs.tsx @@ -20,9 +20,9 @@ function LayoutTabs({ children }: { children: React.ReactNode }) { icon: }, { - label: "Grafik Hasil Kepuasan Masyarakat", - value: "grafikhasilkepuasan", - href: "/admin/kesehatan/data-kesehatan-warga/grafik_hasil_kepuasan", + label: "Penderita Penyakit", + value: "penderitapenyakit", + href: "/admin/kesehatan/data-kesehatan-warga/penderita_penyakit", icon: }, { diff --git a/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/grafik_hasil_kepuasan/[id]/edit/page.tsx b/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/penderita_penyakit/[id]/edit/page.tsx similarity index 91% rename from src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/grafik_hasil_kepuasan/[id]/edit/page.tsx rename to src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/penderita_penyakit/[id]/edit/page.tsx index 070d52f0..f135f7b2 100644 --- a/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/grafik_hasil_kepuasan/[id]/edit/page.tsx +++ b/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/penderita_penyakit/[id]/edit/page.tsx @@ -70,8 +70,8 @@ function EditGrafikHasilKepuasan() { }); } } catch (err) { - console.error("Error loading grafik hasil kepuasan:", err); - toast.error("Gagal memuat data grafik hasil kepuasan"); + console.error("Error loading penderita penyakit:", err); + toast.error("Gagal memuat data penderita penyakit"); } }; @@ -99,11 +99,11 @@ function EditGrafikHasilKepuasan() { setIsSubmitting(true); editState.update.form = { ...editState.update.form, ...formData }; await editState.update.submit(); - toast.success('Grafik hasil kepuasan berhasil diperbarui!'); - router.push('/admin/kesehatan/data-kesehatan-warga/grafik_hasil_kepuasan'); + toast.success('penderita penyakit berhasil diperbarui!'); + router.push('/admin/kesehatan/data-kesehatan-warga/penderita_penyakit'); } catch (err) { - console.error('Error updating grafik hasil kepuasan:', err); - toast.error('Terjadi kesalahan saat memperbarui grafik hasil kepuasan'); + console.error('Error updating penderita penyakit:', err); + toast.error('Terjadi kesalahan saat memperbarui penderita penyakit'); } finally { setIsSubmitting(false); } @@ -122,7 +122,7 @@ function EditGrafikHasilKepuasan() { - Edit Grafik Hasil Kepuasan + Edit Penderita Penyakit diff --git a/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/grafik_hasil_kepuasan/[id]/page.tsx b/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/penderita_penyakit/[id]/page.tsx similarity index 94% rename from src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/grafik_hasil_kepuasan/[id]/page.tsx rename to src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/penderita_penyakit/[id]/page.tsx index 738e64fb..83211062 100644 --- a/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/grafik_hasil_kepuasan/[id]/page.tsx +++ b/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/penderita_penyakit/[id]/page.tsx @@ -26,7 +26,7 @@ function DetailGrafikHasilKepuasan() { state.delete.byId(selectedId); setModalHapus(false); setSelectedId(null); - router.push("/admin/kesehatan/data-kesehatan-warga/grafik_hasil_kepuasan"); + router.push("/admin/kesehatan/data-kesehatan-warga/penderita_penyakit"); } }; @@ -63,7 +63,7 @@ function DetailGrafikHasilKepuasan() { > - Detail Data Grafik Hasil Kepuasan + Detail Data Penderita Penyakit @@ -118,7 +118,7 @@ function DetailGrafikHasilKepuasan() { color="green" onClick={() => router.push( - `/admin/kesehatan/data-kesehatan-warga/grafik_hasil_kepuasan/${data.id}/edit` + `/admin/kesehatan/data-kesehatan-warga/penderita_penyakit/${data.id}/edit` ) } variant="light" diff --git a/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/grafik_hasil_kepuasan/create/page.tsx b/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/penderita_penyakit/create/page.tsx similarity index 97% rename from src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/grafik_hasil_kepuasan/create/page.tsx rename to src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/penderita_penyakit/create/page.tsx index d1ea8b7f..7cbfb5a8 100644 --- a/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/grafik_hasil_kepuasan/create/page.tsx +++ b/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/penderita_penyakit/create/page.tsx @@ -40,7 +40,7 @@ function CreateGrafikHasilKepuasanMasyarakat() { setIsSubmitting(true); await stateGrafikKepuasan.create.create(); resetForm(); - router.push("/admin/kesehatan/data-kesehatan-warga/grafik_hasil_kepuasan"); + router.push("/admin/kesehatan/data-kesehatan-warga/penderita_penyakit"); } catch (error) { console.error("Error creating grafik kepuasan:", error); toast.error("Terjadi kesalahan saat membuat grafik kepuasan"); @@ -62,7 +62,7 @@ function CreateGrafikHasilKepuasanMasyarakat() { - Tambah Grafik Hasil Kepuasan Masyarakat + Tambah Penderita Penyakit diff --git a/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/grafik_hasil_kepuasan/page.tsx b/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/penderita_penyakit/page.tsx similarity index 95% rename from src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/grafik_hasil_kepuasan/page.tsx rename to src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/penderita_penyakit/page.tsx index e5ba5b28..884b476f 100644 --- a/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/grafik_hasil_kepuasan/page.tsx +++ b/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/penderita_penyakit/page.tsx @@ -36,7 +36,7 @@ function GrafikHasilKepuasanMasyarakat() { {/* Header Search */} } value={search} @@ -115,14 +115,14 @@ function ListGrafikHasilKepuasanMasyarakat({ search }: { search: string }) { {/* Judul + Tombol Tambah */} - Daftar Grafik Hasil Kepuasan Masyarakat + Daftar Penderita Penyakit - - - - Laporan Terbaru - - - - - Terselesaikan - - - - - - Dalam Proses - - - - - - Gagal - - - - - - - + + + Laporan Terbaru + + - {data.map((v, k) => { - return ( - - - {v.judul} - - {v.tanggalWaktu - ? new Date(v.tanggalWaktu).toLocaleString('id-ID') - : '-'} - - - Penanganan: - {v.penanganan?.length ? ( - v.penanganan.map((item, index) => ( - - - - )) - ) : ( - - Belum ada penanganan - - )} - - - {v.status} - - - - - ) - })} - -
- load(newPage)} - total={totalPages} - my="md" - /> -
-
+ + + Terselesaikan + + + + Dalam Proses + + + + Gagal + + +
- + + {/* Cards Grid */} + + + {data.map((v, k) => ( + + + + {v.judul} + + + + {v.tanggalWaktu + ? new Date(v.tanggalWaktu).toLocaleString('id-ID') + : '-'} + + + + + Penanganan: + + {v.penanganan?.length ? ( + v.penanganan.map((item, index) => ( + + + + )) + ) : ( + + Belum ada penanganan + + )} + + + + {v.status} + + + + + + ))} + + + + {/* Pagination */} +
+ load(newPage)} + total={totalPages} + my="md" + size={mobile ? 'sm' : 'md'} + /> +
+ + {/* Modal Form */} + (stateLaporan.create.form.judul = e.target.value)} + onChange={(e) => + (stateLaporan.create.form.judul = e.target.value) + } label={Judul Laporan Publik} placeholder="Masukkan judul laporan publik" required + w="100%" + size={mobile ? 'sm' : 'md'} /> (stateLaporan.create.form.lokasi = e.target.value)} + onChange={(e) => + (stateLaporan.create.form.lokasi = e.target.value) + } label={Lokasi Laporan Publik} placeholder="Masukkan lokasi laporan publik" required + w="100%" + size={mobile ? 'sm' : 'md'} /> { stateLaporan.create.form.tanggalWaktu = val ? val.toString() : ''; }} + w="100%" + size={mobile ? 'sm' : 'md'} /> @@ -238,7 +341,7 @@ function Page() { + + {/* Wrapper Detail */} + + + + Detail Kontak Darurat + + + + + + Judul + {data.name || '-'} + + + + Whatsapp + {data.whatsapp || '-'} + + + + Deskripsi + + + + + Gambar + {data.image?.link ? ( + gambar + ) : ( + - + )} + + + + + + + + + + ); +} + +export default Page; diff --git a/src/app/darmasaba/(pages)/kesehatan/kontak-darurat/page.tsx b/src/app/darmasaba/(pages)/kesehatan/kontak-darurat/page.tsx index 0e7913f3..3967e3a1 100644 --- a/src/app/darmasaba/(pages)/kesehatan/kontak-darurat/page.tsx +++ b/src/app/darmasaba/(pages)/kesehatan/kontak-darurat/page.tsx @@ -7,6 +7,7 @@ import { Center, Grid, GridCol, + Group, Image, Pagination, Paper, @@ -17,17 +18,18 @@ import { TextInput, Tooltip } from '@mantine/core'; -import { useShallowEffect } from '@mantine/hooks'; -import { IconBrandWhatsapp, IconSearch } from '@tabler/icons-react'; +import { useDebouncedValue, useShallowEffect } from '@mantine/hooks'; +import { IconSearch } from '@tabler/icons-react'; +import { useTransitionRouter } from 'next-view-transitions'; import { useState } from 'react'; import { useProxy } from 'valtio/utils'; import BackButton from '../../desa/layanan/_com/BackButto'; -import { useDebouncedValue } from '@mantine/hooks'; function Page() { const state = useProxy(kontakDarurat); + const router = useTransitionRouter() const [search, setSearch] = useState(''); - const [debouncedSearch] = useDebouncedValue(search, 500) + const [debouncedSearch] = useDebouncedValue(search, 1000) const { data, page, totalPages, loading, load } = state.findMany; useShallowEffect(() => { @@ -88,83 +90,79 @@ function Page() { ) : ( {data.map((v, k) => ( - - - - {v.name} (e.currentTarget.style.transform = 'scale(1.05)')} - onMouseLeave={(e) => (e.currentTarget.style.transform = 'scale(1)')} - /> - - - - {v.name} - - - - - - - - {/* ✅ Tombol selalu di bagian bawah card */} -
- -
-
- - + + + + {v.name} (e.currentTarget.style.transform = 'scale(1.05)')} + onMouseLeave={(e) => (e.currentTarget.style.transform = 'scale(1)')} + /> + + + + {v.name} + + + + + + + + {/* ✅ Tombol selalu di bagian bawah card */} + + + + + + ))}
)} diff --git a/src/app/darmasaba/(pages)/kesehatan/penanganan-darurat/page.tsx b/src/app/darmasaba/(pages)/kesehatan/penanganan-darurat/page.tsx index d08080c8..a910dc68 100644 --- a/src/app/darmasaba/(pages)/kesehatan/penanganan-darurat/page.tsx +++ b/src/app/darmasaba/(pages)/kesehatan/penanganan-darurat/page.tsx @@ -26,7 +26,7 @@ import BackButton from '../../desa/layanan/_com/BackButto' function Page() { const state = useProxy(penangananDarurat) const [search, setSearch] = useState('') - const [debouncedSearch] = useDebouncedValue(search, 500) + const [debouncedSearch] = useDebouncedValue(search, 1000) const { data, page, totalPages, loading, load } = state.findMany useShallowEffect(() => { diff --git a/src/app/darmasaba/(pages)/kesehatan/posyandu/page.tsx b/src/app/darmasaba/(pages)/kesehatan/posyandu/page.tsx index 1048dcb2..c567f34f 100644 --- a/src/app/darmasaba/(pages)/kesehatan/posyandu/page.tsx +++ b/src/app/darmasaba/(pages)/kesehatan/posyandu/page.tsx @@ -12,7 +12,7 @@ import { useTransitionRouter } from "next-view-transitions"; export default function Page() { const state = useProxy(posyandustate); const [search, setSearch] = useState(""); - const [debouncedSearch] = useDebouncedValue(search, 500); // 500ms delay + const [debouncedSearch] = useDebouncedValue(search, 1000); // 500ms delay const router = useTransitionRouter() const { data, page, totalPages, loading, load } = state.findMany; diff --git a/src/app/darmasaba/(pages)/kesehatan/program-kesehatan/page.tsx b/src/app/darmasaba/(pages)/kesehatan/program-kesehatan/page.tsx index ed5a360f..e95b6d30 100644 --- a/src/app/darmasaba/(pages)/kesehatan/program-kesehatan/page.tsx +++ b/src/app/darmasaba/(pages)/kesehatan/program-kesehatan/page.tsx @@ -57,7 +57,7 @@ export default function Page() { const state = useProxy(programKesehatan); const router = useRouter(); const [search, setSearch] = useState(""); - const [debouncedSearch] = useDebouncedValue(search, 500); // 500ms delay + const [debouncedSearch] = useDebouncedValue(search, 1000); // 500ms delay const { data, page, totalPages, loading, load } = state.findMany; useShallowEffect(() => { diff --git a/src/app/darmasaba/(pages)/kesehatan/puskesmas/page.tsx b/src/app/darmasaba/(pages)/kesehatan/puskesmas/page.tsx index ed15017d..40f5d755 100644 --- a/src/app/darmasaba/(pages)/kesehatan/puskesmas/page.tsx +++ b/src/app/darmasaba/(pages)/kesehatan/puskesmas/page.tsx @@ -7,10 +7,12 @@ import { IconSearch, IconMapPin, IconPhone, IconMail } from '@tabler/icons-react import { useState } from 'react'; import { useProxy } from 'valtio/utils'; import BackButton from '../../desa/layanan/_com/BackButto'; +import { useDebouncedValue } from '@mantine/hooks'; function Page() { const state = useProxy(puskesmasState) const [search, setSearch] = useState('') + const [debouncedSearch] = useDebouncedValue(search, 1000); const { data, @@ -21,8 +23,8 @@ function Page() { } = state.findMany; useShallowEffect(() => { - load(page, 6, search) - }, [page, search]) + load(page, 6, debouncedSearch) + }, [page, debouncedSearch]) if (loading || !data) { return ( @@ -95,17 +97,17 @@ function Page() { - + {v.alamat} - + {v.kontak.kontakPuskesmas} - + {v.kontak.email} diff --git a/src/app/darmasaba/(pages)/lingkungan/data-lingkungan-desa/page.tsx b/src/app/darmasaba/(pages)/lingkungan/data-lingkungan-desa/page.tsx index 595a35a7..ea753870 100644 --- a/src/app/darmasaba/(pages)/lingkungan/data-lingkungan-desa/page.tsx +++ b/src/app/darmasaba/(pages)/lingkungan/data-lingkungan-desa/page.tsx @@ -11,7 +11,7 @@ import BackButton from '../../desa/layanan/_com/BackButto'; function Page() { const state = useProxy(dataLingkunganDesaState.findMany) const [search, setSearch] = useState('') - const [debouncedSearch] = useDebouncedValue(search, 500); // 500ms delay + const [debouncedSearch] = useDebouncedValue(search, 1000); // 500ms delay const { data, diff --git a/src/app/darmasaba/(pages)/lingkungan/edukasi-lingkungan/component/edukasiCard.tsx b/src/app/darmasaba/(pages)/lingkungan/edukasi-lingkungan/component/edukasiCard.tsx index 92fe9f3a..3e5c1d5b 100644 --- a/src/app/darmasaba/(pages)/lingkungan/edukasi-lingkungan/component/edukasiCard.tsx +++ b/src/app/darmasaba/(pages)/lingkungan/edukasi-lingkungan/component/edukasiCard.tsx @@ -49,6 +49,7 @@ export function EdukasiCard({ icon, title, description, color = '#1e88e5' }: Edu - {label} - + {label} + {formatRupiah(dataset.realisasi)} | {formatRupiah(dataset.anggaran)} (null); - const scrollPositionRef = useRef(0); - const animationFrameRef = useRef(0); + const scrollPosRef = useRef(0); + const animFrameRef = useRef(0); const isHoveredRef = useRef(false); - - // Refs for drag functionality const isDraggingRef = useRef(false); const startXRef = useRef(0); const scrollLeftRef = useRef(0); const velocityRef = useRef(0); - const lastScrollTimeRef = useRef(0); + const lastScrollRef = useRef(0); - // Speed configuration - const normalSpeed = 1.0; // pixels per frame - const hoverSpeed = 0.5; // slower speed on hover + const SPEED_NORMAL = 1.0; + const SPEED_HOVER = 0.5; + const VELOCITY_DECAY = 0.95; + const SCROLL_THRESHOLD = 100; useEffect(() => { state.findMany.load(); @@ -63,120 +61,114 @@ function Slider() { const data = state.findMany.data || []; const loading = state.findMany.loading; - // Duplicate slides for seamless infinite loop - const slidesData = [...data, ...data, ...data]; + // Triple data untuk infinite loop (desktop only) + const slidesData = mobile ? data : [...data, ...data, ...data]; + // Auto-scroll animation untuk desktop useEffect(() => { - if (loading || !containerRef.current || slidesData.length === 0) return; + if (loading || !containerRef.current || data.length === 0 || mobile) return; const container = containerRef.current; const slideWidth = container.scrollWidth / slidesData.length; - const originalDataLength = data.length; + const originalLength = data.length; - // Start from the middle set of slides - scrollPositionRef.current = slideWidth * originalDataLength; - container.scrollLeft = scrollPositionRef.current; + // Start dari middle set + scrollPosRef.current = slideWidth * originalLength; + container.scrollLeft = scrollPosRef.current; const animate = () => { if (!containerRef.current) return; const container = containerRef.current; const slideWidth = container.scrollWidth / slidesData.length; + const timeSinceScroll = Date.now() - lastScrollRef.current; + const isUserScrolling = timeSinceScroll < SCROLL_THRESHOLD; - // Check if user recently scrolled manually - const timeSinceLastScroll = Date.now() - lastScrollTimeRef.current; - const isUserScrolling = timeSinceLastScroll < 100; - - // Only auto-scroll if user is not actively scrolling or dragging if (!isDraggingRef.current && !isUserScrolling) { - const currentSpeed = isHoveredRef.current ? hoverSpeed : normalSpeed; - scrollPositionRef.current += currentSpeed; + const speed = isHoveredRef.current ? SPEED_HOVER : SPEED_NORMAL; + scrollPosRef.current += speed; - // Reset position for infinite loop - if (scrollPositionRef.current >= slideWidth * (originalDataLength * 2)) { - scrollPositionRef.current -= slideWidth * originalDataLength; + // Reset untuk infinite loop + if (scrollPosRef.current >= slideWidth * (originalLength * 2)) { + scrollPosRef.current -= slideWidth * originalLength; + } + if (scrollPosRef.current <= 0) { + scrollPosRef.current += slideWidth * originalLength; } - if (scrollPositionRef.current <= 0) { - scrollPositionRef.current += slideWidth * originalDataLength; - } - - container.scrollLeft = scrollPositionRef.current; + container.scrollLeft = scrollPosRef.current; } else { - // Sync scroll position when user is scrolling - scrollPositionRef.current = container.scrollLeft; - - // Apply momentum/velocity for smooth drag release + scrollPosRef.current = container.scrollLeft; + + // Momentum untuk drag release if (!isDraggingRef.current && Math.abs(velocityRef.current) > 0.1) { - scrollPositionRef.current += velocityRef.current; - velocityRef.current *= 0.95; // Decay velocity - container.scrollLeft = scrollPositionRef.current; + scrollPosRef.current += velocityRef.current; + velocityRef.current *= VELOCITY_DECAY; + container.scrollLeft = scrollPosRef.current; } } - animationFrameRef.current = requestAnimationFrame(animate); + animFrameRef.current = requestAnimationFrame(animate); }; - animationFrameRef.current = requestAnimationFrame(animate); + animFrameRef.current = requestAnimationFrame(animate); return () => { - if (animationFrameRef.current) { - cancelAnimationFrame(animationFrameRef.current); + if (animFrameRef.current) { + cancelAnimationFrame(animFrameRef.current); } }; - }, [loading, slidesData.length, data.length, mobile]); + }, [loading, data.length, mobile]); const handleMouseEnter = () => { - isHoveredRef.current = true; + if (!mobile) isHoveredRef.current = true; }; const handleMouseLeave = () => { - isHoveredRef.current = false; - isDraggingRef.current = false; + if (!mobile) { + isHoveredRef.current = false; + isDraggingRef.current = false; + } }; - // Mouse drag handlers const handleMouseDown = (e: React.MouseEvent) => { - if (!containerRef.current) return; - + if (!containerRef.current || mobile) return; + isDraggingRef.current = true; startXRef.current = e.pageX - containerRef.current.offsetLeft; scrollLeftRef.current = containerRef.current.scrollLeft; velocityRef.current = 0; - containerRef.current.style.cursor = 'grabbing'; }; const handleMouseMove = (e: React.MouseEvent) => { - if (!isDraggingRef.current || !containerRef.current) return; - + if (!isDraggingRef.current || !containerRef.current || mobile) return; + e.preventDefault(); const x = e.pageX - containerRef.current.offsetLeft; const walk = (x - startXRef.current) * 2; const newScrollLeft = scrollLeftRef.current - walk; - + velocityRef.current = containerRef.current.scrollLeft - newScrollLeft; - containerRef.current.scrollLeft = newScrollLeft; - scrollPositionRef.current = newScrollLeft; - lastScrollTimeRef.current = Date.now(); + scrollPosRef.current = newScrollLeft; + lastScrollRef.current = Date.now(); }; const handleMouseUp = () => { - if (!containerRef.current) return; - + if (!containerRef.current || mobile) return; + isDraggingRef.current = false; containerRef.current.style.cursor = 'grab'; }; - // Wheel scroll handler const handleWheel = (e: React.WheelEvent) => { - if (!containerRef.current) return; - + if (!containerRef.current || mobile) return; + e.preventDefault(); containerRef.current.scrollLeft += e.deltaY; - scrollPositionRef.current = containerRef.current.scrollLeft; - lastScrollTimeRef.current = Date.now(); + scrollPosRef.current = containerRef.current.scrollLeft; + lastScrollRef.current = Date.now(); }; if (loading) { @@ -211,37 +203,45 @@ function Slider() { onWheel={handleWheel} py="xl" style={{ - overflow: "hidden", - cursor: "grab", + overflowX: mobile ? "auto" : "hidden", + overflowY: "hidden", + cursor: mobile ? "default" : "grab", userSelect: "none", position: "relative", + WebkitOverflowScrolling: "touch", + scrollbarWidth: "none", + msOverflowStyle: "none", }} > - {/* Blur edges effect */} - - + {/* Blur edges - hanya untuk desktop */} + {!mobile && ( + <> + + + + )} { - e.currentTarget.style.transform = "translateY(-8px) scale(1.02)"; - e.currentTarget.style.boxShadow = "0 12px 28px rgba(0,0,0,0.25)"; + if (!mobile) { + e.currentTarget.style.transform = "translateY(-8px) scale(1.02)"; + e.currentTarget.style.boxShadow = "0 12px 28px rgba(0,0,0,0.25)"; + } }} onMouseLeave={(e) => { - e.currentTarget.style.transform = "translateY(0) scale(1)"; - e.currentTarget.style.boxShadow = "0 4px 12px rgba(0,0,0,0.15)"; + if (!mobile) { + e.currentTarget.style.transform = "translateY(0) scale(1)"; + e.currentTarget.style.boxShadow = "0 4px 12px rgba(0,0,0,0.15)"; + } }} > - - + + + {textHeading.title} - + {textHeading.des} - +