diff --git a/src/app/admin/(dashboard)/desa/_com/layoutTabLayanan.tsx b/src/app/admin/(dashboard)/desa/_com/layoutTabLayanan.tsx index 4ec40e47..9d44874b 100644 --- a/src/app/admin/(dashboard)/desa/_com/layoutTabLayanan.tsx +++ b/src/app/admin/(dashboard)/desa/_com/layoutTabLayanan.tsx @@ -1,10 +1,10 @@ /* eslint-disable react-hooks/exhaustive-deps */ 'use client' import colors from '@/con/colors'; -import { ScrollArea, Stack, Tabs, TabsList, TabsPanel, TabsTab, Title, Tooltip } from '@mantine/core'; +import { ScrollArea, Stack, Tabs, TabsList, TabsPanel, TabsTab, Title } from '@mantine/core'; +import { IconBuildingStore, IconFileText, IconSparkles, IconUsers, IconUsersPlus } from '@tabler/icons-react'; import { usePathname, useRouter } from 'next/navigation'; import React, { useEffect, useState } from 'react'; -import { IconFileText, IconBuildingStore, IconSparkles, IconUsers, IconUsersPlus } from '@tabler/icons-react'; function LayoutTabsLayanan({ children }: { children: React.ReactNode }) { const router = useRouter() @@ -14,36 +14,31 @@ function LayoutTabsLayanan({ children }: { children: React.ReactNode }) { label: "Pelayanan Surat Keterangan", value: "pelayanansuratketerangan", href: "/admin/desa/layanan/pelayanan_surat_keterangan", - icon: , - tooltip: "Layanan terkait surat keterangan resmi desa" + icon: }, { label: "Pelayanan Perizinan Berusaha", value: "pelayananperizinanusaha", href: "/admin/desa/layanan/pelayanan_perizinan_berusaha", - icon: , - tooltip: "Layanan untuk izin usaha masyarakat" + icon: }, { label: "Pelayanan Telunjuk Sakti Desa", value: "pelayanantelunjuksaktidesa", href: "/admin/desa/layanan/pelayanan_telunjuk_sakti_desa", - icon: , - tooltip: "Layanan inovasi khusus desa" + icon: }, { label: "Pelayanan Penduduk Non-Permanent", value: "pelayanannonpermanent", href: "/admin/desa/layanan/pelayanan_penduduk_non_permanent", - icon: , - tooltip: "Pendataan penduduk non-permanent" + icon: }, { label: "Ajukan Permohonan", value: "ajukanpermohonan", href: "/admin/desa/layanan/ajukan_permohonan", - icon: , - tooltip: "Ajukan permohonan" + icon: } ]; @@ -91,14 +86,8 @@ function LayoutTabsLayanan({ children }: { children: React.ReactNode }) { }} > {tabs.map((tab, i) => ( - {tab.label} - ))} diff --git a/src/app/admin/(dashboard)/desa/berita/_com/layoutTabs.tsx b/src/app/admin/(dashboard)/desa/berita/_com/layoutTabs.tsx index d19825c5..dfd56b13 100644 --- a/src/app/admin/(dashboard)/desa/berita/_com/layoutTabs.tsx +++ b/src/app/admin/(dashboard)/desa/berita/_com/layoutTabs.tsx @@ -1,10 +1,10 @@ /* eslint-disable react-hooks/exhaustive-deps */ 'use client' import colors from '@/con/colors'; -import { ScrollArea, Stack, Tabs, TabsList, TabsPanel, TabsTab, Title, Tooltip } from '@mantine/core'; +import { ScrollArea, Stack, Tabs, TabsList, TabsPanel, TabsTab, Title } from '@mantine/core'; +import { IconCategory, IconNews } from '@tabler/icons-react'; import { usePathname, useRouter } from 'next/navigation'; import React, { useEffect, useState } from 'react'; -import { IconNews, IconCategory } from '@tabler/icons-react'; function LayoutTabsBerita({ children }: { children: React.ReactNode }) { const router = useRouter(); @@ -15,15 +15,13 @@ function LayoutTabsBerita({ children }: { children: React.ReactNode }) { label: "List Berita", value: "list_berita", href: "/admin/desa/berita/list-berita", - icon: , - tooltip: "Lihat dan kelola semua berita desa" + icon: }, { label: "Kategori Berita", value: "kategori_berita", href: "/admin/desa/berita/kategori-berita", - icon: , - tooltip: "Kelola kategori berita desa" + icon: }, ]; @@ -71,46 +69,39 @@ function LayoutTabsBerita({ children }: { children: React.ReactNode }) { }} > {tabs.map((tab, i) => ( - - - {tab.label} - - + {tab.label} + ))} - - + + - {tabs.map((tab, i) => ( - - {/* Konten dummy, bisa diganti sesuai routing */} - <>{children} - - ))} - - + {tabs.map((tab, i) => ( + + {/* Konten dummy, bisa diganti sesuai routing */} + <>{children} + + ))} + + ); } diff --git a/src/app/admin/(dashboard)/desa/berita/kategori-berita/[id]/page.tsx b/src/app/admin/(dashboard)/desa/berita/kategori-berita/[id]/page.tsx index 4ffdd64a..14494532 100644 --- a/src/app/admin/(dashboard)/desa/berita/kategori-berita/[id]/page.tsx +++ b/src/app/admin/(dashboard)/desa/berita/kategori-berita/[id]/page.tsx @@ -10,8 +10,7 @@ import { Paper, Stack, TextInput, - Title, - Tooltip, + Title } from '@mantine/core'; import { IconArrowBack } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; @@ -77,7 +76,6 @@ function EditKategoriBerita() { {/* Back Button + Title */} - - Edit Kategori Berita diff --git a/src/app/admin/(dashboard)/desa/berita/kategori-berita/create/page.tsx b/src/app/admin/(dashboard)/desa/berita/kategori-berita/create/page.tsx index db9e2b6a..197ae1b7 100644 --- a/src/app/admin/(dashboard)/desa/berita/kategori-berita/create/page.tsx +++ b/src/app/admin/(dashboard)/desa/berita/kategori-berita/create/page.tsx @@ -8,8 +8,7 @@ import { Paper, Stack, TextInput, - Title, - Tooltip + Title } from '@mantine/core'; import { IconArrowBack } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; @@ -35,7 +34,6 @@ function CreateKategoriBerita() { {/* Header dengan back button */} - - Tambah Kategori Berita diff --git a/src/app/admin/(dashboard)/desa/berita/kategori-berita/page.tsx b/src/app/admin/(dashboard)/desa/berita/kategori-berita/page.tsx index 94dc8326..391ccb48 100644 --- a/src/app/admin/(dashboard)/desa/berita/kategori-berita/page.tsx +++ b/src/app/admin/(dashboard)/desa/berita/kategori-berita/page.tsx @@ -17,8 +17,7 @@ import { TableThead, TableTr, Text, - Title, - Tooltip + Title } from '@mantine/core'; import { IconEdit, IconPlus, IconSearch, IconTrash } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; @@ -86,7 +85,6 @@ function ListKategoriBerita({ search }: { search: string }) { Daftar Kategori Berita - - @@ -123,7 +120,6 @@ function ListKategoriBerita({ search }: { search: string }) { - - - - )) diff --git a/src/app/admin/(dashboard)/desa/berita/list-berita/[id]/edit/page.tsx b/src/app/admin/(dashboard)/desa/berita/list-berita/[id]/edit/page.tsx index c34049cc..7c181f33 100644 --- a/src/app/admin/(dashboard)/desa/berita/list-berita/[id]/edit/page.tsx +++ b/src/app/admin/(dashboard)/desa/berita/list-berita/[id]/edit/page.tsx @@ -15,8 +15,7 @@ import { Stack, Text, TextInput, - Title, - Tooltip, + Title } from "@mantine/core"; import { Dropzone } from "@mantine/dropzone"; import { @@ -116,7 +115,6 @@ function EditBerita() { {/* Header */} - - Edit Berita diff --git a/src/app/admin/(dashboard)/desa/berita/list-berita/[id]/page.tsx b/src/app/admin/(dashboard)/desa/berita/list-berita/[id]/page.tsx index 2030f188..54f53634 100644 --- a/src/app/admin/(dashboard)/desa/berita/list-berita/[id]/page.tsx +++ b/src/app/admin/(dashboard)/desa/berita/list-berita/[id]/page.tsx @@ -1,14 +1,14 @@ 'use client' -import { useProxy } from 'valtio/utils'; -import { Box, Button, Group, Image, Paper, Skeleton, Stack, Text, Tooltip } from '@mantine/core'; +import { Box, Button, Group, Image, Paper, Skeleton, Stack, Text } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconArrowBack, IconEdit, IconTrash } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; import { useState } from 'react'; +import { useProxy } from 'valtio/utils'; -import colors from '@/con/colors'; import { ModalKonfirmasiHapus } from '@/app/admin/(dashboard)/_com/modalKonfirmasiHapus'; import stateDashboardBerita from '@/app/admin/(dashboard)/_state/desa/berita'; +import colors from '@/con/colors'; function DetailBerita() { const beritaState = useProxy(stateDashboardBerita); @@ -111,7 +111,6 @@ function DetailBerita() { {/* Action Button */} - - - - diff --git a/src/app/admin/(dashboard)/desa/berita/list-berita/create/page.tsx b/src/app/admin/(dashboard)/desa/berita/list-berita/create/page.tsx index ab176266..8789e590 100644 --- a/src/app/admin/(dashboard)/desa/berita/list-berita/create/page.tsx +++ b/src/app/admin/(dashboard)/desa/berita/list-berita/create/page.tsx @@ -13,8 +13,7 @@ import { Stack, Text, TextInput, - Title, - Tooltip, + Title } from '@mantine/core'; import { Dropzone } from '@mantine/dropzone'; import { useShallowEffect } from '@mantine/hooks'; @@ -73,7 +72,6 @@ export default function CreateBerita() { {/* Header dengan tombol kembali */} - - Tambah Berita diff --git a/src/app/admin/(dashboard)/desa/berita/list-berita/page.tsx b/src/app/admin/(dashboard)/desa/berita/list-berita/page.tsx index 47b628d8..38bd0ffa 100644 --- a/src/app/admin/(dashboard)/desa/berita/list-berita/page.tsx +++ b/src/app/admin/(dashboard)/desa/berita/list-berita/page.tsx @@ -16,8 +16,7 @@ import { TableThead, TableTr, Text, - Title, - Tooltip + Title } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconCircleDashedPlus, IconDeviceImacCog, IconSearch } from '@tabler/icons-react'; @@ -68,7 +67,6 @@ function ListBerita({ search }: { search: string }) { Daftar Berita - - diff --git a/src/app/admin/(dashboard)/desa/gallery/foto/page.tsx b/src/app/admin/(dashboard)/desa/gallery/foto/page.tsx index 3b08fbea..ac66a2df 100644 --- a/src/app/admin/(dashboard)/desa/gallery/foto/page.tsx +++ b/src/app/admin/(dashboard)/desa/gallery/foto/page.tsx @@ -13,8 +13,7 @@ import { Stack, Text, TextInput, - Title, - Tooltip, + Title } from "@mantine/core"; import { useShallowEffect } from "@mantine/hooks"; import { IconSearch, IconTrash, IconX } from "@tabler/icons-react"; @@ -103,7 +102,6 @@ export default function ListImage() { - - diff --git a/src/app/admin/(dashboard)/desa/gallery/lib/layoutTabs.tsx b/src/app/admin/(dashboard)/desa/gallery/lib/layoutTabs.tsx index 803a6884..43a029bb 100644 --- a/src/app/admin/(dashboard)/desa/gallery/lib/layoutTabs.tsx +++ b/src/app/admin/(dashboard)/desa/gallery/lib/layoutTabs.tsx @@ -1,10 +1,10 @@ /* eslint-disable react-hooks/exhaustive-deps */ 'use client' import colors from '@/con/colors'; -import { ScrollArea, Stack, Tabs, TabsList, TabsPanel, TabsTab, Title, Tooltip } from '@mantine/core'; +import { ScrollArea, Stack, Tabs, TabsList, TabsPanel, TabsTab, Title } from '@mantine/core'; +import { IconPhoto, IconVideo } from '@tabler/icons-react'; import { usePathname, useRouter } from 'next/navigation'; import React, { useEffect, useState } from 'react'; -import { IconPhoto, IconVideo } from '@tabler/icons-react'; function LayoutTabsGallery({ children }: { children: React.ReactNode }) { const router = useRouter() @@ -14,15 +14,13 @@ function LayoutTabsGallery({ children }: { children: React.ReactNode }) { label: "Foto", value: "foto", href: "/admin/desa/gallery/foto", - icon: , - tooltip: "Kelola foto-foto galeri desa" + icon: }, { label: "Video", value: "video", href: "/admin/desa/gallery/video", - icon: , - tooltip: "Kelola video galeri desa" + icon: }, ]; @@ -70,25 +68,18 @@ function LayoutTabsGallery({ children }: { children: React.ReactNode }) { }} > {tabs.map((tab, i) => ( - - - {tab.label} - - + {tab.label} + ))} diff --git a/src/app/admin/(dashboard)/desa/gallery/video/[id]/edit/page.tsx b/src/app/admin/(dashboard)/desa/gallery/video/[id]/edit/page.tsx index 1b4260fd..30933f6f 100644 --- a/src/app/admin/(dashboard)/desa/gallery/video/[id]/edit/page.tsx +++ b/src/app/admin/(dashboard)/desa/gallery/video/[id]/edit/page.tsx @@ -10,12 +10,11 @@ import { Paper, Stack, TextInput, - Title, - Tooltip + Title } from '@mantine/core'; import { IconArrowBack } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; -import { useEffect, useState, useCallback } from 'react'; +import { useCallback, useEffect, useState } from 'react'; import { toast } from 'react-toastify'; import { useProxy } from 'valtio/utils'; import { convertYoutubeUrlToEmbed } from '../../../lib/youtube-utils'; @@ -89,7 +88,6 @@ function EditVideo() { return ( - - Edit Video diff --git a/src/app/admin/(dashboard)/desa/gallery/video/[id]/page.tsx b/src/app/admin/(dashboard)/desa/gallery/video/[id]/page.tsx index 65a579a0..598c745b 100644 --- a/src/app/admin/(dashboard)/desa/gallery/video/[id]/page.tsx +++ b/src/app/admin/(dashboard)/desa/gallery/video/[id]/page.tsx @@ -2,7 +2,7 @@ import { ModalKonfirmasiHapus } from '@/app/admin/(dashboard)/_com/modalKonfirmasiHapus'; import stateGallery from '@/app/admin/(dashboard)/_state/desa/gallery'; import colors from '@/con/colors'; -import { Box, Button, Group, Paper, Skeleton, Stack, Text, Tooltip } from '@mantine/core'; +import { Box, Button, Group, Paper, Skeleton, Stack, Text } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconArrowBack, IconEdit, IconTrash } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; @@ -111,7 +111,6 @@ function DetailVideo() { {/* Tombol Aksi */} - - - - diff --git a/src/app/admin/(dashboard)/desa/gallery/video/create/page.tsx b/src/app/admin/(dashboard)/desa/gallery/video/create/page.tsx index 9badd230..6c4f5cc7 100644 --- a/src/app/admin/(dashboard)/desa/gallery/video/create/page.tsx +++ b/src/app/admin/(dashboard)/desa/gallery/video/create/page.tsx @@ -10,8 +10,7 @@ import { Stack, Text, TextInput, - Title, - Tooltip, + Title } from '@mantine/core'; import { IconArrowBack } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; @@ -51,7 +50,6 @@ function CreateVideo() { {/* Header Back Button + Title */} - - Tambah Video diff --git a/src/app/admin/(dashboard)/desa/gallery/video/page.tsx b/src/app/admin/(dashboard)/desa/gallery/video/page.tsx index 232204ff..384fb7d9 100644 --- a/src/app/admin/(dashboard)/desa/gallery/video/page.tsx +++ b/src/app/admin/(dashboard)/desa/gallery/video/page.tsx @@ -16,8 +16,7 @@ import { TableThead, TableTr, Text, - Title, - Tooltip + Title } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconDeviceImac, IconPlus, IconSearch } from '@tabler/icons-react'; @@ -74,7 +73,6 @@ function ListVideo({ search }: { search: string }) { Daftar Video - - diff --git a/src/app/admin/(dashboard)/desa/layanan/ajukan_permohonan/[id]/edit/page.tsx b/src/app/admin/(dashboard)/desa/layanan/ajukan_permohonan/[id]/edit/page.tsx index bd56c1c3..ac92c919 100644 --- a/src/app/admin/(dashboard)/desa/layanan/ajukan_permohonan/[id]/edit/page.tsx +++ b/src/app/admin/(dashboard)/desa/layanan/ajukan_permohonan/[id]/edit/page.tsx @@ -10,8 +10,7 @@ import { Select, Stack, TextInput, - Title, - Tooltip, + Title } from '@mantine/core'; import { IconArrowBack } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; @@ -87,11 +86,9 @@ function EditAjukanPermohonan() { {/* Back Button */} - - Edit Ajukan Permohonan diff --git a/src/app/admin/(dashboard)/desa/layanan/ajukan_permohonan/[id]/page.tsx b/src/app/admin/(dashboard)/desa/layanan/ajukan_permohonan/[id]/page.tsx index 7d10ba08..c53534c0 100644 --- a/src/app/admin/(dashboard)/desa/layanan/ajukan_permohonan/[id]/page.tsx +++ b/src/app/admin/(dashboard)/desa/layanan/ajukan_permohonan/[id]/page.tsx @@ -9,8 +9,7 @@ import { Paper, Skeleton, Stack, - Text, - Tooltip + Text } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconArrowBack, IconEdit, IconTrash } from '@tabler/icons-react'; @@ -121,7 +120,6 @@ function DetailAjukanPermohonan() { - - - - diff --git a/src/app/admin/(dashboard)/desa/layanan/pelayanan_penduduk_non_permanent/[id]/page.tsx b/src/app/admin/(dashboard)/desa/layanan/pelayanan_penduduk_non_permanent/[id]/page.tsx index 7f26b666..41b4027a 100644 --- a/src/app/admin/(dashboard)/desa/layanan/pelayanan_penduduk_non_permanent/[id]/page.tsx +++ b/src/app/admin/(dashboard)/desa/layanan/pelayanan_penduduk_non_permanent/[id]/page.tsx @@ -12,8 +12,7 @@ import { Stack, Text, TextInput, - Title, - Tooltip, + Title } from '@mantine/core'; import { IconArrowBack } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; @@ -83,7 +82,6 @@ function EditPelayananPendudukNonPermanent() { - - Edit Pelayanan Penduduk Non Permanent diff --git a/src/app/admin/(dashboard)/desa/layanan/pelayanan_penduduk_non_permanent/page.tsx b/src/app/admin/(dashboard)/desa/layanan/pelayanan_penduduk_non_permanent/page.tsx index e5ce63bd..cfa734ca 100644 --- a/src/app/admin/(dashboard)/desa/layanan/pelayanan_penduduk_non_permanent/page.tsx +++ b/src/app/admin/(dashboard)/desa/layanan/pelayanan_penduduk_non_permanent/page.tsx @@ -11,8 +11,7 @@ import { Skeleton, Stack, Text, - Title, - Tooltip, + Title } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconEdit } from '@tabler/icons-react'; @@ -51,7 +50,6 @@ function PelayananPendudukNonPermanent() { - - diff --git a/src/app/admin/(dashboard)/desa/layanan/pelayanan_perizinan_berusaha/[id]/page.tsx b/src/app/admin/(dashboard)/desa/layanan/pelayanan_perizinan_berusaha/[id]/page.tsx index e8f4a8b6..a59a202a 100644 --- a/src/app/admin/(dashboard)/desa/layanan/pelayanan_perizinan_berusaha/[id]/page.tsx +++ b/src/app/admin/(dashboard)/desa/layanan/pelayanan_perizinan_berusaha/[id]/page.tsx @@ -12,8 +12,7 @@ import { Skeleton, Stack, TextInput, - Title, - Tooltip, + Title } from '@mantine/core'; import { IconArrowBack } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; @@ -100,7 +99,6 @@ function EditPelayananPerizinanBerusaha() { {/* Header */} - - Edit Pelayanan Perizinan Berusaha diff --git a/src/app/admin/(dashboard)/desa/layanan/pelayanan_perizinan_berusaha/page.tsx b/src/app/admin/(dashboard)/desa/layanan/pelayanan_perizinan_berusaha/page.tsx index 3edb28cd..a1cac551 100644 --- a/src/app/admin/(dashboard)/desa/layanan/pelayanan_perizinan_berusaha/page.tsx +++ b/src/app/admin/(dashboard)/desa/layanan/pelayanan_perizinan_berusaha/page.tsx @@ -16,14 +16,13 @@ import { StepperCompleted, StepperStep, Text, - Title, - Tooltip, + Title } from '@mantine/core'; import { IconEdit } from '@tabler/icons-react'; -import { useEffect, useState } from 'react'; -import stateLayananDesa from '../../../_state/desa/layananDesa'; -import { useProxy } from 'valtio/utils'; import { useRouter } from 'next/navigation'; +import { useEffect, useState } from 'react'; +import { useProxy } from 'valtio/utils'; +import stateLayananDesa from '../../../_state/desa/layananDesa'; function PerizinanBerusaha() { const router = useRouter(); @@ -85,7 +84,6 @@ function PerizinanBerusaha() { - - diff --git a/src/app/admin/(dashboard)/desa/layanan/pelayanan_surat_keterangan/[id]/edit/page.tsx b/src/app/admin/(dashboard)/desa/layanan/pelayanan_surat_keterangan/[id]/edit/page.tsx index 092eadcd..b245d8de 100644 --- a/src/app/admin/(dashboard)/desa/layanan/pelayanan_surat_keterangan/[id]/edit/page.tsx +++ b/src/app/admin/(dashboard)/desa/layanan/pelayanan_surat_keterangan/[id]/edit/page.tsx @@ -12,13 +12,12 @@ import { Stack, Text, TextInput, - Title, - Tooltip, + Title } from '@mantine/core'; import { Dropzone } from '@mantine/dropzone'; import { IconArrowBack, IconPhoto, IconUpload, IconX } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; -import { useEffect, useState, useCallback } from 'react'; +import { useCallback, useEffect, useState } from 'react'; import { toast } from 'react-toastify'; import { useProxy } from 'valtio/utils'; @@ -112,11 +111,9 @@ function EditSuratKeterangan() { {/* Back Button */} - - Edit Surat Keterangan diff --git a/src/app/admin/(dashboard)/desa/layanan/pelayanan_surat_keterangan/[id]/page.tsx b/src/app/admin/(dashboard)/desa/layanan/pelayanan_surat_keterangan/[id]/page.tsx index 59d992ac..4c911ca3 100644 --- a/src/app/admin/(dashboard)/desa/layanan/pelayanan_surat_keterangan/[id]/page.tsx +++ b/src/app/admin/(dashboard)/desa/layanan/pelayanan_surat_keterangan/[id]/page.tsx @@ -10,8 +10,7 @@ import { Paper, Skeleton, Stack, - Text, - Tooltip, + Text } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconArrowBack, IconEdit, IconTrash } from '@tabler/icons-react'; @@ -142,7 +141,6 @@ function DetailSuratKeterangan() { - - - - diff --git a/src/app/admin/(dashboard)/desa/layanan/pelayanan_surat_keterangan/create/page.tsx b/src/app/admin/(dashboard)/desa/layanan/pelayanan_surat_keterangan/create/page.tsx index ba52a647..0ccbbb23 100644 --- a/src/app/admin/(dashboard)/desa/layanan/pelayanan_surat_keterangan/create/page.tsx +++ b/src/app/admin/(dashboard)/desa/layanan/pelayanan_surat_keterangan/create/page.tsx @@ -13,8 +13,7 @@ import { Stack, Text, TextInput, - Title, - Tooltip, + Title } from '@mantine/core'; import { Dropzone } from '@mantine/dropzone'; import { IconArrowBack, IconPhoto, IconUpload, IconX } from '@tabler/icons-react'; @@ -85,11 +84,9 @@ function CreateSuratKeterangan() { {/* Header */} - - Tambah Surat Keterangan diff --git a/src/app/admin/(dashboard)/desa/layanan/pelayanan_surat_keterangan/page.tsx b/src/app/admin/(dashboard)/desa/layanan/pelayanan_surat_keterangan/page.tsx index e4948edf..2b90ada8 100644 --- a/src/app/admin/(dashboard)/desa/layanan/pelayanan_surat_keterangan/page.tsx +++ b/src/app/admin/(dashboard)/desa/layanan/pelayanan_surat_keterangan/page.tsx @@ -17,8 +17,7 @@ import { TableThead, TableTr, Text, - Title, - Tooltip + Title } from '@mantine/core'; import { IconDeviceImacCog, IconPlus, IconSearch } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; @@ -82,7 +81,6 @@ function ListSuratKeterangan({ search }: { search: string }) { List Surat Keterangan - -
diff --git a/src/app/admin/(dashboard)/desa/layanan/pelayanan_telunjuk_sakti_desa/[id]/edit/page.tsx b/src/app/admin/(dashboard)/desa/layanan/pelayanan_telunjuk_sakti_desa/[id]/edit/page.tsx index 27b89bdb..67bd5688 100644 --- a/src/app/admin/(dashboard)/desa/layanan/pelayanan_telunjuk_sakti_desa/[id]/edit/page.tsx +++ b/src/app/admin/(dashboard)/desa/layanan/pelayanan_telunjuk_sakti_desa/[id]/edit/page.tsx @@ -9,8 +9,7 @@ import { Paper, Stack, TextInput, - Title, - Tooltip + Title } from '@mantine/core'; import { IconArrowBack } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; @@ -81,11 +80,9 @@ function EditPelayananTelunjukSakti() { {/* Back Button + Title */} - - Edit Pelayanan Telunjuk Sakti Desa diff --git a/src/app/admin/(dashboard)/desa/layanan/pelayanan_telunjuk_sakti_desa/[id]/page.tsx b/src/app/admin/(dashboard)/desa/layanan/pelayanan_telunjuk_sakti_desa/[id]/page.tsx index 04b7a37f..180534c2 100644 --- a/src/app/admin/(dashboard)/desa/layanan/pelayanan_telunjuk_sakti_desa/[id]/page.tsx +++ b/src/app/admin/(dashboard)/desa/layanan/pelayanan_telunjuk_sakti_desa/[id]/page.tsx @@ -9,8 +9,7 @@ import { Paper, Skeleton, Stack, - Text, - Tooltip, + Text } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconArrowBack, IconEdit, IconTrash } from '@tabler/icons-react'; @@ -130,7 +129,6 @@ function DetailPelayananTelunjukSakti() { - - - - diff --git a/src/app/admin/(dashboard)/desa/layanan/pelayanan_telunjuk_sakti_desa/create/page.tsx b/src/app/admin/(dashboard)/desa/layanan/pelayanan_telunjuk_sakti_desa/create/page.tsx index 2fd23ace..3ebc515f 100644 --- a/src/app/admin/(dashboard)/desa/layanan/pelayanan_telunjuk_sakti_desa/create/page.tsx +++ b/src/app/admin/(dashboard)/desa/layanan/pelayanan_telunjuk_sakti_desa/create/page.tsx @@ -9,8 +9,7 @@ import { Paper, Stack, TextInput, - Title, - Tooltip + Title } from '@mantine/core'; import { IconArrowBack } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; @@ -45,11 +44,9 @@ function CreatePelayananTelunjukDesa() { {/* Header */} - - Tambah Pelayanan Telunjuk Sakti Desa diff --git a/src/app/admin/(dashboard)/desa/layanan/pelayanan_telunjuk_sakti_desa/page.tsx b/src/app/admin/(dashboard)/desa/layanan/pelayanan_telunjuk_sakti_desa/page.tsx index 03752f68..b553773f 100644 --- a/src/app/admin/(dashboard)/desa/layanan/pelayanan_telunjuk_sakti_desa/page.tsx +++ b/src/app/admin/(dashboard)/desa/layanan/pelayanan_telunjuk_sakti_desa/page.tsx @@ -1,159 +1,3 @@ -// /* eslint-disable react-hooks/exhaustive-deps */ -// 'use client' -// import colors from '@/con/colors'; -// import { Box, Button, Center, Pagination, Paper, Skeleton, Stack, Table, TableTbody, TableTd, TableTh, TableThead, TableTr, Text } from '@mantine/core'; -// import { IconDeviceImac, IconSearch } from '@tabler/icons-react'; -// import { useRouter } from 'next/navigation'; -// import { useEffect, useMemo, useState } from 'react'; -// import { useProxy } from 'valtio/utils'; -// import HeaderSearch from '../../../_com/header'; -// import JudulList from '../../../_com/judulList'; -// import stateLayananDesa from '../../../_state/desa/layananDesa'; - -// function PelayananTelunjukSakti() { -// const [search, setSearch] = useState(""); -// return ( -// -// } -// value={search} -// onChange={(e) => setSearch(e.currentTarget.value)} -// /> -// -// -// ); -// } - -// function ListPelayananTelunjukSakti({ search }: { search: string }) { -// const telunjukSaktiState = useProxy(stateLayananDesa.pelayananTelunjukSaktiDesa) -// const router = useRouter() - -// const { -// data, -// page, -// totalPages, -// loading, -// load, -// } = telunjukSaktiState.findMany; - -// useEffect(() => { -// load(page, 10) -// }, []) - -// const filteredData = useMemo(() => { -// if (!data) return []; -// return data.filter(item => { -// const keyword = search.toLowerCase(); -// return ( -// item.name?.toLowerCase().includes(keyword) || -// item.link?.toLowerCase().includes(keyword) || -// item.deskripsi?.toLowerCase().includes(keyword) -// ); -// }) -// .sort((a, b) => a.posisi?.hierarki - b.posisi?.hierarki); -// }, [data, search]); - -// if (loading || !data) { -// return ( -// -// -// -// ); -// } - -// if (data.length === 0) { -// return ( -// -// -// -//
-// -// -// Nama -// Link -// Detail -// -// -// -// -// -// -// Tidak ada data -// -// -// -// -//
-//
-//
-// ); -// } - -// return ( -// -// -// -// -// -// -// Nama -// Link -// Detail -// -// -// -// {filteredData.map((item) => ( -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// ))} -// -//
-//
-//
-// { -// load(newPage, 10); -// window.scrollTo(0, 0); -// }} -// total={totalPages} -// mt="md" -// mb="md" -// /> -//
-//
-// ); -// } - -// export default PelayananTelunjukSakti; - /* eslint-disable react-hooks/exhaustive-deps */ 'use client' @@ -174,8 +18,7 @@ import { TableThead, TableTr, Text, - Title, - Tooltip, + Title } from '@mantine/core'; import { IconDeviceImacCog, IconPlus, IconSearch } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; @@ -225,7 +68,6 @@ function ListPelayananTelunjukSakti({ search }: { search: string }) { Daftar Pelayanan Telunjuk Sakti - - diff --git a/src/app/admin/(dashboard)/desa/penghargaan/[id]/edit/page.tsx b/src/app/admin/(dashboard)/desa/penghargaan/[id]/edit/page.tsx index 2f68bc4e..bbf9b7d6 100644 --- a/src/app/admin/(dashboard)/desa/penghargaan/[id]/edit/page.tsx +++ b/src/app/admin/(dashboard)/desa/penghargaan/[id]/edit/page.tsx @@ -13,8 +13,7 @@ import { Stack, Text, TextInput, - Title, - Tooltip, + Title } from '@mantine/core'; import { Dropzone } from '@mantine/dropzone'; import { IconArrowBack, IconPhoto, IconUpload, IconX } from '@tabler/icons-react'; @@ -102,11 +101,9 @@ function EditPenghargaan() { {/* Tombol Back + Title */} - - - + Edit Penghargaan diff --git a/src/app/admin/(dashboard)/desa/penghargaan/[id]/page.tsx b/src/app/admin/(dashboard)/desa/penghargaan/[id]/page.tsx index 05a5774a..fb8fb55e 100644 --- a/src/app/admin/(dashboard)/desa/penghargaan/[id]/page.tsx +++ b/src/app/admin/(dashboard)/desa/penghargaan/[id]/page.tsx @@ -1,9 +1,5 @@ 'use client' -import React, { useState } from 'react'; -import penghargaanState from '../../../_state/desa/penghargaan'; -import { useProxy } from 'valtio/utils'; -import { useParams, useRouter } from 'next/navigation'; -import { useShallowEffect } from '@mantine/hooks'; +import colors from '@/con/colors'; import { Box, Button, @@ -12,12 +8,15 @@ import { Paper, Skeleton, Stack, - Text, - Tooltip, + Text } from '@mantine/core'; -import colors from '@/con/colors'; +import { useShallowEffect } from '@mantine/hooks'; import { IconArrowBack, IconEdit, IconTrash } from '@tabler/icons-react'; +import { useParams, useRouter } from 'next/navigation'; +import { useState } from 'react'; +import { useProxy } from 'valtio/utils'; import { ModalKonfirmasiHapus } from '../../../_com/modalKonfirmasiHapus'; +import penghargaanState from '../../../_state/desa/penghargaan'; function DetailPenghargaan() { const statePenghargaan = useProxy(penghargaanState); @@ -127,34 +126,30 @@ function DetailPenghargaan() { - - - + - - - + diff --git a/src/app/admin/(dashboard)/desa/penghargaan/create/page.tsx b/src/app/admin/(dashboard)/desa/penghargaan/create/page.tsx index dbfb717c..e3089f6d 100644 --- a/src/app/admin/(dashboard)/desa/penghargaan/create/page.tsx +++ b/src/app/admin/(dashboard)/desa/penghargaan/create/page.tsx @@ -10,8 +10,7 @@ import { Stack, Text, TextInput, - Title, - Tooltip, + Title } from '@mantine/core'; import { Dropzone } from '@mantine/dropzone'; import { IconArrowBack, IconPhoto, IconUpload, IconX } from '@tabler/icons-react'; @@ -66,11 +65,9 @@ function CreatePenghargaan() { {/* Header */} - - - + Tambah Penghargaan diff --git a/src/app/admin/(dashboard)/desa/penghargaan/page.tsx b/src/app/admin/(dashboard)/desa/penghargaan/page.tsx index ac4de300..40e2420b 100644 --- a/src/app/admin/(dashboard)/desa/penghargaan/page.tsx +++ b/src/app/admin/(dashboard)/desa/penghargaan/page.tsx @@ -18,8 +18,7 @@ import { TableThead, TableTr, Text, - Title, - Tooltip + Title } from '@mantine/core'; import { IconDeviceImacCog, IconPlus, IconSearch } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; @@ -69,7 +68,6 @@ function ListPenghargaan({ search }: { search: string }) { List Penghargaan - -
diff --git a/src/app/admin/(dashboard)/desa/pengumuman/_com/layoutTabs.tsx b/src/app/admin/(dashboard)/desa/pengumuman/_com/layoutTabs.tsx index e8702d32..3ae568ed 100644 --- a/src/app/admin/(dashboard)/desa/pengumuman/_com/layoutTabs.tsx +++ b/src/app/admin/(dashboard)/desa/pengumuman/_com/layoutTabs.tsx @@ -1,10 +1,10 @@ /* eslint-disable react-hooks/exhaustive-deps */ 'use client' import colors from '@/con/colors'; -import { ScrollArea, Stack, Tabs, TabsList, TabsPanel, TabsTab, Title, Tooltip } from '@mantine/core'; +import { ScrollArea, Stack, Tabs, TabsList, TabsPanel, TabsTab, Title } from '@mantine/core'; +import { IconCategory, IconListDetails } from '@tabler/icons-react'; import { usePathname, useRouter } from 'next/navigation'; import React, { useEffect, useState } from 'react'; -import { IconListDetails, IconCategory } from '@tabler/icons-react'; function LayoutTabsLayanan({ children }: { children: React.ReactNode }) { const router = useRouter() @@ -14,15 +14,13 @@ function LayoutTabsLayanan({ children }: { children: React.ReactNode }) { label: "List Pengumuman", value: "listpengumuman", href: "/admin/desa/pengumuman/list-pengumuman", - icon: , - tooltip: "Lihat semua daftar pengumuman" + icon: }, { label: "Kategori Pengumuman", value: "kategoripengumuman", href: "/admin/desa/pengumuman/kategori-pengumuman", - icon: , - tooltip: "Kelola kategori pengumuman" + icon: }, ]; @@ -70,19 +68,18 @@ function LayoutTabsLayanan({ children }: { children: React.ReactNode }) { }} > {tabs.map((tab, i) => ( - - - {tab.label} - - + + {tab.label} + ))} diff --git a/src/app/admin/(dashboard)/desa/pengumuman/kategori-pengumuman/[id]/page.tsx b/src/app/admin/(dashboard)/desa/pengumuman/kategori-pengumuman/[id]/page.tsx index c2eeb624..1ed44942 100644 --- a/src/app/admin/(dashboard)/desa/pengumuman/kategori-pengumuman/[id]/page.tsx +++ b/src/app/admin/(dashboard)/desa/pengumuman/kategori-pengumuman/[id]/page.tsx @@ -10,8 +10,7 @@ import { Paper, Stack, TextInput, - Title, - Tooltip, + Title } from '@mantine/core'; import { IconArrowBack } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; @@ -74,7 +73,6 @@ function EditKategoriPengumuman() { {/* Header */} - - Edit Kategori Pengumuman diff --git a/src/app/admin/(dashboard)/desa/pengumuman/kategori-pengumuman/create/page.tsx b/src/app/admin/(dashboard)/desa/pengumuman/kategori-pengumuman/create/page.tsx index c5e4bac0..e7515eb0 100644 --- a/src/app/admin/(dashboard)/desa/pengumuman/kategori-pengumuman/create/page.tsx +++ b/src/app/admin/(dashboard)/desa/pengumuman/kategori-pengumuman/create/page.tsx @@ -8,8 +8,7 @@ import { Paper, Stack, TextInput, - Title, - Tooltip + Title } from '@mantine/core'; import { IconArrowBack } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; @@ -35,7 +34,6 @@ function CreateKategoriPengumuman() { {/* Header dengan back button */} - - Tambah Kategori Pengumuman diff --git a/src/app/admin/(dashboard)/desa/pengumuman/kategori-pengumuman/page.tsx b/src/app/admin/(dashboard)/desa/pengumuman/kategori-pengumuman/page.tsx index 541c0cae..bbd20857 100644 --- a/src/app/admin/(dashboard)/desa/pengumuman/kategori-pengumuman/page.tsx +++ b/src/app/admin/(dashboard)/desa/pengumuman/kategori-pengumuman/page.tsx @@ -2,11 +2,13 @@ 'use client' import colors from '@/con/colors'; import { - Box, Button, Center, Paper, Skeleton, Stack, + Box, Button, Center, + Pagination, + Paper, Skeleton, Stack, Table, TableTbody, TableTd, TableTh, TableThead, TableTr, - Text, Title, Tooltip, Pagination + Text, Title } from '@mantine/core'; -import { IconEdit, IconSearch, IconTrash, IconPlus } from '@tabler/icons-react'; +import { IconEdit, IconPlus, IconSearch, IconTrash } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; import { useEffect, useState } from 'react'; import { useProxy } from 'valtio/utils'; @@ -66,16 +68,14 @@ function ListKategoriPengumuman({ search }: { search: string }) { List Kategori Pengumuman - - - + @@ -99,29 +99,25 @@ function ListKategoriPengumuman({ search }: { search: string }) { {item.name} - - - + - - - + )) diff --git a/src/app/admin/(dashboard)/desa/pengumuman/list-pengumuman/[id]/edit/page.tsx b/src/app/admin/(dashboard)/desa/pengumuman/list-pengumuman/[id]/edit/page.tsx index 9e7a622f..086f119a 100644 --- a/src/app/admin/(dashboard)/desa/pengumuman/list-pengumuman/[id]/edit/page.tsx +++ b/src/app/admin/(dashboard)/desa/pengumuman/list-pengumuman/[id]/edit/page.tsx @@ -13,8 +13,7 @@ import { Stack, Text, TextInput, - Title, - Tooltip, + Title } from "@mantine/core"; import { IconArrowBack } from "@tabler/icons-react"; import { useParams, useRouter } from "next/navigation"; @@ -85,16 +84,14 @@ function EditPengumuman() { return ( - - - + Edit Pengumuman diff --git a/src/app/admin/(dashboard)/desa/pengumuman/list-pengumuman/[id]/page.tsx b/src/app/admin/(dashboard)/desa/pengumuman/list-pengumuman/[id]/page.tsx index e1847094..5484c688 100644 --- a/src/app/admin/(dashboard)/desa/pengumuman/list-pengumuman/[id]/page.tsx +++ b/src/app/admin/(dashboard)/desa/pengumuman/list-pengumuman/[id]/page.tsx @@ -1,5 +1,7 @@ 'use client' +import { ModalKonfirmasiHapus } from '@/app/admin/(dashboard)/_com/modalKonfirmasiHapus'; +import stateDesaPengumuman from '@/app/admin/(dashboard)/_state/desa/pengumuman'; import colors from '@/con/colors'; import { Box, @@ -8,16 +10,13 @@ import { Paper, Skeleton, Stack, - Text, - Tooltip, + Text } from '@mantine/core'; +import { useShallowEffect } from '@mantine/hooks'; import { IconArrowBack, IconEdit, IconTrash } from '@tabler/icons-react'; -import { useRouter, useParams } from 'next/navigation'; +import { useParams, useRouter } from 'next/navigation'; import { useState } from 'react'; import { useProxy } from 'valtio/utils'; -import { useShallowEffect } from '@mantine/hooks'; -import { ModalKonfirmasiHapus } from '@/app/admin/(dashboard)/_com/modalKonfirmasiHapus'; -import stateDesaPengumuman from '@/app/admin/(dashboard)/_state/desa/pengumuman'; export default function DetailPengumuman() { const pengumumanState = useProxy(stateDesaPengumuman); @@ -117,7 +116,6 @@ export default function DetailPengumuman() { - - - - diff --git a/src/app/admin/(dashboard)/desa/pengumuman/list-pengumuman/create/page.tsx b/src/app/admin/(dashboard)/desa/pengumuman/list-pengumuman/create/page.tsx index d2d62314..fe2bea16 100644 --- a/src/app/admin/(dashboard)/desa/pengumuman/list-pengumuman/create/page.tsx +++ b/src/app/admin/(dashboard)/desa/pengumuman/list-pengumuman/create/page.tsx @@ -12,8 +12,7 @@ import { Stack, Text, TextInput, - Title, - Tooltip, + Title } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconArrowBack } from '@tabler/icons-react'; @@ -47,11 +46,9 @@ function CreatePengumuman() { {/* Header */} - - Tambah Pengumuman diff --git a/src/app/admin/(dashboard)/desa/pengumuman/list-pengumuman/page.tsx b/src/app/admin/(dashboard)/desa/pengumuman/list-pengumuman/page.tsx index e4c819e4..358fc1c5 100644 --- a/src/app/admin/(dashboard)/desa/pengumuman/list-pengumuman/page.tsx +++ b/src/app/admin/(dashboard)/desa/pengumuman/list-pengumuman/page.tsx @@ -17,8 +17,7 @@ import { TableThead, TableTr, Text, - Title, - Tooltip + Title } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconCircleDashedPlus, IconDeviceImacCog, IconSearch } from '@tabler/icons-react'; @@ -69,16 +68,14 @@ function ListPengumuman({ search }: { search: string }) { Daftar Pengumuman - - - +
diff --git a/src/app/admin/(dashboard)/desa/potensi/_lib/layoutTabs.tsx b/src/app/admin/(dashboard)/desa/potensi/_lib/layoutTabs.tsx index dc981aff..cccd64a8 100644 --- a/src/app/admin/(dashboard)/desa/potensi/_lib/layoutTabs.tsx +++ b/src/app/admin/(dashboard)/desa/potensi/_lib/layoutTabs.tsx @@ -1,7 +1,7 @@ /* eslint-disable react-hooks/exhaustive-deps */ 'use client' import colors from '@/con/colors'; -import { ScrollArea, Stack, Tabs, TabsList, TabsPanel, TabsTab, Title, Tooltip } from '@mantine/core'; +import { ScrollArea, Stack, Tabs, TabsList, TabsPanel, TabsTab, Title } from '@mantine/core'; import { IconCategory, IconListCheck } from '@tabler/icons-react'; import { usePathname, useRouter } from 'next/navigation'; import React, { useEffect, useState } from 'react'; @@ -14,15 +14,13 @@ function LayoutTabsPotensi({ children }: { children: React.ReactNode }) { label: "List Potensi", value: "list_potensi", href: "/admin/desa/potensi/list-potensi", - icon: , - tooltip: "Lihat semua potensi desa" + icon: }, { label: "Kategori Potensi", value: "kategori_potensi", href: "/admin/desa/potensi/kategori-potensi", - icon: , - tooltip: "Kelola kategori potensi" + icon: }, ]; @@ -70,19 +68,18 @@ function LayoutTabsPotensi({ children }: { children: React.ReactNode }) { }} > {tabs.map((tab, i) => ( - - - {tab.label} - - + + {tab.label} + ))} diff --git a/src/app/admin/(dashboard)/desa/potensi/kategori-potensi/[id]/page.tsx b/src/app/admin/(dashboard)/desa/potensi/kategori-potensi/[id]/page.tsx index 16d0d951..c92b307c 100644 --- a/src/app/admin/(dashboard)/desa/potensi/kategori-potensi/[id]/page.tsx +++ b/src/app/admin/(dashboard)/desa/potensi/kategori-potensi/[id]/page.tsx @@ -9,8 +9,7 @@ import { Paper, Stack, TextInput, - Title, - Tooltip + Title } from '@mantine/core'; import { IconArrowBack } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; @@ -76,7 +75,6 @@ function EditKategoriPotensi() { return ( - - Edit Kategori Potensi diff --git a/src/app/admin/(dashboard)/desa/potensi/kategori-potensi/create/page.tsx b/src/app/admin/(dashboard)/desa/potensi/kategori-potensi/create/page.tsx index 68f63d0a..19903663 100644 --- a/src/app/admin/(dashboard)/desa/potensi/kategori-potensi/create/page.tsx +++ b/src/app/admin/(dashboard)/desa/potensi/kategori-potensi/create/page.tsx @@ -8,8 +8,7 @@ import { Paper, Stack, TextInput, - Title, - Tooltip + Title } from '@mantine/core'; import { IconArrowBack } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; @@ -35,7 +34,6 @@ function CreateKategoriPotensi() { {/* Header dengan back button */} - - Tambah Kategori Potensi diff --git a/src/app/admin/(dashboard)/desa/potensi/kategori-potensi/page.tsx b/src/app/admin/(dashboard)/desa/potensi/kategori-potensi/page.tsx index 3d408f8f..55e51247 100644 --- a/src/app/admin/(dashboard)/desa/potensi/kategori-potensi/page.tsx +++ b/src/app/admin/(dashboard)/desa/potensi/kategori-potensi/page.tsx @@ -1,14 +1,14 @@ /* eslint-disable react-hooks/exhaustive-deps */ 'use client' import colors from '@/con/colors'; -import { Box, Button, Center, Paper, Skeleton, Stack, Table, TableTbody, TableTd, TableTh, TableThead, TableTr, Text, Title, Tooltip, Pagination, Group } from '@mantine/core'; -import { IconEdit, IconSearch, IconTrash, IconPlus } from '@tabler/icons-react'; +import { Box, Button, Center, Group, Pagination, Paper, Skeleton, Stack, Table, TableTbody, TableTd, TableTh, TableThead, TableTr, Text, Title } from '@mantine/core'; +import { IconEdit, IconPlus, IconSearch, IconTrash } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; import { useEffect, useState } from 'react'; import { useProxy } from 'valtio/utils'; import HeaderSearch from '../../../_com/header'; -import potensiDesaState from '../../../_state/desa/potensi'; import { ModalKonfirmasiHapus } from '../../../_com/modalKonfirmasiHapus'; +import potensiDesaState from '../../../_state/desa/potensi'; function KategoriPotensi() { const [search, setSearch] = useState(''); @@ -62,7 +62,6 @@ function ListKategoriPotensi({ search }: { search: string }) { List Kategori Potensi - - diff --git a/src/app/admin/(dashboard)/desa/potensi/list-potensi/[id]/edit/page.tsx b/src/app/admin/(dashboard)/desa/potensi/list-potensi/[id]/edit/page.tsx index 68a453b3..301133e9 100644 --- a/src/app/admin/(dashboard)/desa/potensi/list-potensi/[id]/edit/page.tsx +++ b/src/app/admin/(dashboard)/desa/potensi/list-potensi/[id]/edit/page.tsx @@ -15,8 +15,7 @@ import { Stack, Text, TextInput, - Title, - Tooltip, + Title } from "@mantine/core"; import { Dropzone } from "@mantine/dropzone"; import { IconArrowBack, IconPhoto, IconUpload, IconX } from "@tabler/icons-react"; @@ -122,7 +121,6 @@ function EditPotensi() { return ( - - Edit Potensi Desa diff --git a/src/app/admin/(dashboard)/desa/potensi/list-potensi/[id]/page.tsx b/src/app/admin/(dashboard)/desa/potensi/list-potensi/[id]/page.tsx index 73531d4e..b2e5cf17 100644 --- a/src/app/admin/(dashboard)/desa/potensi/list-potensi/[id]/page.tsx +++ b/src/app/admin/(dashboard)/desa/potensi/list-potensi/[id]/page.tsx @@ -1,13 +1,13 @@ 'use client' -import colors from '@/con/colors'; -import { Box, Button, Group, Image, Paper, Skeleton, Stack, Text, Tooltip } from '@mantine/core'; -import { IconArrowBack, IconEdit, IconTrash } from '@tabler/icons-react'; -import { useRouter, useParams } from 'next/navigation'; -import { useState } from 'react'; -import { useProxy } from 'valtio/utils'; -import { useShallowEffect } from '@mantine/hooks'; import { ModalKonfirmasiHapus } from '@/app/admin/(dashboard)/_com/modalKonfirmasiHapus'; import potensiDesaState from '@/app/admin/(dashboard)/_state/desa/potensi'; +import colors from '@/con/colors'; +import { Box, Button, Group, Image, Paper, Skeleton, Stack, Text } from '@mantine/core'; +import { useShallowEffect } from '@mantine/hooks'; +import { IconArrowBack, IconEdit, IconTrash } from '@tabler/icons-react'; +import { useParams, useRouter } from 'next/navigation'; +import { useState } from 'react'; +import { useProxy } from 'valtio/utils'; export default function DetailPotensi() { const router = useRouter(); @@ -108,7 +108,6 @@ export default function DetailPotensi() { - - - - diff --git a/src/app/admin/(dashboard)/desa/potensi/list-potensi/create/page.tsx b/src/app/admin/(dashboard)/desa/potensi/list-potensi/create/page.tsx index 6eeb29b4..ebc0879d 100644 --- a/src/app/admin/(dashboard)/desa/potensi/list-potensi/create/page.tsx +++ b/src/app/admin/(dashboard)/desa/potensi/list-potensi/create/page.tsx @@ -14,8 +14,7 @@ import { Stack, Text, TextInput, - Title, - Tooltip, + Title } from '@mantine/core'; import { Dropzone } from '@mantine/dropzone'; import { IconArrowBack, IconPhoto, IconUpload, IconX } from '@tabler/icons-react'; @@ -72,11 +71,9 @@ function CreatePotensi() { {/* Header */} - - Tambah Potensi Desa diff --git a/src/app/admin/(dashboard)/desa/potensi/list-potensi/page.tsx b/src/app/admin/(dashboard)/desa/potensi/list-potensi/page.tsx index 0599c55b..9ee2259b 100644 --- a/src/app/admin/(dashboard)/desa/potensi/list-potensi/page.tsx +++ b/src/app/admin/(dashboard)/desa/potensi/list-potensi/page.tsx @@ -18,8 +18,7 @@ import { TableThead, TableTr, Text, - Title, - Tooltip + Title } from '@mantine/core'; import { IconDeviceImacCog, IconPlus, IconSearch } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; @@ -76,7 +75,6 @@ function ListPotensi({ search }: { search: string }) { Daftar Potensi Desa - -
diff --git a/src/app/admin/(dashboard)/desa/profile/_lib/layoutTabsDetail.tsx b/src/app/admin/(dashboard)/desa/profile/_lib/layoutTabsDetail.tsx index 7554a1c8..25771ec3 100644 --- a/src/app/admin/(dashboard)/desa/profile/_lib/layoutTabsDetail.tsx +++ b/src/app/admin/(dashboard)/desa/profile/_lib/layoutTabsDetail.tsx @@ -1,10 +1,10 @@ /* eslint-disable react-hooks/exhaustive-deps */ 'use client' import colors from '@/con/colors'; -import { ScrollArea, Stack, Tabs, TabsList, TabsPanel, TabsTab, Title, Tooltip } from '@mantine/core'; +import { ScrollArea, Stack, Tabs, TabsList, TabsPanel, TabsTab, Title } from '@mantine/core'; +import { IconCalendar, IconUser, IconUsers } from '@tabler/icons-react'; import { usePathname, useRouter } from 'next/navigation'; import React, { useEffect, useState } from 'react'; -import { IconUser, IconUsers, IconCalendar } from '@tabler/icons-react'; function LayoutTabsDetail({ children }: { children: React.ReactNode }) { const router = useRouter() @@ -14,22 +14,19 @@ function LayoutTabsDetail({ children }: { children: React.ReactNode }) { label: "Profile Desa", value: "profiledesa", href: "/admin/desa/profile/profile-desa", - icon: , - tooltip: "Lihat dan kelola profil desa" + icon: }, { label: "Profile Perbekel", value: "profileperbekel", href: "/admin/desa/profile/profile-perbekel", - icon: , - tooltip: "Kelola data Perbekel" + icon: }, { label: "Profile Perbekel Dari Masa Ke Masa", value: "profile-perbekel-dari-masa-ke-masa", href: "/admin/desa/profile/profile-perbekel-dari-masa-ke-masa", - icon: , - tooltip: "Riwayat Perbekel dari masa ke masa" + icon: } ]; @@ -76,42 +73,41 @@ function LayoutTabsDetail({ children }: { children: React.ReactNode }) { paddingInline: "0.5rem", // ✅ biar nggak nempel ke tepi }} > - {tabs.map((tab, i) => ( - - - {tab.label} - - - ))} - - - {tabs.map((tab, i) => ( - - {/* Konten dummy, bisa diganti sesuai routing */} - <>{children} - + {tab.label} + ))} - - - ); + + + + {tabs.map((tab, i) => ( + + {/* Konten dummy, bisa diganti sesuai routing */} + <>{children} + + ))} + + + ); } - export default LayoutTabsDetail; +export default LayoutTabsDetail; diff --git a/src/app/admin/(dashboard)/desa/profile/profile-desa/[id]/lambang_desa/page.tsx b/src/app/admin/(dashboard)/desa/profile/profile-desa/[id]/lambang_desa/page.tsx index 03660631..4aec56e8 100644 --- a/src/app/admin/(dashboard)/desa/profile/profile-desa/[id]/lambang_desa/page.tsx +++ b/src/app/admin/(dashboard)/desa/profile/profile-desa/[id]/lambang_desa/page.tsx @@ -3,7 +3,7 @@ import EditEditor from '@/app/admin/(dashboard)/_com/editEditor'; import stateProfileDesa from '@/app/admin/(dashboard)/_state/desa/profile'; import colors from '@/con/colors'; -import { Alert, Box, Button, Center, Group, Paper, Stack, Text, TextInput, Title, Tooltip } from '@mantine/core'; +import { Alert, Box, Button, Center, Group, Paper, Stack, Text, TextInput, Title } from '@mantine/core'; import { IconAlertCircle, IconArrowBack } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; import { useEffect, useState } from 'react'; @@ -99,11 +99,9 @@ function Page() { - - - + Edit Lambang Desa diff --git a/src/app/admin/(dashboard)/desa/profile/profile-desa/[id]/maskot_desa/page.tsx b/src/app/admin/(dashboard)/desa/profile/profile-desa/[id]/maskot_desa/page.tsx index 8ead63e3..92829667 100644 --- a/src/app/admin/(dashboard)/desa/profile/profile-desa/[id]/maskot_desa/page.tsx +++ b/src/app/admin/(dashboard)/desa/profile/profile-desa/[id]/maskot_desa/page.tsx @@ -5,9 +5,9 @@ import EditEditor from '@/app/admin/(dashboard)/_com/editEditor'; import stateProfileDesa from '@/app/admin/(dashboard)/_state/desa/profile'; import colors from '@/con/colors'; import ApiFetch from '@/lib/api-fetch'; -import { Box, Button, Group, Image, Paper, SimpleGrid, Stack, Text, TextInput, Title, Tooltip, Center, Alert } from '@mantine/core'; +import { Alert, Box, Button, Center, Group, Image, Paper, SimpleGrid, Stack, Text, TextInput, Title } from '@mantine/core'; import { Dropzone } from '@mantine/dropzone'; -import { IconArrowBack, IconPhoto, IconUpload, IconX, IconAlertCircle } from '@tabler/icons-react'; +import { IconAlertCircle, IconArrowBack, IconPhoto, IconUpload, IconX } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; import { useEffect, useState } from 'react'; import { toast } from 'react-toastify'; @@ -161,11 +161,9 @@ function Page() { - - Edit Maskot Desa diff --git a/src/app/admin/(dashboard)/desa/profile/profile-desa/[id]/sejarah_desa/page.tsx b/src/app/admin/(dashboard)/desa/profile/profile-desa/[id]/sejarah_desa/page.tsx index c941dd4f..c30ad4d8 100644 --- a/src/app/admin/(dashboard)/desa/profile/profile-desa/[id]/sejarah_desa/page.tsx +++ b/src/app/admin/(dashboard)/desa/profile/profile-desa/[id]/sejarah_desa/page.tsx @@ -3,7 +3,7 @@ import EditEditor from '@/app/admin/(dashboard)/_com/editEditor'; import stateProfileDesa from '@/app/admin/(dashboard)/_state/desa/profile'; import colors from '@/con/colors'; -import { Alert, Box, Button, Center, Group, Paper, Stack, Text, TextInput, Title, Tooltip } from '@mantine/core'; +import { Alert, Box, Button, Center, Group, Paper, Stack, Text, TextInput, Title } from '@mantine/core'; import { IconAlertCircle, IconArrowBack } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; import { useEffect, useState } from 'react'; @@ -100,11 +100,9 @@ function Page() { - - - + Edit Sejarah Desa diff --git a/src/app/admin/(dashboard)/desa/profile/profile-desa/[id]/visi_misi_desa/page.tsx b/src/app/admin/(dashboard)/desa/profile/profile-desa/[id]/visi_misi_desa/page.tsx index 0a06bc88..481105ad 100644 --- a/src/app/admin/(dashboard)/desa/profile/profile-desa/[id]/visi_misi_desa/page.tsx +++ b/src/app/admin/(dashboard)/desa/profile/profile-desa/[id]/visi_misi_desa/page.tsx @@ -3,7 +3,7 @@ import EditEditor from '@/app/admin/(dashboard)/_com/editEditor'; import stateProfileDesa from '@/app/admin/(dashboard)/_state/desa/profile'; import colors from '@/con/colors'; -import { Alert, Box, Button, Center, Group, Paper, Stack, Text, Title, Tooltip } from '@mantine/core'; +import { Alert, Box, Button, Center, Group, Paper, Stack, Text, Title } from '@mantine/core'; import { IconAlertCircle, IconArrowBack } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; import { useEffect, useState } from 'react'; @@ -100,11 +100,11 @@ function Page() { - + - + Edit Visi Misi Desa diff --git a/src/app/admin/(dashboard)/desa/profile/profile-desa/page.tsx b/src/app/admin/(dashboard)/desa/profile/profile-desa/page.tsx index 0dee1b80..14a4fd5b 100644 --- a/src/app/admin/(dashboard)/desa/profile/profile-desa/page.tsx +++ b/src/app/admin/(dashboard)/desa/profile/profile-desa/page.tsx @@ -1,12 +1,12 @@ 'use client' import colors from '@/con/colors'; -import { Box, Button, Card, Center, Divider, Grid, GridCol, Image, Paper, SimpleGrid, Stack, Text, Title, Tooltip } from '@mantine/core'; -import { useSnapshot } from 'valtio'; -import stateProfileDesa from '../../../_state/desa/profile'; -import { useEffect } from 'react'; +import { Box, Button, Card, Center, Divider, Grid, GridCol, Image, Paper, SimpleGrid, Stack, Text, Title } from '@mantine/core'; import { IconEdit } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; +import { useEffect } from 'react'; +import { useSnapshot } from 'valtio'; +import stateProfileDesa from '../../../_state/desa/profile'; function Page() { const router = useRouter(); @@ -37,7 +37,6 @@ function Page() { Preview Sejarah Desa - - @@ -84,7 +82,6 @@ function Page() { Preview Visi Misi Desa - - @@ -134,7 +130,6 @@ function Page() { Preview Lambang Desa - - @@ -181,7 +175,6 @@ function Page() { Preview Maskot Desa - - diff --git a/src/app/admin/(dashboard)/desa/profile/profile-perbekel-dari-masa-ke-masa/[id]/edit/page.tsx b/src/app/admin/(dashboard)/desa/profile/profile-perbekel-dari-masa-ke-masa/[id]/edit/page.tsx index 56f2c2e2..fda2ae79 100644 --- a/src/app/admin/(dashboard)/desa/profile/profile-perbekel-dari-masa-ke-masa/[id]/edit/page.tsx +++ b/src/app/admin/(dashboard)/desa/profile/profile-perbekel-dari-masa-ke-masa/[id]/edit/page.tsx @@ -12,8 +12,7 @@ import { Stack, Text, TextInput, - Title, - Tooltip + Title } from '@mantine/core'; import { Dropzone } from '@mantine/dropzone'; import { IconArrowBack, IconPhoto, IconUpload, IconX } from '@tabler/icons-react'; @@ -97,11 +96,9 @@ function EditPerbekelDariMasaKeMasa() { return ( - - Edit Perbekel Dari Masa Ke Masa diff --git a/src/app/admin/(dashboard)/desa/profile/profile-perbekel-dari-masa-ke-masa/[id]/page.tsx b/src/app/admin/(dashboard)/desa/profile/profile-perbekel-dari-masa-ke-masa/[id]/page.tsx index 048d8494..8a63f508 100644 --- a/src/app/admin/(dashboard)/desa/profile/profile-perbekel-dari-masa-ke-masa/[id]/page.tsx +++ b/src/app/admin/(dashboard)/desa/profile/profile-perbekel-dari-masa-ke-masa/[id]/page.tsx @@ -2,7 +2,7 @@ import { ModalKonfirmasiHapus } from '@/app/admin/(dashboard)/_com/modalKonfirmasiHapus'; import stateProfileDesa from '@/app/admin/(dashboard)/_state/desa/profile'; import colors from '@/con/colors'; -import { Box, Button, Group, Image, Paper, Skeleton, Stack, Text, Tooltip } from '@mantine/core'; +import { Box, Button, Group, Image, Paper, Skeleton, Stack, Text } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconArrowBack, IconEdit, IconX } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; @@ -98,7 +98,6 @@ function DetailPerbekelDariMasa() { - - - - diff --git a/src/app/admin/(dashboard)/desa/profile/profile-perbekel-dari-masa-ke-masa/create/page.tsx b/src/app/admin/(dashboard)/desa/profile/profile-perbekel-dari-masa-ke-masa/create/page.tsx index d2c5ca5e..2f499e55 100644 --- a/src/app/admin/(dashboard)/desa/profile/profile-perbekel-dari-masa-ke-masa/create/page.tsx +++ b/src/app/admin/(dashboard)/desa/profile/profile-perbekel-dari-masa-ke-masa/create/page.tsx @@ -2,7 +2,7 @@ import stateProfileDesa from '@/app/admin/(dashboard)/_state/desa/profile'; import colors from '@/con/colors'; import ApiFetch from '@/lib/api-fetch'; -import { Box, Button, Group, Image, Paper, Stack, Text, TextInput, Title, Tooltip } from '@mantine/core'; +import { Box, Button, Group, Image, Paper, Stack, Text, TextInput, Title } from '@mantine/core'; import { Dropzone } from '@mantine/dropzone'; import { IconArrowBack, IconPhoto, IconUpload, IconX } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; @@ -50,11 +50,9 @@ function CreatePerbekelDariMasaKeMasa() { {/* Back button + Title */} - - Create Perbekel Dari Masa Ke Masa diff --git a/src/app/admin/(dashboard)/desa/profile/profile-perbekel-dari-masa-ke-masa/page.tsx b/src/app/admin/(dashboard)/desa/profile/profile-perbekel-dari-masa-ke-masa/page.tsx index 6957d8f5..aaaac6d3 100644 --- a/src/app/admin/(dashboard)/desa/profile/profile-perbekel-dari-masa-ke-masa/page.tsx +++ b/src/app/admin/(dashboard)/desa/profile/profile-perbekel-dari-masa-ke-masa/page.tsx @@ -1,6 +1,6 @@ 'use client' import colors from '@/con/colors'; -import { Box, Button, Center, Group, Pagination, Paper, Skeleton, Stack, Table, TableTbody, TableTd, TableTh, TableThead, TableTr, Text, Title, Tooltip } from '@mantine/core'; +import { Box, Button, Center, Group, Pagination, Paper, Skeleton, Stack, Table, TableTbody, TableTd, TableTh, TableThead, TableTr, Text, Title } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconDeviceImacCog, IconPlus, IconSearch } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; @@ -49,7 +49,6 @@ function ListPerbekelDariMasaKeMasa({ search }: { search: string }) { List Perbekel Dari Masa Ke Masa - - diff --git a/src/app/admin/(dashboard)/desa/profile/profile-perbekel/[id]/page.tsx b/src/app/admin/(dashboard)/desa/profile/profile-perbekel/[id]/page.tsx index 43eefc8a..771e3f37 100644 --- a/src/app/admin/(dashboard)/desa/profile/profile-perbekel/[id]/page.tsx +++ b/src/app/admin/(dashboard)/desa/profile/profile-perbekel/[id]/page.tsx @@ -4,9 +4,9 @@ import EditEditor from '@/app/admin/(dashboard)/_com/editEditor'; import stateProfileDesa from '@/app/admin/(dashboard)/_state/desa/profile'; import colors from '@/con/colors'; import ApiFetch from '@/lib/api-fetch'; -import { Box, Button, Center, Group, Image, Paper, Stack, Text, Title, Tooltip } from '@mantine/core'; +import { Box, Button, Center, Group, Image, Paper, Stack, Text, Title } from '@mantine/core'; import { Dropzone } from '@mantine/dropzone'; -import { IconArrowBack, IconPhoto, IconUpload, IconX, IconImageInPicture } from '@tabler/icons-react'; +import { IconArrowBack, IconImageInPicture, IconPhoto, IconUpload, IconX } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; import { useEffect, useState } from 'react'; import { toast } from 'react-toastify'; @@ -101,11 +101,9 @@ function ProfilePerbekel() { {/* Header */} - - Edit Profil Perbekel diff --git a/src/app/admin/(dashboard)/desa/profile/profile-perbekel/page.tsx b/src/app/admin/(dashboard)/desa/profile/profile-perbekel/page.tsx index 73da958e..2d2ddf4a 100644 --- a/src/app/admin/(dashboard)/desa/profile/profile-perbekel/page.tsx +++ b/src/app/admin/(dashboard)/desa/profile/profile-perbekel/page.tsx @@ -1,7 +1,7 @@ 'use client' import colors from '@/con/colors'; -import { Box, Button, Center, Divider, Grid, GridCol, Image, Paper, Skeleton, Stack, Text, Title, Tooltip } from '@mantine/core'; +import { Box, Button, Center, Divider, Grid, GridCol, Image, Paper, Skeleton, Stack, Text, Title } from '@mantine/core'; import { IconEdit } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; import { useEffect } from 'react'; @@ -36,7 +36,6 @@ function Page() { Preview Profil PPID - - diff --git a/src/app/admin/(dashboard)/ekonomi/pasar-desa/_lib/layoutTabs.tsx b/src/app/admin/(dashboard)/ekonomi/pasar-desa/_lib/layoutTabs.tsx index 6c4e5e2e..98809ce9 100644 --- a/src/app/admin/(dashboard)/ekonomi/pasar-desa/_lib/layoutTabs.tsx +++ b/src/app/admin/(dashboard)/ekonomi/pasar-desa/_lib/layoutTabs.tsx @@ -24,8 +24,7 @@ function LayoutTabs({ children }: { children: React.ReactNode }) { label: "Produk Pasar Desa", value: "produkpasardesa", href: "/admin/ekonomi/pasar-desa/produk-pasar-desa", - icon: , - tooltip: "Kelola data produk yang ada di pasar desa", + icon: }, { label: "Kategori Produk", diff --git a/src/app/admin/(dashboard)/keamanan/keamanan-lingkungan-pecalang-patwal/[id]/edit/page.tsx b/src/app/admin/(dashboard)/keamanan/keamanan-lingkungan-pecalang-patwal/[id]/edit/page.tsx index c1a7d88e..af3209fd 100644 --- a/src/app/admin/(dashboard)/keamanan/keamanan-lingkungan-pecalang-patwal/[id]/edit/page.tsx +++ b/src/app/admin/(dashboard)/keamanan/keamanan-lingkungan-pecalang-patwal/[id]/edit/page.tsx @@ -10,8 +10,7 @@ import { Stack, Text, TextInput, - Title, - Tooltip, + Title } from "@mantine/core"; import { IconArrowBack, @@ -116,16 +115,14 @@ function EditKeamananLingkungan() { {/* Header */} - - - + Edit Keamanan Lingkungan diff --git a/src/app/admin/(dashboard)/keamanan/keamanan-lingkungan-pecalang-patwal/[id]/page.tsx b/src/app/admin/(dashboard)/keamanan/keamanan-lingkungan-pecalang-patwal/[id]/page.tsx index 1ce73db9..55b8629b 100644 --- a/src/app/admin/(dashboard)/keamanan/keamanan-lingkungan-pecalang-patwal/[id]/page.tsx +++ b/src/app/admin/(dashboard)/keamanan/keamanan-lingkungan-pecalang-patwal/[id]/page.tsx @@ -1,7 +1,7 @@ 'use client' import { useProxy } from 'valtio/utils'; -import { Box, Button, Group, Image, Paper, Skeleton, Stack, Text, Tooltip } from '@mantine/core'; +import { Box, Button, Group, Image, Paper, Skeleton, Stack, Text } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconArrowBack, IconEdit, IconTrash } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; @@ -93,36 +93,32 @@ function DetailKeamananLingkungan() { {/* Aksi */} - - - + - - - + diff --git a/src/app/admin/(dashboard)/keamanan/keamanan-lingkungan-pecalang-patwal/create/page.tsx b/src/app/admin/(dashboard)/keamanan/keamanan-lingkungan-pecalang-patwal/create/page.tsx index 4ff05394..e5d799d7 100644 --- a/src/app/admin/(dashboard)/keamanan/keamanan-lingkungan-pecalang-patwal/create/page.tsx +++ b/src/app/admin/(dashboard)/keamanan/keamanan-lingkungan-pecalang-patwal/create/page.tsx @@ -10,8 +10,7 @@ import { Stack, Text, TextInput, - Title, - Tooltip, + Title } from '@mantine/core'; import { Dropzone } from '@mantine/dropzone'; import { @@ -71,16 +70,14 @@ function CreateKeamananLingkungan() { {/* Header */} - - - + Tambah Data Keamanan Lingkungan diff --git a/src/app/admin/(dashboard)/keamanan/keamanan-lingkungan-pecalang-patwal/page.tsx b/src/app/admin/(dashboard)/keamanan/keamanan-lingkungan-pecalang-patwal/page.tsx index 8fde1a33..e9791329 100644 --- a/src/app/admin/(dashboard)/keamanan/keamanan-lingkungan-pecalang-patwal/page.tsx +++ b/src/app/admin/(dashboard)/keamanan/keamanan-lingkungan-pecalang-patwal/page.tsx @@ -16,8 +16,7 @@ import { TableThead, TableTr, Text, - Title, - Tooltip, + Title } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconDeviceImacCog, IconPlus, IconSearch } from '@tabler/icons-react'; @@ -78,18 +77,16 @@ function ListKeamananLingkungan({ search }: { search: string }) { {/* Judul + Tombol Tambah */} Daftar Keamanan Lingkungan - - - + {/* Tabel */} diff --git a/src/app/admin/(dashboard)/keamanan/kontak-darurat/_lib/layoutTabs.tsx b/src/app/admin/(dashboard)/keamanan/kontak-darurat/_lib/layoutTabs.tsx index 17c298f4..fe7c756e 100644 --- a/src/app/admin/(dashboard)/keamanan/kontak-darurat/_lib/layoutTabs.tsx +++ b/src/app/admin/(dashboard)/keamanan/kontak-darurat/_lib/layoutTabs.tsx @@ -1,7 +1,7 @@ /* eslint-disable react-hooks/exhaustive-deps */ 'use client' import colors from '@/con/colors'; -import { ScrollArea, Stack, Tabs, TabsList, TabsPanel, TabsTab, Title, Tooltip } from '@mantine/core'; +import { ScrollArea, Stack, Tabs, TabsList, TabsPanel, TabsTab, Title } from '@mantine/core'; import { IconPhone, IconTag } from '@tabler/icons-react'; import { usePathname, useRouter } from 'next/navigation'; import React, { useEffect, useState } from 'react'; @@ -15,15 +15,13 @@ function LayoutTabs({ children }: { children: React.ReactNode }) { label: "Kontak Darurat Keamanan", value: "kontak-darurat-keamanan", href: "/admin/keamanan/kontak-darurat/kontak-darurat-keamanan", - icon: , - tooltip: "Lihat dan kelola kontak darurat keamanan", + icon: }, { label: "Kontak Darurat Item", value: "kontak-darurat-item", href: "/admin/keamanan/kontak-darurat/kontak-darurat-item", - icon: , - tooltip: "Kelola data kontak darurat item", + icon: } ]; @@ -73,19 +71,18 @@ function LayoutTabs({ children }: { children: React.ReactNode }) { }} > {tabs.map((tab, i) => ( - - - {tab.label} - - + + {tab.label} + ))} diff --git a/src/app/admin/(dashboard)/keamanan/kontak-darurat/kontak-darurat-item/[id]/edit/page.tsx b/src/app/admin/(dashboard)/keamanan/kontak-darurat/kontak-darurat-item/[id]/edit/page.tsx index 270ff1b4..79f0da80 100644 --- a/src/app/admin/(dashboard)/keamanan/kontak-darurat/kontak-darurat-item/[id]/edit/page.tsx +++ b/src/app/admin/(dashboard)/keamanan/kontak-darurat/kontak-darurat-item/[id]/edit/page.tsx @@ -12,8 +12,7 @@ import { Stack, Text, TextInput, - Title, - Tooltip, + Title } from '@mantine/core'; import { IconArrowBack } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; @@ -86,11 +85,9 @@ function EditKontakItem() { {/* Header */} - - - + Edit Kontak Darurat Item diff --git a/src/app/admin/(dashboard)/keamanan/kontak-darurat/kontak-darurat-item/[id]/page.tsx b/src/app/admin/(dashboard)/keamanan/kontak-darurat/kontak-darurat-item/[id]/page.tsx index 93c858cd..5ca14f61 100644 --- a/src/app/admin/(dashboard)/keamanan/kontak-darurat/kontak-darurat-item/[id]/page.tsx +++ b/src/app/admin/(dashboard)/keamanan/kontak-darurat/kontak-darurat-item/[id]/page.tsx @@ -3,7 +3,7 @@ import { IconKey, IconMapper } from '@/app/admin/(dashboard)/_com/iconMap'; import { ModalKonfirmasiHapus } from '@/app/admin/(dashboard)/_com/modalKonfirmasiHapus'; import kontakDarurat from '@/app/admin/(dashboard)/_state/keamanan/kontak-darurat-keamanan'; import colors from '@/con/colors'; -import { Box, Button, Group, Paper, Skeleton, Stack, Text, Tooltip } from '@mantine/core'; +import { Box, Button, Group, Paper, Skeleton, Stack, Text } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconArrowBack, IconEdit, IconTrash } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; @@ -92,32 +92,28 @@ function DetailKontakDarurat() { {/* Aksi */} - - - + - - - + diff --git a/src/app/admin/(dashboard)/keamanan/kontak-darurat/kontak-darurat-item/create/page.tsx b/src/app/admin/(dashboard)/keamanan/kontak-darurat/kontak-darurat-item/create/page.tsx index 3b962470..b4cc93f5 100644 --- a/src/app/admin/(dashboard)/keamanan/kontak-darurat/kontak-darurat-item/create/page.tsx +++ b/src/app/admin/(dashboard)/keamanan/kontak-darurat/kontak-darurat-item/create/page.tsx @@ -10,8 +10,7 @@ import { Stack, Text, TextInput, - Title, - Tooltip + Title } from '@mantine/core'; import { IconArrowBack } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; @@ -38,16 +37,14 @@ function CreateKontakItem() { {/* Header */} - - - + Tambah Kontak Darurat Item diff --git a/src/app/admin/(dashboard)/keamanan/kontak-darurat/kontak-darurat-item/page.tsx b/src/app/admin/(dashboard)/keamanan/kontak-darurat/kontak-darurat-item/page.tsx index dab73629..52f19b7c 100644 --- a/src/app/admin/(dashboard)/keamanan/kontak-darurat/kontak-darurat-item/page.tsx +++ b/src/app/admin/(dashboard)/keamanan/kontak-darurat/kontak-darurat-item/page.tsx @@ -16,8 +16,7 @@ import { TableThead, TableTr, Text, - Title, - Tooltip, + Title } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconDeviceImacCog, IconPlus, IconSearch } from '@tabler/icons-react'; @@ -79,16 +78,14 @@ function ListKontakItem({ search }: { search: string }) { {/* Judul + Tombol Tambah */} Daftar Kontak Darurat Item - - - + {/* Tabel */} diff --git a/src/app/admin/(dashboard)/keamanan/kontak-darurat/kontak-darurat-keamanan/[id]/edit/page.tsx b/src/app/admin/(dashboard)/keamanan/kontak-darurat/kontak-darurat-keamanan/[id]/edit/page.tsx index 7492194c..a522c3c7 100644 --- a/src/app/admin/(dashboard)/keamanan/kontak-darurat/kontak-darurat-keamanan/[id]/edit/page.tsx +++ b/src/app/admin/(dashboard)/keamanan/kontak-darurat/kontak-darurat-keamanan/[id]/edit/page.tsx @@ -14,8 +14,7 @@ import { Stack, Text, TextInput, - Title, - Tooltip, + Title } from "@mantine/core"; import { IconArrowBack } from "@tabler/icons-react"; import { useParams, useRouter } from "next/navigation"; @@ -42,7 +41,7 @@ function EditKontakDaruratKeamanan() { try { setIsLoading(true); await kontakDarurat.kontakDaruratItem.findMany.load(); - + const id = params?.id as string; if (id) { const data = await kontakState.update.load(id); @@ -88,16 +87,14 @@ function EditKontakDaruratKeamanan() { {/* Header */} - - - + Edit Kontak Darurat Keamanan diff --git a/src/app/admin/(dashboard)/keamanan/kontak-darurat/kontak-darurat-keamanan/[id]/page.tsx b/src/app/admin/(dashboard)/keamanan/kontak-darurat/kontak-darurat-keamanan/[id]/page.tsx index c25192d5..10fb1461 100644 --- a/src/app/admin/(dashboard)/keamanan/kontak-darurat/kontak-darurat-keamanan/[id]/page.tsx +++ b/src/app/admin/(dashboard)/keamanan/kontak-darurat/kontak-darurat-keamanan/[id]/page.tsx @@ -3,7 +3,7 @@ import { IconKey, IconMapper } from '@/app/admin/(dashboard)/_com/iconMap'; import { ModalKonfirmasiHapus } from '@/app/admin/(dashboard)/_com/modalKonfirmasiHapus'; import kontakDarurat from '@/app/admin/(dashboard)/_state/keamanan/kontak-darurat-keamanan'; import colors from '@/con/colors'; -import { Box, Button, Group, Paper, Skeleton, Stack, Text, Tooltip } from '@mantine/core'; +import { Box, Button, Group, Paper, Skeleton, Stack, Text } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconArrowBack, IconEdit, IconTrash } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; @@ -108,32 +108,28 @@ function DetailKontakDaruratKeamanan() { {/* Aksi */} - - - + - - - + diff --git a/src/app/admin/(dashboard)/keamanan/kontak-darurat/kontak-darurat-keamanan/create/page.tsx b/src/app/admin/(dashboard)/keamanan/kontak-darurat/kontak-darurat-keamanan/create/page.tsx index afdbd448..3c4bc1ad 100644 --- a/src/app/admin/(dashboard)/keamanan/kontak-darurat/kontak-darurat-keamanan/create/page.tsx +++ b/src/app/admin/(dashboard)/keamanan/kontak-darurat/kontak-darurat-keamanan/create/page.tsx @@ -11,8 +11,7 @@ import { Stack, Text, TextInput, - Title, - Tooltip + Title } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconArrowBack } from '@tabler/icons-react'; @@ -45,16 +44,14 @@ function CreateKontakDaruratKeamanan() { {/* Header */} - - - + Tambah Kontak Darurat Keamanan diff --git a/src/app/admin/(dashboard)/keamanan/kontak-darurat/kontak-darurat-keamanan/page.tsx b/src/app/admin/(dashboard)/keamanan/kontak-darurat/kontak-darurat-keamanan/page.tsx index a5b6239e..cecb0841 100644 --- a/src/app/admin/(dashboard)/keamanan/kontak-darurat/kontak-darurat-keamanan/page.tsx +++ b/src/app/admin/(dashboard)/keamanan/kontak-darurat/kontak-darurat-keamanan/page.tsx @@ -16,8 +16,7 @@ import { TableThead, TableTr, Text, - Title, - Tooltip, + Title } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconDeviceImacCog, IconPlus, IconSearch } from '@tabler/icons-react'; @@ -79,16 +78,14 @@ function ListKontakDaruratKeamanan({ search }: { search: string }) { {/* Judul + Tombol Tambah */} Daftar Kontak Darurat Keamanan - - - + {/* Tabel */} diff --git a/src/app/admin/(dashboard)/keamanan/laporan-publik/[id]/edit/page.tsx b/src/app/admin/(dashboard)/keamanan/laporan-publik/[id]/edit/page.tsx index c01627df..c2772a32 100644 --- a/src/app/admin/(dashboard)/keamanan/laporan-publik/[id]/edit/page.tsx +++ b/src/app/admin/(dashboard)/keamanan/laporan-publik/[id]/edit/page.tsx @@ -12,8 +12,7 @@ import { Stack, Text, TextInput, - Title, - Tooltip, + Title } from '@mantine/core'; import { DateTimePicker } from '@mantine/dates'; import { IconArrowBack } from '@tabler/icons-react'; @@ -49,7 +48,7 @@ function EditLaporanPublik() { const loadLaporanPublik = async () => { const id = params?.id as string; if (!id) return; - + try { const data = await stateLaporan.edit.load(id); if (data) { @@ -67,11 +66,11 @@ function EditLaporanPublik() { toast.error("Gagal mengambil data laporan publik"); } }; - + loadLaporanPublik(); }, [params?.id]); - - + + const handleChange = (field: string, value: string | Status) => { setFormData((prev) => ({ ...prev, [field]: value })); @@ -97,11 +96,9 @@ function EditLaporanPublik() { {/* Header */} - - - + Edit Laporan Publik diff --git a/src/app/admin/(dashboard)/keamanan/laporan-publik/[id]/page.tsx b/src/app/admin/(dashboard)/keamanan/laporan-publik/[id]/page.tsx index b5f83ee9..2a6ac687 100644 --- a/src/app/admin/(dashboard)/keamanan/laporan-publik/[id]/page.tsx +++ b/src/app/admin/(dashboard)/keamanan/laporan-publik/[id]/page.tsx @@ -7,16 +7,15 @@ import { Paper, Skeleton, Stack, - Text, - Tooltip, + Text } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconArrowBack, IconEdit, IconTrash } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; -import { useProxy } from 'valtio/utils'; -import laporanPublikState from '../../../_state/keamanan/laporan-publik'; import { useState } from 'react'; +import { useProxy } from 'valtio/utils'; import { ModalKonfirmasiHapus } from '../../../_com/modalKonfirmasiHapus'; +import laporanPublikState from '../../../_state/keamanan/laporan-publik'; function DetailLaporanPublik() { const [modalHapus, setModalHapus] = useState(false); @@ -102,12 +101,12 @@ function DetailLaporanPublik() { padding: '4px 12px', borderRadius: '16px', backgroundColor: - data.status === 'Selesai' ? '#94EF95FF' : - data.status === 'Proses' ? '#F1D295FF' : + data.status === 'Selesai' ? '#94EF95FF' : + data.status === 'Proses' ? '#F1D295FF' : '#F38E8EFF', color: - data.status === 'Selesai' ? '#01BA01FF' : - data.status === 'Proses' ? '#B67A00FF' : + data.status === 'Selesai' ? '#01BA01FF' : + data.status === 'Proses' ? '#B67A00FF' : '#AE1700FF', fontWeight: 900, fontSize: '0.75rem', @@ -146,35 +145,31 @@ function DetailLaporanPublik() { {/* Tombol Aksi */} - - - + - - - + diff --git a/src/app/admin/(dashboard)/keamanan/laporan-publik/create/page.tsx b/src/app/admin/(dashboard)/keamanan/laporan-publik/create/page.tsx index 994af691..bbe1037a 100644 --- a/src/app/admin/(dashboard)/keamanan/laporan-publik/create/page.tsx +++ b/src/app/admin/(dashboard)/keamanan/laporan-publik/create/page.tsx @@ -8,8 +8,7 @@ import { Stack, Text, TextInput, - Title, - Tooltip + Title } from '@mantine/core'; import { DateTimePicker } from '@mantine/dates'; import { IconArrowBack } from '@tabler/icons-react'; @@ -42,11 +41,9 @@ function CreateLaporanPublik() { {/* Header with Back Button */} - - - + Tambah Laporan Publik diff --git a/src/app/admin/(dashboard)/keamanan/laporan-publik/page.tsx b/src/app/admin/(dashboard)/keamanan/laporan-publik/page.tsx index 68b5d055..e317592c 100644 --- a/src/app/admin/(dashboard)/keamanan/laporan-publik/page.tsx +++ b/src/app/admin/(dashboard)/keamanan/laporan-publik/page.tsx @@ -5,8 +5,8 @@ import { Button, Center, Group, - Paper, Pagination, + Paper, Skeleton, Stack, Table, @@ -16,16 +16,15 @@ import { TableThead, TableTr, Text, - Title, - Tooltip, + Title } from '@mantine/core'; -import { IconDeviceImac, IconPlus, IconSearch } from '@tabler/icons-react'; -import HeaderSearch from '../../_com/header'; -import { useRouter } from 'next/navigation'; -import { useProxy } from 'valtio/utils'; -import laporanPublikState from '../../_state/keamanan/laporan-publik'; import { useShallowEffect } from '@mantine/hooks'; +import { IconDeviceImac, IconPlus, IconSearch } from '@tabler/icons-react'; +import { useRouter } from 'next/navigation'; import { useState } from 'react'; +import { useProxy } from 'valtio/utils'; +import HeaderSearch from '../../_com/header'; +import laporanPublikState from '../../_state/keamanan/laporan-publik'; function LaporanPublik() { const [search, setSearch] = useState(""); @@ -74,16 +73,14 @@ function ListLaporanPublik({ search }: { search: string }) { Daftar Laporan Publik - - - +
diff --git a/src/app/admin/(dashboard)/keamanan/pencegahan-kriminalitas/[id]/edit/page.tsx b/src/app/admin/(dashboard)/keamanan/pencegahan-kriminalitas/[id]/edit/page.tsx index de2e39aa..44e9f527 100644 --- a/src/app/admin/(dashboard)/keamanan/pencegahan-kriminalitas/[id]/edit/page.tsx +++ b/src/app/admin/(dashboard)/keamanan/pencegahan-kriminalitas/[id]/edit/page.tsx @@ -12,8 +12,7 @@ import { Stack, Text, TextInput, - Title, - Tooltip, + Title } from '@mantine/core'; import { IconArrowBack } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; @@ -96,16 +95,14 @@ function EditPencegahanKriminalitas() { {/* Back button + Title */} - - - + Edit Pencegahan Kriminalitas diff --git a/src/app/admin/(dashboard)/keamanan/pencegahan-kriminalitas/[id]/page.tsx b/src/app/admin/(dashboard)/keamanan/pencegahan-kriminalitas/[id]/page.tsx index 46ffedf0..6dfdfcb0 100644 --- a/src/app/admin/(dashboard)/keamanan/pencegahan-kriminalitas/[id]/page.tsx +++ b/src/app/admin/(dashboard)/keamanan/pencegahan-kriminalitas/[id]/page.tsx @@ -1,10 +1,10 @@ 'use client' import colors from '@/con/colors'; -import { Box, Button, Flex, Paper, Skeleton, Stack, Text, Tooltip } from '@mantine/core'; -import { IconArrowBack, IconEdit, IconTrash } from '@tabler/icons-react'; -import { useRouter, useParams } from 'next/navigation'; -import { useState } from 'react'; +import { Box, Button, Flex, Paper, Skeleton, Stack, Text } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; +import { IconArrowBack, IconEdit, IconTrash } from '@tabler/icons-react'; +import { useParams, useRouter } from 'next/navigation'; +import { useState } from 'react'; import { useProxy } from 'valtio/utils'; import { ModalKonfirmasiHapus } from '../../../_com/modalKonfirmasiHapus'; import pencegahanKriminalitasState from '../../../_state/keamanan/pencegahan-kriminalitas'; @@ -108,32 +108,28 @@ function DetailPencegahanKriminalitas() { {/* Tombol Aksi */} - - - + - - - + diff --git a/src/app/admin/(dashboard)/keamanan/pencegahan-kriminalitas/create/page.tsx b/src/app/admin/(dashboard)/keamanan/pencegahan-kriminalitas/create/page.tsx index 89b189fc..39711915 100644 --- a/src/app/admin/(dashboard)/keamanan/pencegahan-kriminalitas/create/page.tsx +++ b/src/app/admin/(dashboard)/keamanan/pencegahan-kriminalitas/create/page.tsx @@ -9,17 +9,16 @@ import { Stack, Text, TextInput, - Title, - Tooltip, + Title } from '@mantine/core'; import { IconArrowBack } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; +import { useState } from 'react'; +import { toast } from 'react-toastify'; import { useProxy } from 'valtio/utils'; import CreateEditor from '../../../_com/createEditor'; import pencegahanKriminalitasState from '../../../_state/keamanan/pencegahan-kriminalitas'; -import { useState } from 'react'; import { convertYoutubeUrlToEmbed } from '../../../desa/gallery/lib/youtube-utils'; -import { toast } from 'react-toastify'; function CreatePencegahanKriminalitas() { const router = useRouter(); @@ -53,7 +52,6 @@ function CreatePencegahanKriminalitas() { {/* Header Back Button + Title */} - - Tambah Pencegahan Kriminalitas diff --git a/src/app/admin/(dashboard)/keamanan/pencegahan-kriminalitas/page.tsx b/src/app/admin/(dashboard)/keamanan/pencegahan-kriminalitas/page.tsx index be9eefc9..6bea17ac 100644 --- a/src/app/admin/(dashboard)/keamanan/pencegahan-kriminalitas/page.tsx +++ b/src/app/admin/(dashboard)/keamanan/pencegahan-kriminalitas/page.tsx @@ -16,16 +16,15 @@ import { TableThead, TableTr, Text, - Title, - Tooltip, + Title } from '@mantine/core'; -import { IconDeviceImacCog, IconPlus, IconSearch } from '@tabler/icons-react'; -import HeaderSearch from '../../_com/header'; -import { useRouter } from 'next/navigation'; -import { useProxy } from 'valtio/utils'; -import pencegahanKriminalitasState from '../../_state/keamanan/pencegahan-kriminalitas'; import { useShallowEffect } from '@mantine/hooks'; +import { IconDeviceImacCog, IconPlus, IconSearch } from '@tabler/icons-react'; +import { useRouter } from 'next/navigation'; import { useState } from 'react'; +import { useProxy } from 'valtio/utils'; +import HeaderSearch from '../../_com/header'; +import pencegahanKriminalitasState from '../../_state/keamanan/pencegahan-kriminalitas'; function PencegahanKriminalitas() { const [search, setSearch] = useState(""); @@ -77,16 +76,14 @@ function ListPencegahanKriminalitas({ search }: { search: string }) { {/* Judul + Tombol Tambah */} Daftar Pencegahan Kriminalitas - - - + {/* Tabel */} @@ -106,9 +103,9 @@ function ListPencegahanKriminalitas({ search }: { search: string }) { - - {item.judul} - + + {item.judul} + diff --git a/src/app/admin/(dashboard)/keamanan/polsek-terdekat/[id]/edit/page.tsx b/src/app/admin/(dashboard)/keamanan/polsek-terdekat/[id]/edit/page.tsx index bf826e3d..a07fbb11 100644 --- a/src/app/admin/(dashboard)/keamanan/polsek-terdekat/[id]/edit/page.tsx +++ b/src/app/admin/(dashboard)/keamanan/polsek-terdekat/[id]/edit/page.tsx @@ -2,6 +2,7 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ "use client"; +import polsekTerdekat from "@/app/admin/(dashboard)/_state/keamanan/polsek-terdekat"; import colors from "@/con/colors"; import { Box, @@ -14,15 +15,13 @@ import { Stack, Text, TextInput, - Title, - Tooltip, + Title } from "@mantine/core"; import { IconArrowBack } from "@tabler/icons-react"; import { useParams, useRouter } from "next/navigation"; -import { useProxy } from "valtio/utils"; import { useEffect, useState } from "react"; import { toast } from "react-toastify"; -import polsekTerdekat from "@/app/admin/(dashboard)/_state/keamanan/polsek-terdekat"; +import { useProxy } from "valtio/utils"; function EditPolsekTerdekat() { const polsekState = useProxy(polsekTerdekat); @@ -52,36 +51,36 @@ function EditPolsekTerdekat() { layananPolsekId: "", }); - // load data untuk form edit - useEffect(() => { - const loadPolsekTerdekat = async () => { - const id = params?.id as string; - if (!id) return; - - try { - const data = await polsekState.edit.load(id); - if (data) { - setFormData({ - nama: data.nama || "", - jarakKeDesa: data.jarakKeDesa || "", - alamat: data.alamat || "", - nomorTelepon: data.nomorTelepon || "", - jamOperasional: data.jamOperasional || "", - embedMapUrl: data.embedMapUrl || "", - namaTempatMaps: data.namaTempatMaps || "", - alamatMaps: data.alamatMaps || "", - linkPetunjukArah: data.linkPetunjukArah || "", - layananPolsekId: data.layananPolsekId || "", - }); - } - } catch (error) { - console.error("Error loading polsek terdekat:", error); - toast.error("Gagal memuat data polsek terdekat"); + // load data untuk form edit + useEffect(() => { + const loadPolsekTerdekat = async () => { + const id = params?.id as string; + if (!id) return; + + try { + const data = await polsekState.edit.load(id); + if (data) { + setFormData({ + nama: data.nama || "", + jarakKeDesa: data.jarakKeDesa || "", + alamat: data.alamat || "", + nomorTelepon: data.nomorTelepon || "", + jamOperasional: data.jamOperasional || "", + embedMapUrl: data.embedMapUrl || "", + namaTempatMaps: data.namaTempatMaps || "", + alamatMaps: data.alamatMaps || "", + linkPetunjukArah: data.linkPetunjukArah || "", + layananPolsekId: data.layananPolsekId || "", + }); } - }; - - loadPolsekTerdekat(); - }, [params?.id]); + } catch (error) { + console.error("Error loading polsek terdekat:", error); + toast.error("Gagal memuat data polsek terdekat"); + } + }; + + loadPolsekTerdekat(); + }, [params?.id]); const fetchLayanan = async () => { try { @@ -248,16 +247,14 @@ function EditPolsekTerdekat() { {/* Header */} - - - + Edit Polsek Terdekat diff --git a/src/app/admin/(dashboard)/keamanan/polsek-terdekat/[id]/page.tsx b/src/app/admin/(dashboard)/keamanan/polsek-terdekat/[id]/page.tsx index 8cc1ec2a..6cbd7aba 100644 --- a/src/app/admin/(dashboard)/keamanan/polsek-terdekat/[id]/page.tsx +++ b/src/app/admin/(dashboard)/keamanan/polsek-terdekat/[id]/page.tsx @@ -1,13 +1,13 @@ 'use client' import colors from '@/con/colors'; -import { Box, Button, Group, Paper, Skeleton, Stack, Text, Tooltip } from '@mantine/core'; +import { Box, Button, Group, Paper, Skeleton, Stack, Text } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconArrowBack, IconEdit, IconTrash } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; -import polsekTerdekat from '../../../_state/keamanan/polsek-terdekat'; import { useState } from 'react'; import { useProxy } from 'valtio/utils'; import { ModalKonfirmasiHapus } from '../../../_com/modalKonfirmasiHapus'; +import polsekTerdekat from '../../../_state/keamanan/polsek-terdekat'; function DetailPolsekTerdekat() { const router = useRouter(); @@ -157,32 +157,28 @@ function DetailPolsekTerdekat() { {/* Aksi */} - - - + - - - + diff --git a/src/app/admin/(dashboard)/keamanan/polsek-terdekat/create/page.tsx b/src/app/admin/(dashboard)/keamanan/polsek-terdekat/create/page.tsx index 1db2d012..7ffcab93 100644 --- a/src/app/admin/(dashboard)/keamanan/polsek-terdekat/create/page.tsx +++ b/src/app/admin/(dashboard)/keamanan/polsek-terdekat/create/page.tsx @@ -11,15 +11,14 @@ import { Stack, Text, TextInput, - Title, - Tooltip, + Title } from '@mantine/core'; import { IconArrowBack } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; -import { useProxy } from 'valtio/utils'; -import polsekTerdekat from '../../../_state/keamanan/polsek-terdekat'; import { useEffect, useState } from 'react'; import { toast } from 'react-toastify'; +import { useProxy } from 'valtio/utils'; +import polsekTerdekat from '../../../_state/keamanan/polsek-terdekat'; function CreatePolsekTerdekat() { const polsekState = useProxy(polsekTerdekat); @@ -122,16 +121,14 @@ function CreatePolsekTerdekat() { {/* Header */} - - - + Tambah Polsek Terdekat diff --git a/src/app/admin/(dashboard)/keamanan/polsek-terdekat/page.tsx b/src/app/admin/(dashboard)/keamanan/polsek-terdekat/page.tsx index 22aa1d19..721847d1 100644 --- a/src/app/admin/(dashboard)/keamanan/polsek-terdekat/page.tsx +++ b/src/app/admin/(dashboard)/keamanan/polsek-terdekat/page.tsx @@ -16,8 +16,7 @@ import { TableThead, TableTr, Text, - Title, - Tooltip, + Title } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconDeviceImac, IconPlus, IconSearch } from '@tabler/icons-react'; @@ -76,16 +75,14 @@ function ListPolsekTerdekat({ search }: { search: string }) { Daftar Polsek Terdekat - - - + @@ -110,11 +107,11 @@ function ListPolsekTerdekat({ search }: { search: string }) { {item.jarakKeDesa} - - + + {item.alamat} - - + + - + Edit Tips Keamanan diff --git a/src/app/admin/(dashboard)/keamanan/tips-keamanan/[id]/page.tsx b/src/app/admin/(dashboard)/keamanan/tips-keamanan/[id]/page.tsx index 61bb32c9..a241a76d 100644 --- a/src/app/admin/(dashboard)/keamanan/tips-keamanan/[id]/page.tsx +++ b/src/app/admin/(dashboard)/keamanan/tips-keamanan/[id]/page.tsx @@ -1,10 +1,10 @@ 'use client' -import { useProxy } from 'valtio/utils'; -import { Box, Button, Group, Image, Paper, Skeleton, Stack, Text, Tooltip } from '@mantine/core'; +import { Box, Button, Group, Image, Paper, Skeleton, Stack, Text } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconArrowBack, IconEdit, IconTrash } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; import { useState } from 'react'; +import { useProxy } from 'valtio/utils'; import colors from '@/con/colors'; import { ModalKonfirmasiHapus } from '../../../_com/modalKonfirmasiHapus'; @@ -99,33 +99,29 @@ function DetailTipsKeamanan() { - - - + - - - + diff --git a/src/app/admin/(dashboard)/keamanan/tips-keamanan/create/page.tsx b/src/app/admin/(dashboard)/keamanan/tips-keamanan/create/page.tsx index 6f82636a..13ecc9bb 100644 --- a/src/app/admin/(dashboard)/keamanan/tips-keamanan/create/page.tsx +++ b/src/app/admin/(dashboard)/keamanan/tips-keamanan/create/page.tsx @@ -10,8 +10,7 @@ import { Stack, Text, TextInput, - Title, - Tooltip, + Title } from '@mantine/core'; import { Dropzone } from '@mantine/dropzone'; import { IconArrowBack, IconPhoto, IconUpload, IconX } from '@tabler/icons-react'; @@ -66,11 +65,9 @@ function CreateKeamananLingkungan() { {/* Header Back + Title */} - - - + Tambah Tips Keamanan diff --git a/src/app/admin/(dashboard)/keamanan/tips-keamanan/page.tsx b/src/app/admin/(dashboard)/keamanan/tips-keamanan/page.tsx index 7305d94c..fe6aeef8 100644 --- a/src/app/admin/(dashboard)/keamanan/tips-keamanan/page.tsx +++ b/src/app/admin/(dashboard)/keamanan/tips-keamanan/page.tsx @@ -16,14 +16,13 @@ import { TableThead, TableTr, Text, - Title, - Tooltip, + Title } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconDeviceImac, IconPlus, IconSearch } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; -import { useProxy } from 'valtio/utils'; import { useState } from 'react'; +import { useProxy } from 'valtio/utils'; import HeaderSearch from '../../_com/header'; import tipsKeamananState from '../../_state/keamanan/tips-keamanan'; @@ -74,16 +73,14 @@ function ListTipsKeamanan({ search }: { search: string }) { Daftar Tips Keamanan - - - +
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 8bcb314a..0125ef2e 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 @@ -1,7 +1,7 @@ /* eslint-disable react-hooks/exhaustive-deps */ 'use client' import colors from '@/con/colors'; -import { ScrollArea, Stack, Tabs, TabsList, TabsPanel, TabsTab, Title, Tooltip } from '@mantine/core'; +import { ScrollArea, Stack, Tabs, TabsList, TabsPanel, TabsTab, Title } from '@mantine/core'; import { IconActivity, IconBuildingHospital, IconCalendarEvent, IconGauge, IconNotes } from '@tabler/icons-react'; import { usePathname, useRouter } from 'next/navigation'; import React, { useEffect, useState } from 'react'; @@ -17,36 +17,31 @@ function LayoutTabs({ children }: { children: React.ReactNode }) { label: "Presentase Kelahiran & Kematian", value: "presentasekelahiran&kematian", href: "/admin/kesehatan/data-kesehatan-warga/persentase_data_kelahiran_kematian", - icon: , - tooltip: "Lihat data kelahiran dan kematian" + icon: }, { label: "Grafik Hasil Kepuasan Masyarakat", value: "grafikhasilkepuasan", href: "/admin/kesehatan/data-kesehatan-warga/grafik_hasil_kepuasan", - icon: , - tooltip: "Grafik kepuasan masyarakat terhadap pelayanan" + icon: }, { label: "Fasilitas Kesehatan", value: "fasilitaskesehatan", href: "/admin/kesehatan/data-kesehatan-warga/fasilitas_kesehatan", - icon: , - tooltip: "Data fasilitas kesehatan desa" + icon: }, { label: "Jadwal Kegiatan", value: "jadwalkegiatan", href: "/admin/kesehatan/data-kesehatan-warga/jadwal_kegiatan", - icon: , - tooltip: "Atur jadwal kegiatan kesehatan" + icon: }, { label: "Artikel Kesehatan", value: "artikelkesehatan", href: "/admin/kesehatan/data-kesehatan-warga/artikel_kesehatan", - icon: , - tooltip: "Artikel & informasi seputar kesehatan" + icon: }, ]; @@ -100,46 +95,39 @@ function LayoutTabs({ children }: { children: React.ReactNode }) { }} > {tabs.map((tab, i) => ( - - - {tab.label} - - + {tab.label} + ))} - - + + - {tabs.map((tab, i) => ( - - {children} - - ))} - - + {tabs.map((tab, i) => ( + + {children} + + ))} + + ); } diff --git a/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/artikel_kesehatan/[id]/edit/page.tsx b/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/artikel_kesehatan/[id]/edit/page.tsx index 227c8c1f..3393a626 100644 --- a/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/artikel_kesehatan/[id]/edit/page.tsx +++ b/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/artikel_kesehatan/[id]/edit/page.tsx @@ -14,8 +14,7 @@ import { Stack, Text, TextInput, - Title, - Tooltip, + Title } from '@mantine/core'; import { Dropzone } from '@mantine/dropzone'; import { IconArrowBack, IconPhoto, IconUpload, IconX } from '@tabler/icons-react'; @@ -151,11 +150,9 @@ function EditArtikelKesehatan() { {/* Header */} - - - + Edit Artikel Kesehatan diff --git a/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/artikel_kesehatan/[id]/page.tsx b/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/artikel_kesehatan/[id]/page.tsx index e03b527f..10940912 100644 --- a/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/artikel_kesehatan/[id]/page.tsx +++ b/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/artikel_kesehatan/[id]/page.tsx @@ -10,8 +10,7 @@ import { Paper, Skeleton, Stack, - Text, - Tooltip, + Text } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconArrowBack, IconEdit, IconTrash } from '@tabler/icons-react'; @@ -158,36 +157,32 @@ function DetailArtikelKesehatan() { {/* Aksi */} - - - + - - - + diff --git a/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/artikel_kesehatan/create/page.tsx b/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/artikel_kesehatan/create/page.tsx index 7289cd05..62a2b28a 100644 --- a/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/artikel_kesehatan/create/page.tsx +++ b/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/artikel_kesehatan/create/page.tsx @@ -12,8 +12,7 @@ import { Stack, Text, TextInput, - Title, - Tooltip, + Title } from '@mantine/core'; import { Dropzone } from '@mantine/dropzone'; import { IconArrowBack, IconPhoto, IconUpload, IconX } from '@tabler/icons-react'; @@ -88,16 +87,14 @@ function CreateArtikelKesehatan() { {/* Header */} - - - + Tambah Artikel Kesehatan diff --git a/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/artikel_kesehatan/page.tsx b/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/artikel_kesehatan/page.tsx index 961c6630..16091d4a 100644 --- a/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/artikel_kesehatan/page.tsx +++ b/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/artikel_kesehatan/page.tsx @@ -16,8 +16,7 @@ import { TableThead, TableTr, Text, - Title, - Tooltip, + Title } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconDeviceImacCog, IconPlus, IconSearch } from '@tabler/icons-react'; @@ -72,16 +71,14 @@ function ListArtikelKesehatan({ search }: { search: string }) { {/* Judul + Tombol Tambah */} Daftar Artikel Kesehatan - - - + {/* Tabel */} diff --git a/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/fasilitas_kesehatan/[id]/edit/page.tsx b/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/fasilitas_kesehatan/[id]/edit/page.tsx index 8a25e7ba..230e105d 100644 --- a/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/fasilitas_kesehatan/[id]/edit/page.tsx +++ b/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/fasilitas_kesehatan/[id]/edit/page.tsx @@ -12,8 +12,7 @@ import { Stack, Text, TextInput, - Title, - Tooltip, + Title } from '@mantine/core'; import { IconArrowBack } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; @@ -108,11 +107,9 @@ function EditFasilitasKesehatan() { {/* Header */} - - - + Edit Fasilitas Kesehatan diff --git a/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/fasilitas_kesehatan/[id]/page.tsx b/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/fasilitas_kesehatan/[id]/page.tsx index d6640e65..5d1e919b 100644 --- a/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/fasilitas_kesehatan/[id]/page.tsx +++ b/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/fasilitas_kesehatan/[id]/page.tsx @@ -9,8 +9,7 @@ import { Paper, Skeleton, Stack, - Text, - Tooltip, + Text } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconArrowBack, IconEdit, IconTrash } from '@tabler/icons-react'; @@ -128,36 +127,32 @@ function DetailFasilitasKesehatan() { {/* Aksi */} - - - + - - - + diff --git a/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/fasilitas_kesehatan/create/page.tsx b/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/fasilitas_kesehatan/create/page.tsx index 530039a9..0a8ceeb9 100644 --- a/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/fasilitas_kesehatan/create/page.tsx +++ b/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/fasilitas_kesehatan/create/page.tsx @@ -10,8 +10,7 @@ import { Stack, Text, TextInput, - Title, - Tooltip, + Title } from '@mantine/core'; import { IconArrowBack } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; @@ -64,16 +63,14 @@ function CreateFasilitasKesehatan() { {/* Header */} - - - + Tambah Data Fasilitas Kesehatan 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 8c554c6a..a4acdfbf 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 @@ -5,8 +5,8 @@ import { Button, Center, Group, - Paper, Pagination, + Paper, Skeleton, Stack, Table, @@ -16,8 +16,7 @@ import { TableThead, TableTr, Text, - Title, - Tooltip, + Title } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconArrowBack, IconDeviceImacCog, IconPlus, IconSearch } from '@tabler/icons-react'; @@ -82,20 +81,18 @@ function ListFasilitasKesehatan({ search }: { search: string }) { {/* Judul + Tombol Tambah */} Daftar Fasilitas Kesehatan - - - + {/* Tabel */} 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/grafik_hasil_kepuasan/[id]/edit/page.tsx index f6501312..00ff55ef 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/grafik_hasil_kepuasan/[id]/edit/page.tsx @@ -10,8 +10,7 @@ import { Paper, Stack, TextInput, - Title, - Tooltip + Title } from '@mantine/core'; import { IconArrowBack } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; @@ -77,16 +76,14 @@ function EditGrafikHasilKepuasan() { {/* Header */} - - - + Edit Grafik Hasil Kepuasan @@ -102,7 +99,7 @@ function EditGrafikHasilKepuasan() { style={{ border: '1px solid #e0e0e0' }} > - {(['nama','tanggal','jenisKelamin','alamat','penyakit'] as const).map((field) => ( + {(['nama', 'tanggal', 'jenisKelamin', 'alamat', 'penyakit'] as const).map((field) => ( - - - + - - - + 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/grafik_hasil_kepuasan/create/page.tsx index e33b6e1a..4a42acbb 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/grafik_hasil_kepuasan/create/page.tsx @@ -9,10 +9,8 @@ import { Group, Paper, Stack, - Text, TextInput, - Title, - Tooltip, + Title } from '@mantine/core'; import { IconArrowBack } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; @@ -44,16 +42,14 @@ function CreateGrafikHasilKepuasanMasyarakat() { {/* Header */} - - - + Tambah Grafik Hasil Kepuasan Masyarakat 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/grafik_hasil_kepuasan/page.tsx index 1897aba3..e5ba5b28 100644 --- a/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/grafik_hasil_kepuasan/page.tsx +++ b/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/grafik_hasil_kepuasan/page.tsx @@ -18,8 +18,7 @@ import { TableThead, TableTr, Text, - Title, - Tooltip + Title } from '@mantine/core'; import { useMediaQuery, useShallowEffect } from '@mantine/hooks'; import { IconDeviceImacCog, IconPlus, IconSearch } from '@tabler/icons-react'; @@ -117,20 +116,18 @@ function ListGrafikHasilKepuasanMasyarakat({ search }: { search: string }) { {/* Judul + Tombol Tambah */} Daftar Grafik Hasil Kepuasan Masyarakat - - - + {/* Tabel */} diff --git a/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/jadwal_kegiatan/[id]/edit/page.tsx b/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/jadwal_kegiatan/[id]/edit/page.tsx index de1b5922..88ce54d1 100644 --- a/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/jadwal_kegiatan/[id]/edit/page.tsx +++ b/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/jadwal_kegiatan/[id]/edit/page.tsx @@ -4,7 +4,7 @@ import EditEditor from '@/app/admin/(dashboard)/_com/editEditor'; import jadwalKegiatanState from '@/app/admin/(dashboard)/_state/kesehatan/data_kesehatan_warga/jadwalKegiatan'; import colors from '@/con/colors'; -import { Box, Button, Group, Paper, Stack, Text, TextInput, Title, Tooltip } from '@mantine/core'; +import { Box, Button, Group, Paper, Stack, Text, TextInput, Title } from '@mantine/core'; import { IconArrowBack } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; import { useEffect, useState } from 'react'; @@ -112,11 +112,9 @@ function EditJadwalKegiatan() { {/* Header */} - - - + Edit Jadwal Kegiatan diff --git a/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/jadwal_kegiatan/[id]/page.tsx b/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/jadwal_kegiatan/[id]/page.tsx index 383cc54c..88e80740 100644 --- a/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/jadwal_kegiatan/[id]/page.tsx +++ b/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/jadwal_kegiatan/[id]/page.tsx @@ -2,7 +2,7 @@ import { ModalKonfirmasiHapus } from '@/app/admin/(dashboard)/_com/modalKonfirmasiHapus'; import jadwalKegiatanState from '@/app/admin/(dashboard)/_state/kesehatan/data_kesehatan_warga/jadwalKegiatan'; import colors from '@/con/colors'; -import { Box, Button, Group, Paper, Skeleton, Stack, Text, Tooltip } from '@mantine/core'; +import { Box, Button, Group, Paper, Skeleton, Stack, Text } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconArrowBack, IconEdit, IconTrash } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; @@ -109,37 +109,33 @@ function DetailJadwalKegiatan() { Dokumen - + {/* Aksi */} - - - + - - - + diff --git a/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/jadwal_kegiatan/create/page.tsx b/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/jadwal_kegiatan/create/page.tsx index 55121d4a..a63a5c8e 100644 --- a/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/jadwal_kegiatan/create/page.tsx +++ b/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/jadwal_kegiatan/create/page.tsx @@ -10,8 +10,7 @@ import { Stack, Text, TextInput, - Title, - Tooltip, + Title } from '@mantine/core'; import { IconArrowBack } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; @@ -59,16 +58,14 @@ function CreateJadwalKegiatan() { {/* Header */} - - - + Tambah Jadwal Kegiatan diff --git a/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/jadwal_kegiatan/page.tsx b/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/jadwal_kegiatan/page.tsx index 2114f56f..91370aef 100644 --- a/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/jadwal_kegiatan/page.tsx +++ b/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/jadwal_kegiatan/page.tsx @@ -5,8 +5,8 @@ import { Button, Center, Group, - Paper, Pagination, + Paper, Skeleton, Stack, Table, @@ -16,16 +16,15 @@ import { TableThead, TableTr, Text, - Title, - Tooltip, + Title } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconArrowBack, IconDeviceImacCog, IconPlus, IconSearch } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; +import { useState } from 'react'; import { useProxy } from 'valtio/utils'; import HeaderSearch from '../../../_com/header'; import jadwalKegiatanState from '../../../_state/kesehatan/data_kesehatan_warga/jadwalKegiatan'; -import { useState } from 'react'; function JadwalKegiatan() { const router = useRouter(); @@ -80,18 +79,16 @@ function ListJadwalKegiatan({ search }: { search: string }) { {/* Judul + Tombol Tambah */} Daftar Jadwal Kegiatan - - - + {/* Tabel */} @@ -119,14 +116,14 @@ function ListJadwalKegiatan({ search }: { search: string }) { - {new Date(item.informasijadwalkegiatan.tanggal).toLocaleDateString( - 'id-ID', - { - day: '2-digit', - month: 'long', - year: 'numeric', - } - )} + {new Date(item.informasijadwalkegiatan.tanggal).toLocaleDateString( + 'id-ID', + { + day: '2-digit', + month: 'long', + year: 'numeric', + } + )} diff --git a/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/persentase_data_kelahiran_kematian/kelahiran/[id]/edit/page.tsx b/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/persentase_data_kelahiran_kematian/kelahiran/[id]/edit/page.tsx index ac5e2805..a48a6ef0 100644 --- a/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/persentase_data_kelahiran_kematian/kelahiran/[id]/edit/page.tsx +++ b/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/persentase_data_kelahiran_kematian/kelahiran/[id]/edit/page.tsx @@ -10,8 +10,7 @@ import { Paper, Stack, TextInput, - Title, - Tooltip, + Title } from '@mantine/core'; import { IconArrowBack } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; @@ -39,7 +38,7 @@ function EditKelahiran() { try { const data = await editState.edit.load(id); - if (data) setFormData({ + if (data) setFormData({ nama: data.nama || '', tanggal: data.tanggal || '', jenisKelamin: data.jenisKelamin || '', @@ -75,11 +74,9 @@ function EditKelahiran() { {/* Header */} - - - + Edit Data Kelahiran diff --git a/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/persentase_data_kelahiran_kematian/kelahiran/[id]/page.tsx b/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/persentase_data_kelahiran_kematian/kelahiran/[id]/page.tsx index 18a2e587..549a7fee 100644 --- a/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/persentase_data_kelahiran_kematian/kelahiran/[id]/page.tsx +++ b/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/persentase_data_kelahiran_kematian/kelahiran/[id]/page.tsx @@ -1,5 +1,5 @@ 'use client' -import { Box, Button, Group, Paper, Skeleton, Stack, Text, Tooltip } from '@mantine/core'; +import { Box, Button, Group, Paper, Skeleton, Stack, Text } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconArrowBack, IconEdit, IconTrash } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; @@ -13,151 +13,147 @@ import colors from '@/con/colors'; function DetailKelahiran() { - const state = useProxy(persentaseKelahiranKematian.kelahiran); - const [modalHapus, setModalHapus] = useState(false); - const [selectedId, setSelectedId] = useState(null); - const params = useParams(); - const router = useRouter(); + const state = useProxy(persentaseKelahiranKematian.kelahiran); + const [modalHapus, setModalHapus] = useState(false); + const [selectedId, setSelectedId] = useState(null); + const params = useParams(); + const router = useRouter(); - useShallowEffect(() => { - state.findUnique.load(params?.id as string); - }, []); + useShallowEffect(() => { + state.findUnique.load(params?.id as string); + }, []); - const handleHapus = () => { - if (selectedId) { - state.delete.byId(selectedId); - setModalHapus(false); - setSelectedId(null); - router.push( - "/admin/kesehatan/data-kesehatan-warga/persentase_data_kelahiran_kematian/kelahiran" - ); - } - }; + const handleHapus = () => { + if (selectedId) { + state.delete.byId(selectedId); + setModalHapus(false); + setSelectedId(null); + router.push( + "/admin/kesehatan/data-kesehatan-warga/persentase_data_kelahiran_kematian/kelahiran" + ); + } + }; - if (!state.findUnique.data) { - return ( - - - - ); - } + if (!state.findUnique.data) { + return ( + + + + ); + } - const data = state.findUnique.data; + const data = state.findUnique.data; - return ( - - {/* Tombol Back */} - + return ( + + {/* Tombol Back */} + - {/* Wrapper Detail */} - - - - Detail Data Kelahiran - + {/* Wrapper Detail */} + + + + Detail Data Kelahiran + - - - - Nama - {data.nama || '-'} - + + + + Nama + {data.nama || '-'} + - - Tanggal - - {new Date(data.tanggal).toLocaleDateString("id-ID", { - day: "2-digit", - month: "long", - year: "numeric", - })} - - + + 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 || '-'} + - {/* Aksi */} - - - - + {/* Aksi */} + + - - - - - - - - + + + + + + - {/* Modal Konfirmasi Hapus */} - setModalHapus(false)} - onConfirm={handleHapus} - text="Apakah anda yakin ingin menghapus data ini?" - /> - - ); + {/* Modal Konfirmasi Hapus */} + 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/kelahiran/create/page.tsx b/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/persentase_data_kelahiran_kematian/kelahiran/create/page.tsx index b8476a66..71d7721f 100644 --- a/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/persentase_data_kelahiran_kematian/kelahiran/create/page.tsx +++ b/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/persentase_data_kelahiran_kematian/kelahiran/create/page.tsx @@ -2,15 +2,14 @@ import persentaseKelahiranKematian from '@/app/admin/(dashboard)/_state/kesehatan/data_kesehatan_warga/persentaseKelahiran'; import colors from '@/con/colors'; import { - Box, - Button, - Group, - Paper, - Stack, - Text, - TextInput, - Title, - Tooltip, + Box, + Button, + Group, + Paper, + Stack, + Text, + TextInput, + Title } from '@mantine/core'; import { IconArrowBack } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; @@ -18,108 +17,106 @@ import { useProxy } from 'valtio/utils'; function CreateKelahiran() { - const createState = useProxy(persentaseKelahiranKematian.kelahiran); - const router = useRouter(); + const createState = useProxy(persentaseKelahiranKematian.kelahiran); + const router = useRouter(); - const resetForm = () => { - createState.create.form = { - nama: '', - tanggal: '', - jenisKelamin: '', - alamat: '', - }; - }; + const resetForm = () => { + createState.create.form = { + nama: '', + tanggal: '', + jenisKelamin: '', + alamat: '', + }; + }; - const handleSubmit = async () => { - await createState.create.create(); - resetForm(); - router.push( - '/admin/kesehatan/data-kesehatan-warga/persentase_data_kelahiran_kematian/kelahiran' - ); - }; + const handleSubmit = async () => { + await createState.create.create(); + resetForm(); + router.push( + '/admin/kesehatan/data-kesehatan-warga/persentase_data_kelahiran_kematian/kelahiran' + ); + }; - return ( - - {/* Header */} - - - - - - Tambah Data Kelahiran - - + return ( + + {/* Header */} + + + + Tambah Data Kelahiran + + - {/* Form */} - - - Nama} - placeholder="Masukkan nama" - defaultValue={createState.create.form.nama} - onChange={(e) => (createState.create.form.nama = e.target.value)} - required - /> - Tanggal} - placeholder="Masukkan tanggal" - defaultValue={createState.create.form.tanggal} - onChange={(e) => (createState.create.form.tanggal = e.target.value)} - required - /> - Jenis Kelamin} - placeholder="Masukkan jenis kelamin" - defaultValue={createState.create.form.jenisKelamin} - onChange={(e) => (createState.create.form.jenisKelamin = e.target.value)} - required - /> - Alamat} - placeholder="Masukkan alamat" - defaultValue={createState.create.form.alamat} - onChange={(e) => (createState.create.form.alamat = e.target.value)} - required - /> + {/* Form */} + + + Nama} + placeholder="Masukkan nama" + defaultValue={createState.create.form.nama} + onChange={(e) => (createState.create.form.nama = e.target.value)} + required + /> + Tanggal} + placeholder="Masukkan tanggal" + defaultValue={createState.create.form.tanggal} + onChange={(e) => (createState.create.form.tanggal = e.target.value)} + required + /> + Jenis Kelamin} + placeholder="Masukkan jenis kelamin" + defaultValue={createState.create.form.jenisKelamin} + onChange={(e) => (createState.create.form.jenisKelamin = e.target.value)} + required + /> + Alamat} + placeholder="Masukkan alamat" + defaultValue={createState.create.form.alamat} + onChange={(e) => (createState.create.form.alamat = e.target.value)} + required + /> - - - - - - - ); + + + + + + + ); } diff --git a/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/persentase_data_kelahiran_kematian/kelahiran/page.tsx b/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/persentase_data_kelahiran_kematian/kelahiran/page.tsx index 255ed68d..13aeebd8 100644 --- a/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/persentase_data_kelahiran_kematian/kelahiran/page.tsx +++ b/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/persentase_data_kelahiran_kematian/kelahiran/page.tsx @@ -3,23 +3,22 @@ import HeaderSearch from '@/app/admin/(dashboard)/_com/header'; import persentasekelahiran from '@/app/admin/(dashboard)/_state/kesehatan/data_kesehatan_warga/persentaseKelahiran'; import colors from '@/con/colors'; import { - Box, - Button, - Center, - Group, - Paper, - Pagination, - Skeleton, - Stack, - Table, - TableTbody, - TableTd, - TableTh, - TableThead, - TableTr, - Text, - Title, - Tooltip, + Box, + Button, + Center, + Group, + Pagination, + Paper, + Skeleton, + Stack, + Table, + TableTbody, + TableTd, + TableTh, + TableThead, + TableTr, + Text, + Title } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconArrowBack, IconDeviceImacCog, IconPlus, IconSearch } from '@tabler/icons-react'; @@ -29,178 +28,176 @@ import { useProxy } from 'valtio/utils'; function Kelahiran() { - const router = useRouter(); - const [search, setSearch] = useState(""); + const router = useRouter(); + const [search, setSearch] = useState(""); - return ( - - {/* Tombol Back */} - - - + return ( + + {/* Tombol Back */} + + + - {/* Header Search */} - } - value={search} - onChange={(e) => setSearch(e.currentTarget.value)} - /> + {/* Header Search */} + } + value={search} + onChange={(e) => setSearch(e.currentTarget.value)} + /> - - - ); + + + ); } function ListKelahiran({ search }: { search: string }) { - const statePersentase = useProxy(persentasekelahiran.kelahiran); - const router = useRouter(); + const statePersentase = useProxy(persentasekelahiran.kelahiran); + const router = useRouter(); - const { data, page, totalPages, loading, load } = statePersentase.findMany; + const { data, page, totalPages, loading, load } = statePersentase.findMany; - useShallowEffect(() => { - load(page, 10, search); - }, [page, search]); + useShallowEffect(() => { + load(page, 10, search); + }, [page, search]); - const filteredData = data || []; + const filteredData = data || []; - if (loading || !data) { - return ( - - - - ); - } + if (loading || !data) { + return ( + + + + ); + } - return ( - - - {/* Judul + Tombol Tambah */} - - Daftar Data Kelahiran - - - - + return ( + + + {/* Judul + Tombol Tambah */} + + Daftar Data Kelahiran + + - {/* Tabel */} - -
- - - Nama - Tanggal - Jenis Kelamin - Alamat - Aksi - - - - {filteredData.length > 0 ? ( - filteredData.map((item) => ( - - - - - {item.nama} - - - - - - {new Date(item.tanggal).toLocaleDateString('id-ID', { - day: '2-digit', - month: 'long', - year: 'numeric', - })} - - - - - {item.jenisKelamin} - - - - - - {item.alamat} - - - - - - - - )) - ) : ( - - -
- - Tidak ada data kelahiran yang cocok - -
-
-
- )} -
-
-
-
+ {/* Tabel */} + + + + + Nama + Tanggal + Jenis Kelamin + Alamat + Aksi + + + + {filteredData.length > 0 ? ( + filteredData.map((item) => ( + + + + + {item.nama} + + + + + + {new Date(item.tanggal).toLocaleDateString('id-ID', { + day: '2-digit', + month: 'long', + year: 'numeric', + })} + + + + + {item.jenisKelamin} + + + + + + {item.alamat} + + + + + + + + )) + ) : ( + + +
+ + Tidak ada data kelahiran yang cocok + +
+
+
+ )} +
+
+
+ - {/* Pagination */} -
- { - load(newPage, 10); - window.scrollTo({ top: 0, behavior: 'smooth' }); - }} - total={totalPages} - mt="md" - mb="md" - color="blue" - radius="md" - /> -
-
- ); + {/* Pagination */} +
+ { + load(newPage, 10); + window.scrollTo({ top: 0, behavior: 'smooth' }); + }} + total={totalPages} + mt="md" + mb="md" + color="blue" + radius="md" + /> +
+
+ ); } diff --git a/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/persentase_data_kelahiran_kematian/kematian/[id]/edit/page.tsx b/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/persentase_data_kelahiran_kematian/kematian/[id]/edit/page.tsx index 9f7ada02..a70c1a42 100644 --- a/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/persentase_data_kelahiran_kematian/kematian/[id]/edit/page.tsx +++ b/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/persentase_data_kelahiran_kematian/kematian/[id]/edit/page.tsx @@ -12,8 +12,7 @@ import { Stack, Text, TextInput, - Title, - Tooltip, + Title } from '@mantine/core'; import { IconArrowBack } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; @@ -83,11 +82,9 @@ function EditKematian() { {/* Header */} - - - + Edit Data Kematian diff --git a/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/persentase_data_kelahiran_kematian/kematian/[id]/page.tsx b/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/persentase_data_kelahiran_kematian/kematian/[id]/page.tsx index 41b4fa96..1cab8f69 100644 --- a/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/persentase_data_kelahiran_kematian/kematian/[id]/page.tsx +++ b/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/persentase_data_kelahiran_kematian/kematian/[id]/page.tsx @@ -1,5 +1,5 @@ 'use client' -import { Box, Button, Group, Paper, Skeleton, Stack, Text, Tooltip } from '@mantine/core'; +import { Box, Button, Group, Paper, Skeleton, Stack, Text } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconArrowBack, IconEdit, IconTrash } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; @@ -113,35 +113,31 @@ function DetailKematian() { - - - + - - - + @@ -155,7 +151,7 @@ function DetailKematian() { 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/create/page.tsx b/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/persentase_data_kelahiran_kematian/kematian/create/page.tsx index 2f1c92b7..8d1e0790 100644 --- a/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/persentase_data_kelahiran_kematian/kematian/create/page.tsx +++ b/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/persentase_data_kelahiran_kematian/kematian/create/page.tsx @@ -3,14 +3,13 @@ import CreateEditor from '@/app/admin/(dashboard)/_com/createEditor'; import persentaseKelahiranKematian from '@/app/admin/(dashboard)/_state/kesehatan/data_kesehatan_warga/persentaseKelahiran'; import colors from '@/con/colors'; import { - Box, - Button, - Group, - Paper, - Stack, - TextInput, - Title, - Tooltip + Box, + Button, + Group, + Paper, + Stack, + TextInput, + Title } from '@mantine/core'; import { IconArrowBack } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; @@ -23,123 +22,121 @@ import { useProxy } from 'valtio/utils'; function CreateKematian() { - const createState = useProxy(persentaseKelahiranKematian.kematian); - const router = useRouter(); + const createState = useProxy(persentaseKelahiranKematian.kematian); + const router = useRouter(); - const resetForm = () => { - createState.create.form = { - nama: '', - tanggal: '', - jenisKelamin: '', - alamat: '', - penyebab: '', - }; - }; + const resetForm = () => { + createState.create.form = { + nama: '', + tanggal: '', + jenisKelamin: '', + alamat: '', + penyebab: '', + }; + }; - const handleSubmit = async () => { - if (!createState.create.form.nama) { - return toast.warn('Nama wajib diisi'); - } - if (!createState.create.form.tanggal) { - return toast.warn('Tanggal wajib diisi'); - } + const handleSubmit = async () => { + if (!createState.create.form.nama) { + return toast.warn('Nama wajib diisi'); + } + if (!createState.create.form.tanggal) { + return toast.warn('Tanggal wajib diisi'); + } - await createState.create.create(); - resetForm(); - router.push( - '/admin/kesehatan/data-kesehatan-warga/persentase_data_kelahiran_kematian/kematian' - ); - }; + await createState.create.create(); + resetForm(); + router.push( + '/admin/kesehatan/data-kesehatan-warga/persentase_data_kelahiran_kematian/kematian' + ); + }; - return ( - - {/* Header */} - - - - - - Tambah Data Kematian - - + return ( + + {/* Header */} + + + + Tambah Data Kematian + + - {/* Form Card */} - - - (createState.create.form.nama = e.target.value)} - required - /> - (createState.create.form.tanggal = e.target.value)} - required - /> - (createState.create.form.jenisKelamin = e.target.value)} - required - /> - (createState.create.form.alamat = e.target.value)} - required - /> - - - Penyebab - - { - createState.create.form.penyebab = htmlContent; - }} - /> - + {/* Form Card */} + + + (createState.create.form.nama = e.target.value)} + required + /> + (createState.create.form.tanggal = e.target.value)} + required + /> + (createState.create.form.jenisKelamin = e.target.value)} + required + /> + (createState.create.form.alamat = e.target.value)} + required + /> + + + Penyebab + + { + createState.create.form.penyebab = htmlContent; + }} + /> + - - - - - - - ); + + + + + + + ); } 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 b9ab8ec7..52c3a269 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 @@ -3,23 +3,22 @@ import HeaderSearch from '@/app/admin/(dashboard)/_com/header'; import persentasekelahiran from '@/app/admin/(dashboard)/_state/kesehatan/data_kesehatan_warga/persentaseKelahiran'; import colors from '@/con/colors'; import { - Box, - Button, - Center, - Group, - Pagination, - Paper, - Skeleton, - Stack, - Table, - TableTbody, - TableTd, - TableTh, - TableThead, - TableTr, - Text, - Title, - Tooltip, + Box, + Button, + Center, + Group, + Pagination, + Paper, + Skeleton, + Stack, + Table, + TableTbody, + TableTd, + TableTh, + TableThead, + TableTr, + Text, + Title } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconArrowBack, IconEdit, IconPlus, IconSearch } from '@tabler/icons-react'; @@ -29,176 +28,174 @@ import { useProxy } from 'valtio/utils'; function Kematian() { - const [search, setSearch] = useState(""); - const router = useRouter(); + const [search, setSearch] = useState(""); + const router = useRouter(); - return ( - - {/* Tombol Back */} - - - + return ( + + {/* Tombol Back */} + + + - {/* Header dengan Search */} - } - value={search} - onChange={(e) => setSearch(e.currentTarget.value)} - /> + {/* Header dengan Search */} + } + value={search} + onChange={(e) => setSearch(e.currentTarget.value)} + /> - - - ); + + + ); } function ListKematian({ search }: { search: string }) { - const statePersentase = useProxy(persentasekelahiran.kematian); - const router = useRouter(); + const statePersentase = useProxy(persentasekelahiran.kematian); + const router = useRouter(); - const { data, page, totalPages, loading, load } = statePersentase.findMany; + const { data, page, totalPages, loading, load } = statePersentase.findMany; - useShallowEffect(() => { - load(page, 10, search); - }, [page, search]); + useShallowEffect(() => { + load(page, 10, search); + }, [page, search]); - const filteredData = data || []; + const filteredData = data || []; - if (loading || !data) { - return ( - - - - ); - } + if (loading || !data) { + return ( + + + + ); + } - return ( - - - - Daftar Data Kematian - - - - + return ( + + + + Daftar Data Kematian + + - - - - - Nama - Tanggal - Jenis Kelamin - Alamat - Aksi - - - - {filteredData.length > 0 ? ( - filteredData.map((item) => ( - - - - - {item.nama} - - - - - - {new Date(item.tanggal).toLocaleDateString('id-ID', { - day: '2-digit', - month: 'long', - year: 'numeric', - })} - - - - - {item.jenisKelamin} - - - - - - {item.alamat} - - - - - - - - )) - ) : ( - - -
- - Tidak ada data kematian yang cocok - -
-
-
- )} -
-
-
-
+ + + + + Nama + Tanggal + Jenis Kelamin + Alamat + Aksi + + + + {filteredData.length > 0 ? ( + filteredData.map((item) => ( + + + + + {item.nama} + + + + + + {new Date(item.tanggal).toLocaleDateString('id-ID', { + day: '2-digit', + month: 'long', + year: 'numeric', + })} + + + + + {item.jenisKelamin} + + + + + + {item.alamat} + + + + + + + + )) + ) : ( + + +
+ + Tidak ada data kematian yang cocok + +
+
+
+ )} +
+
+
+
- {/* Pagination */} -
- { - load(newPage, 10, search); - window.scrollTo({ top: 0, behavior: 'smooth' }); - }} - total={totalPages} - mt="md" - mb="md" - color="blue" - radius="md" - /> -
-
- ); + {/* Pagination */} +
+ { + load(newPage, 10, search); + window.scrollTo({ top: 0, behavior: 'smooth' }); + }} + total={totalPages} + mt="md" + mb="md" + color="blue" + radius="md" + /> +
+ + ); } diff --git a/src/app/admin/(dashboard)/kesehatan/info-wabah-penyakit/[id]/edit/page.tsx b/src/app/admin/(dashboard)/kesehatan/info-wabah-penyakit/[id]/edit/page.tsx index 6d751dd5..a00cf493 100644 --- a/src/app/admin/(dashboard)/kesehatan/info-wabah-penyakit/[id]/edit/page.tsx +++ b/src/app/admin/(dashboard)/kesehatan/info-wabah-penyakit/[id]/edit/page.tsx @@ -13,13 +13,12 @@ import { Stack, Text, TextInput, - Title, - Tooltip, + Title } from '@mantine/core'; import { Dropzone } from '@mantine/dropzone'; import { IconArrowBack, IconPhoto, IconUpload, IconX } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; -import { useEffect, useState, ChangeEvent } from 'react'; +import { ChangeEvent, useEffect, useState } from 'react'; import { toast } from 'react-toastify'; import { useProxy } from 'valtio/utils'; @@ -112,11 +111,9 @@ function EditInfoWabahPenyakit() { {/* Header */} - - - + Edit Info Wabah Penyakit diff --git a/src/app/admin/(dashboard)/kesehatan/info-wabah-penyakit/[id]/page.tsx b/src/app/admin/(dashboard)/kesehatan/info-wabah-penyakit/[id]/page.tsx index 03fda087..675b4e8a 100644 --- a/src/app/admin/(dashboard)/kesehatan/info-wabah-penyakit/[id]/page.tsx +++ b/src/app/admin/(dashboard)/kesehatan/info-wabah-penyakit/[id]/page.tsx @@ -3,21 +3,20 @@ import colors from '@/con/colors'; import { Box, Button, - Paper, - Stack, - Text, - Skeleton, - Tooltip, Group, Image, + Paper, + Skeleton, + Stack, + Text } from '@mantine/core'; +import { useShallowEffect } from '@mantine/hooks'; import { IconArrowBack, IconEdit, IconTrash } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; -import React, { useState } from 'react'; -import infoWabahPenyakit from '../../../_state/kesehatan/info-wabah-penyakit/infoWabahPenyakit'; +import { useState } from 'react'; import { useProxy } from 'valtio/utils'; -import { useShallowEffect } from '@mantine/hooks'; import { ModalKonfirmasiHapus } from '../../../_com/modalKonfirmasiHapus'; +import infoWabahPenyakit from '../../../_state/kesehatan/info-wabah-penyakit/infoWabahPenyakit'; function DetailInfoWabahPenyakit() { const state = useProxy(infoWabahPenyakit); @@ -114,36 +113,32 @@ function DetailInfoWabahPenyakit() { {/* Aksi */} - - - + - - - + diff --git a/src/app/admin/(dashboard)/kesehatan/info-wabah-penyakit/create/page.tsx b/src/app/admin/(dashboard)/kesehatan/info-wabah-penyakit/create/page.tsx index 06a0d39c..f55b0e68 100644 --- a/src/app/admin/(dashboard)/kesehatan/info-wabah-penyakit/create/page.tsx +++ b/src/app/admin/(dashboard)/kesehatan/info-wabah-penyakit/create/page.tsx @@ -10,9 +10,9 @@ import { Stack, Text, TextInput, - Title, - Tooltip, + Title } from '@mantine/core'; +import { Dropzone } from '@mantine/dropzone'; import { IconArrowBack, IconPhoto, IconUpload, IconX } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; import { useState } from 'react'; @@ -20,7 +20,6 @@ import { toast } from 'react-toastify'; import { useProxy } from 'valtio/utils'; import CreateEditor from '../../../_com/createEditor'; import infoWabahPenyakit from '../../../_state/kesehatan/info-wabah-penyakit/infoWabahPenyakit'; -import { Dropzone } from '@mantine/dropzone'; function CreateInfoWabahPenyakit() { const router = useRouter(); @@ -65,16 +64,14 @@ function CreateInfoWabahPenyakit() { {/* Header */} - - - + Tambah Info Wabah Penyakit diff --git a/src/app/admin/(dashboard)/kesehatan/info-wabah-penyakit/page.tsx b/src/app/admin/(dashboard)/kesehatan/info-wabah-penyakit/page.tsx index e4215822..c5ca0547 100644 --- a/src/app/admin/(dashboard)/kesehatan/info-wabah-penyakit/page.tsx +++ b/src/app/admin/(dashboard)/kesehatan/info-wabah-penyakit/page.tsx @@ -16,8 +16,7 @@ import { TableThead, TableTr, Text, - Title, - Tooltip + Title } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconDeviceImacCog, IconPlus, IconSearch } from '@tabler/icons-react'; @@ -76,16 +75,14 @@ function ListInfoWabahPenyakit({ search }: { search: string }) { {/* Judul + Tombol Tambah */} Daftar Info Wabah Penyakit - - - + {/* Tabel */} diff --git a/src/app/admin/(dashboard)/kesehatan/kontak-darurat/[id]/edit/page.tsx b/src/app/admin/(dashboard)/kesehatan/kontak-darurat/[id]/edit/page.tsx index 8ede9489..98014e3a 100644 --- a/src/app/admin/(dashboard)/kesehatan/kontak-darurat/[id]/edit/page.tsx +++ b/src/app/admin/(dashboard)/kesehatan/kontak-darurat/[id]/edit/page.tsx @@ -12,8 +12,7 @@ import { Stack, Text, TextInput, - Title, - Tooltip + Title } from '@mantine/core'; import { Dropzone } from '@mantine/dropzone'; import { IconArrowBack, IconPhoto, IconUpload, IconX } from '@tabler/icons-react'; @@ -98,11 +97,9 @@ function EditKontakDarurat() { return ( - - - + Edit Kontak Darurat diff --git a/src/app/admin/(dashboard)/kesehatan/kontak-darurat/[id]/page.tsx b/src/app/admin/(dashboard)/kesehatan/kontak-darurat/[id]/page.tsx index 628338cb..ea22b9e3 100644 --- a/src/app/admin/(dashboard)/kesehatan/kontak-darurat/[id]/page.tsx +++ b/src/app/admin/(dashboard)/kesehatan/kontak-darurat/[id]/page.tsx @@ -1,6 +1,6 @@ 'use client' import colors from '@/con/colors'; -import { Box, Button, Group, Image, Paper, Skeleton, Stack, Text, Tooltip } from '@mantine/core'; +import { Box, Button, Group, Image, Paper, Skeleton, Stack, Text } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconArrowBack, IconEdit, IconTrash } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; @@ -104,35 +104,31 @@ function DetailKontakDarurat() { {/* Aksi */} - - - + - - - + diff --git a/src/app/admin/(dashboard)/kesehatan/kontak-darurat/create/page.tsx b/src/app/admin/(dashboard)/kesehatan/kontak-darurat/create/page.tsx index 65a84277..4fc6d685 100644 --- a/src/app/admin/(dashboard)/kesehatan/kontak-darurat/create/page.tsx +++ b/src/app/admin/(dashboard)/kesehatan/kontak-darurat/create/page.tsx @@ -10,9 +10,9 @@ import { Stack, Text, TextInput, - Title, - Tooltip, + Title } from '@mantine/core'; +import { Dropzone } from '@mantine/dropzone'; import { IconArrowBack, IconPhoto, @@ -25,7 +25,6 @@ import { toast } from 'react-toastify'; import { useProxy } from 'valtio/utils'; import CreateEditor from '../../../_com/createEditor'; import kontakDarurat from '../../../_state/kesehatan/kontak-darurat/kontakDarurat'; -import { Dropzone } from '@mantine/dropzone'; function CreateKontakDarurat() { const router = useRouter(); @@ -71,16 +70,14 @@ function CreateKontakDarurat() { {/* Header */} - - - + Tambah Kontak Darurat @@ -107,7 +104,7 @@ function CreateKontakDarurat() { /> { kontakDaruratState.create.form.whatsapp = val.target.value; diff --git a/src/app/admin/(dashboard)/kesehatan/kontak-darurat/page.tsx b/src/app/admin/(dashboard)/kesehatan/kontak-darurat/page.tsx index 2c341cf0..6a8a42b8 100644 --- a/src/app/admin/(dashboard)/kesehatan/kontak-darurat/page.tsx +++ b/src/app/admin/(dashboard)/kesehatan/kontak-darurat/page.tsx @@ -16,8 +16,7 @@ import { TableThead, TableTr, Text, - Title, - Tooltip + Title } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconDeviceImacCog, IconPlus, IconSearch } from '@tabler/icons-react'; @@ -73,16 +72,14 @@ function ListKontakDarurat({ search }: { search: string }) { Daftar Kontak Darurat - - - + diff --git a/src/app/admin/(dashboard)/kesehatan/penanganan-darurat/[id]/edit/page.tsx b/src/app/admin/(dashboard)/kesehatan/penanganan-darurat/[id]/edit/page.tsx index 3d1d0da1..47a054ae 100644 --- a/src/app/admin/(dashboard)/kesehatan/penanganan-darurat/[id]/edit/page.tsx +++ b/src/app/admin/(dashboard)/kesehatan/penanganan-darurat/[id]/edit/page.tsx @@ -14,8 +14,7 @@ import { Stack, Text, TextInput, - Title, - Tooltip + Title } from '@mantine/core'; import { Dropzone } from '@mantine/dropzone'; import { IconArrowBack, IconPhoto, IconUpload, IconX } from '@tabler/icons-react'; @@ -117,11 +116,9 @@ function EditPenangananDarurat() { {/* Header */} - - - + Edit Penanganan Darurat diff --git a/src/app/admin/(dashboard)/kesehatan/penanganan-darurat/[id]/page.tsx b/src/app/admin/(dashboard)/kesehatan/penanganan-darurat/[id]/page.tsx index 36967755..ab622c6e 100644 --- a/src/app/admin/(dashboard)/kesehatan/penanganan-darurat/[id]/page.tsx +++ b/src/app/admin/(dashboard)/kesehatan/penanganan-darurat/[id]/page.tsx @@ -1,11 +1,11 @@ 'use client' import colors from '@/con/colors'; -import { Box, Button, Group, Paper, Skeleton, Stack, Text, Tooltip, Image } from '@mantine/core'; -import { IconArrowBack, IconEdit, IconTrash } from '@tabler/icons-react'; -import { useRouter, useParams } from 'next/navigation'; -import React, { useState } from 'react'; -import { useProxy } from 'valtio/utils'; +import { Box, Button, Group, Image, Paper, Skeleton, Stack, Text } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; +import { IconArrowBack, IconEdit, IconTrash } from '@tabler/icons-react'; +import { useParams, useRouter } from 'next/navigation'; +import { useState } from 'react'; +import { useProxy } from 'valtio/utils'; import { ModalKonfirmasiHapus } from '../../../_com/modalKonfirmasiHapus'; import penangananDarurat from '../../../_state/kesehatan/penanganan-darurat/penangananDarurat'; @@ -96,34 +96,30 @@ function DetailPenangananDarurat() { {/* Aksi */} - - - + - - - + diff --git a/src/app/admin/(dashboard)/kesehatan/penanganan-darurat/create/page.tsx b/src/app/admin/(dashboard)/kesehatan/penanganan-darurat/create/page.tsx index f28e0a92..00839be0 100644 --- a/src/app/admin/(dashboard)/kesehatan/penanganan-darurat/create/page.tsx +++ b/src/app/admin/(dashboard)/kesehatan/penanganan-darurat/create/page.tsx @@ -10,8 +10,7 @@ import { Stack, Text, TextInput, - Title, - Tooltip, + Title } from '@mantine/core'; import { Dropzone } from '@mantine/dropzone'; import { @@ -70,16 +69,14 @@ function CreatePenangananDarurat() { {/* Header */} - - - + Tambah Penanganan Darurat diff --git a/src/app/admin/(dashboard)/kesehatan/penanganan-darurat/page.tsx b/src/app/admin/(dashboard)/kesehatan/penanganan-darurat/page.tsx index 7d397e4d..a845350e 100644 --- a/src/app/admin/(dashboard)/kesehatan/penanganan-darurat/page.tsx +++ b/src/app/admin/(dashboard)/kesehatan/penanganan-darurat/page.tsx @@ -16,8 +16,7 @@ import { TableThead, TableTr, Text, - Title, - Tooltip + Title } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconDeviceImacCog, IconPlus, IconSearch } from '@tabler/icons-react'; @@ -71,16 +70,14 @@ function ListPenangananDarurat({ search }: { search: string }) { {/* Judul + Tombol Tambah */} Daftar Penanganan Darurat - - - + {/* Tabel */} @@ -111,8 +108,8 @@ function ListPenangananDarurat({ search }: { search: string }) { c="dimmed" truncate lineClamp={1} - dangerouslySetInnerHTML={{ __html: item.deskripsi }} - /> + dangerouslySetInnerHTML={{ __html: item.deskripsi }} + /> diff --git a/src/app/admin/(dashboard)/kesehatan/posyandu/[id]/edit/page.tsx b/src/app/admin/(dashboard)/kesehatan/posyandu/[id]/edit/page.tsx index 1a47aefa..8c90a4b6 100644 --- a/src/app/admin/(dashboard)/kesehatan/posyandu/[id]/edit/page.tsx +++ b/src/app/admin/(dashboard)/kesehatan/posyandu/[id]/edit/page.tsx @@ -14,8 +14,7 @@ import { Stack, Text, TextInput, - Title, - Tooltip, + Title } from '@mantine/core'; import { Dropzone } from '@mantine/dropzone'; import { IconArrowBack, IconPhoto, IconUpload, IconX } from '@tabler/icons-react'; @@ -94,11 +93,9 @@ function EditPosyandu() { {/* Tombol Back */} - - - + Edit Posyandu diff --git a/src/app/admin/(dashboard)/kesehatan/posyandu/[id]/page.tsx b/src/app/admin/(dashboard)/kesehatan/posyandu/[id]/page.tsx index 75af2397..f75cda27 100644 --- a/src/app/admin/(dashboard)/kesehatan/posyandu/[id]/page.tsx +++ b/src/app/admin/(dashboard)/kesehatan/posyandu/[id]/page.tsx @@ -1,177 +1,173 @@ 'use client' import colors from '@/con/colors'; -import { Box, Button, Paper, Stack, Text, Image, Skeleton, Group, Tooltip } from '@mantine/core'; -import { IconArrowBack, IconTrash, IconEdit } from '@tabler/icons-react'; -import { useParams, useRouter } from 'next/navigation'; -import React, { useState } from 'react'; -import { useProxy } from 'valtio/utils'; -import posyanduState from '../../../_state/kesehatan/posyandu/posyandu'; +import { Box, Button, Group, Image, Paper, Skeleton, Stack, Text } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; +import { IconArrowBack, IconEdit, IconTrash } from '@tabler/icons-react'; +import { useParams, useRouter } from 'next/navigation'; +import { useState } from 'react'; +import { useProxy } from 'valtio/utils'; import { ModalKonfirmasiHapus } from '../../../_com/modalKonfirmasiHapus'; +import posyanduState from '../../../_state/kesehatan/posyandu/posyandu'; function DetailPosyandu() { - const statePosyandu = useProxy(posyanduState); - const params = useParams(); - const router = useRouter(); - const [modalHapus, setModalHapus] = useState(false); - const [selectedId, setSelectedId] = useState(null); + const statePosyandu = useProxy(posyanduState); + const params = useParams(); + const router = useRouter(); + const [modalHapus, setModalHapus] = useState(false); + const [selectedId, setSelectedId] = useState(null); - useShallowEffect(() => { - statePosyandu.findUnique.load(params?.id as string); - }, []); + useShallowEffect(() => { + statePosyandu.findUnique.load(params?.id as string); + }, []); - const handleHapus = () => { - if (selectedId) { - statePosyandu.delete.byId(selectedId); - setModalHapus(false); - setSelectedId(null); - router.push("/admin/kesehatan/posyandu"); - } - }; + const handleHapus = () => { + if (selectedId) { + statePosyandu.delete.byId(selectedId); + setModalHapus(false); + setSelectedId(null); + router.push("/admin/kesehatan/posyandu"); + } + }; - if (!statePosyandu.findUnique.data) { - return ( - - - - ); - } + if (!statePosyandu.findUnique.data) { + return ( + + + + ); + } - const data = statePosyandu.findUnique.data; + const data = statePosyandu.findUnique.data; - return ( - - {/* Tombol kembali */} - + return ( + + {/* Tombol kembali */} + - {/* Card utama */} - - - - Detail Posyandu - + {/* Card utama */} + + + + Detail Posyandu + - - - - Nama Posyandu - {data.name || '-'} - + + + + Nama Posyandu + {data.name || '-'} + - - Nomor Posyandu - {data.nomor || '-'} - + + Nomor Posyandu + {data.nomor || '-'} + - - Deskripsi - - + + Deskripsi + + - - Jadwal Pelayanan - - + + Jadwal Pelayanan + + - - Gambar - {data.image?.link ? ( - {data.name - ) : ( - Tidak ada gambar - )} - + + Gambar + {data.image?.link ? ( + {data.name + ) : ( + Tidak ada gambar + )} + - {/* Aksi */} - - - - + {/* Aksi */} + + - - - - - - - - + + + + + + - {/* Modal konfirmasi hapus */} - setModalHapus(false)} - onConfirm={handleHapus} - text="Apakah Anda yakin ingin menghapus posyandu ini?" - /> - - ); + {/* Modal konfirmasi hapus */} + setModalHapus(false)} + onConfirm={handleHapus} + text="Apakah Anda yakin ingin menghapus posyandu ini?" + /> + + ); } diff --git a/src/app/admin/(dashboard)/kesehatan/posyandu/create/page.tsx b/src/app/admin/(dashboard)/kesehatan/posyandu/create/page.tsx index 9542eefe..66fdb61c 100644 --- a/src/app/admin/(dashboard)/kesehatan/posyandu/create/page.tsx +++ b/src/app/admin/(dashboard)/kesehatan/posyandu/create/page.tsx @@ -2,16 +2,15 @@ import colors from '@/con/colors'; import ApiFetch from '@/lib/api-fetch'; import { - Box, - Button, - Group, - Image, - Paper, - Stack, - Text, - TextInput, - Title, - Tooltip, + Box, + Button, + Group, + Image, + Paper, + Stack, + Text, + TextInput, + Title } from '@mantine/core'; import { Dropzone } from '@mantine/dropzone'; import { IconArrowBack, IconPhoto, IconUpload, IconX } from '@tabler/icons-react'; @@ -24,191 +23,189 @@ import posyandustate from '../../../_state/kesehatan/posyandu/posyandu'; function CreatePosyandu() { - const statePosyandu = useProxy(posyandustate); - const router = useRouter(); - const [file, setFile] = useState(null); - const [previewImage, setPreviewImage] = useState(null); + const statePosyandu = useProxy(posyandustate); + const router = useRouter(); + const [file, setFile] = useState(null); + const [previewImage, setPreviewImage] = useState(null); - const resetForm = () => { - statePosyandu.create.form = { - name: '', - nomor: '', - deskripsi: '', - imageId: '', - jadwalPelayanan: '', - }; - setFile(null); - setPreviewImage(null); - }; + const resetForm = () => { + statePosyandu.create.form = { + name: '', + nomor: '', + deskripsi: '', + imageId: '', + jadwalPelayanan: '', + }; + setFile(null); + setPreviewImage(null); + }; - const handleSubmit = async () => { - if (!file) { - return toast.warn('Silakan pilih file gambar terlebih dahulu'); - } + const handleSubmit = async () => { + if (!file) { + return toast.warn('Silakan pilih file gambar terlebih dahulu'); + } - // Upload gambar dulu - const res = await ApiFetch.api.fileStorage.create.post({ - file, - name: file.name, - }); + // Upload gambar dulu + const res = await ApiFetch.api.fileStorage.create.post({ + file, + name: file.name, + }); - const uploaded = res.data?.data; - if (!uploaded?.id) { - return toast.error('Gagal upload gambar'); - } + const uploaded = res.data?.data; + if (!uploaded?.id) { + return toast.error('Gagal upload gambar'); + } - statePosyandu.create.form.imageId = uploaded.id; + statePosyandu.create.form.imageId = uploaded.id; - await statePosyandu.create.create(); + await statePosyandu.create.create(); - resetForm(); - router.push('/admin/kesehatan/posyandu'); - }; + resetForm(); + router.push('/admin/kesehatan/posyandu'); + }; - return ( - - {/* Header */} - - - - - - Tambah Posyandu - - + return ( + + {/* Header */} + + + + Tambah Posyandu + + - - - {/* Upload Gambar */} - - - Gambar Posyandu - - { - const selectedFile = files[0]; - if (selectedFile) { - setFile(selectedFile); - setPreviewImage(URL.createObjectURL(selectedFile)); - } - }} - onReject={() => toast.error('File tidak valid, gunakan format gambar')} - maxSize={5 * 1024 ** 2} - accept={{ 'image/*': [] }} - radius="md" - p="xl" - > - - - - - - - - - - - - - Seret gambar atau klik untuk memilih file (maks 5MB) - - + + + {/* Upload Gambar */} + + + Gambar Posyandu + + { + const selectedFile = files[0]; + if (selectedFile) { + setFile(selectedFile); + setPreviewImage(URL.createObjectURL(selectedFile)); + } + }} + onReject={() => toast.error('File tidak valid, gunakan format gambar')} + maxSize={5 * 1024 ** 2} + accept={{ 'image/*': [] }} + radius="md" + p="xl" + > + + + + + + + + + + + + + Seret gambar atau klik untuk memilih file (maks 5MB) + + - {previewImage && ( - - Preview Gambar - - )} - + {previewImage && ( + + Preview Gambar + + )} + - {/* Input Form */} - (statePosyandu.create.form.name = e.target.value)} - required - /> - (statePosyandu.create.form.nomor = e.target.value)} - required - /> - - - Deskripsi Posyandu - - { - statePosyandu.create.form.deskripsi = htmlContent; - }} - /> - - - - Jadwal Pelayanan - - { - statePosyandu.create.form.jadwalPelayanan = htmlContent; - }} - /> - + {/* Input Form */} + (statePosyandu.create.form.name = e.target.value)} + required + /> + (statePosyandu.create.form.nomor = e.target.value)} + required + /> + + + Deskripsi Posyandu + + { + statePosyandu.create.form.deskripsi = htmlContent; + }} + /> + + + + Jadwal Pelayanan + + { + statePosyandu.create.form.jadwalPelayanan = htmlContent; + }} + /> + - {/* Button */} - - - - - - - ); + {/* Button */} + + + + + + + ); } diff --git a/src/app/admin/(dashboard)/kesehatan/posyandu/page.tsx b/src/app/admin/(dashboard)/kesehatan/posyandu/page.tsx index b8528787..85691f00 100644 --- a/src/app/admin/(dashboard)/kesehatan/posyandu/page.tsx +++ b/src/app/admin/(dashboard)/kesehatan/posyandu/page.tsx @@ -1,23 +1,22 @@ 'use client' import colors from '@/con/colors'; import { - Box, - Button, - Center, - Group, - Pagination, - Paper, - Skeleton, - Stack, - Table, - TableTbody, - TableTd, - TableTh, - TableThead, - TableTr, - Text, - Title, - Tooltip + Box, + Button, + Center, + Group, + Pagination, + Paper, + Skeleton, + Stack, + Table, + TableTbody, + TableTd, + TableTh, + TableThead, + TableTr, + Text, + Title } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconDeviceImac, IconPlus, IconSearch } from '@tabler/icons-react'; @@ -29,148 +28,146 @@ import posyandustate from '../../_state/kesehatan/posyandu/posyandu'; function Posyandu() { - const [search, setSearch] = useState(""); - return ( - - } - value={search} - onChange={(e) => setSearch(e.currentTarget.value)} - /> - - - ); + const [search, setSearch] = useState(""); + return ( + + } + value={search} + onChange={(e) => setSearch(e.currentTarget.value)} + /> + + + ); } function ListPosyandu({ search }: { search: string }) { - const statePosyandu = useProxy(posyandustate) - const router = useRouter(); + const statePosyandu = useProxy(posyandustate) + const router = useRouter(); - const { - data, - page, - totalPages, - loading, - load, - } = statePosyandu.findMany; + const { + data, + page, + totalPages, + loading, + load, + } = statePosyandu.findMany; - useShallowEffect(() => { - load(page, 10, search) - }, [page, search]) + useShallowEffect(() => { + load(page, 10, search) + }, [page, search]) - const filteredData = data || []; + const filteredData = data || []; - if (loading || !data) { - return ( - - - - ) - } + if (loading || !data) { + return ( + + + + ) + } - return ( - - - - Daftar Posyandu - - - - - - - - - Nama Posyandu - Nomor Posyandu - Deskripsi - Aksi - - - - {filteredData.length > 0 ? ( - filteredData.map((item) => ( - - - - - {item.name} - - - - - - - {item.nomor || '-'} - - - - - - - - - - - - - )) - ) : ( - - -
- Tidak ada data posyandu yang cocok -
-
-
- )} -
-
-
-
-
- { - load(newPage, 10); - window.scrollTo({ top: 0, behavior: 'smooth' }); - }} - total={totalPages} - mt="md" - mb="md" - color="blue" - radius="md" - /> -
-
- ); + return ( + + + + Daftar Posyandu + + + + + + + Nama Posyandu + Nomor Posyandu + Deskripsi + Aksi + + + + {filteredData.length > 0 ? ( + filteredData.map((item) => ( + + + + + {item.name} + + + + + + + {item.nomor || '-'} + + + + + + + + + + + + + )) + ) : ( + + +
+ Tidak ada data posyandu yang cocok +
+
+
+ )} +
+
+
+
+
+ { + load(newPage, 10); + window.scrollTo({ top: 0, behavior: 'smooth' }); + }} + total={totalPages} + mt="md" + mb="md" + color="blue" + radius="md" + /> +
+
+ ); } diff --git a/src/app/admin/(dashboard)/kesehatan/program-kesehatan/[id]/edit/page.tsx b/src/app/admin/(dashboard)/kesehatan/program-kesehatan/[id]/edit/page.tsx index 1f0dcbec..249ade53 100644 --- a/src/app/admin/(dashboard)/kesehatan/program-kesehatan/[id]/edit/page.tsx +++ b/src/app/admin/(dashboard)/kesehatan/program-kesehatan/[id]/edit/page.tsx @@ -13,8 +13,7 @@ import { Stack, Text, TextInput, - Title, - Tooltip, + Title } from '@mantine/core'; import { Dropzone } from '@mantine/dropzone'; import { IconArrowBack, IconPhoto, IconUpload, IconX } from '@tabler/icons-react'; @@ -96,11 +95,9 @@ function EditProgramKesehatan() { return ( - - - + Edit Program Kesehatan diff --git a/src/app/admin/(dashboard)/kesehatan/program-kesehatan/[id]/page.tsx b/src/app/admin/(dashboard)/kesehatan/program-kesehatan/[id]/page.tsx index 5a36bca6..b1a1e6ec 100644 --- a/src/app/admin/(dashboard)/kesehatan/program-kesehatan/[id]/page.tsx +++ b/src/app/admin/(dashboard)/kesehatan/program-kesehatan/[id]/page.tsx @@ -1,13 +1,13 @@ 'use client' import colors from '@/con/colors'; -import { Box, Button, Group, Paper, Skeleton, Stack, Text, Tooltip, Image } from '@mantine/core'; +import { Box, Button, Group, Image, Paper, Skeleton, Stack, Text } from '@mantine/core'; +import { useShallowEffect } from '@mantine/hooks'; import { IconArrowBack, IconEdit, IconTrash } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; -import React, { useState } from 'react'; -import programKesehatan from '../../../_state/kesehatan/program-kesehatan/programKesehatan'; +import { useState } from 'react'; import { useProxy } from 'valtio/utils'; -import { useShallowEffect } from '@mantine/hooks'; import { ModalKonfirmasiHapus } from '../../../_com/modalKonfirmasiHapus'; +import programKesehatan from '../../../_state/kesehatan/program-kesehatan/programKesehatan'; function DetailProgramKesehatan() { const state = useProxy(programKesehatan); @@ -84,39 +84,35 @@ function DetailProgramKesehatan() { Gambar {data?.image?.link ? ( - gambar program kesehatan + gambar program kesehatan ) : ( - )} - - - + - - - + diff --git a/src/app/admin/(dashboard)/kesehatan/program-kesehatan/create/page.tsx b/src/app/admin/(dashboard)/kesehatan/program-kesehatan/create/page.tsx index 35d642df..75537a6e 100644 --- a/src/app/admin/(dashboard)/kesehatan/program-kesehatan/create/page.tsx +++ b/src/app/admin/(dashboard)/kesehatan/program-kesehatan/create/page.tsx @@ -10,9 +10,9 @@ import { Stack, Text, TextInput, - Title, - Tooltip + Title } from '@mantine/core'; +import { Dropzone } from '@mantine/dropzone'; import { IconArrowBack, IconPhoto, IconUpload, IconX } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; import { useState } from 'react'; @@ -20,7 +20,6 @@ import { toast } from 'react-toastify'; import { useProxy } from 'valtio/utils'; import CreateEditor from '../../../_com/createEditor'; import programKesehatan from '../../../_state/kesehatan/program-kesehatan/programKesehatan'; -import { Dropzone } from '@mantine/dropzone'; function CreateProgramKesehatan() { const router = useRouter(); @@ -71,11 +70,9 @@ function CreateProgramKesehatan() { {/* Header */} - - - + Tambah Program Kesehatan diff --git a/src/app/admin/(dashboard)/kesehatan/program-kesehatan/page.tsx b/src/app/admin/(dashboard)/kesehatan/program-kesehatan/page.tsx index 55ce2a2b..c033c538 100644 --- a/src/app/admin/(dashboard)/kesehatan/program-kesehatan/page.tsx +++ b/src/app/admin/(dashboard)/kesehatan/program-kesehatan/page.tsx @@ -16,8 +16,7 @@ import { TableThead, TableTr, Text, - Title, - Tooltip + Title } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconDeviceImacCog, IconPlus, IconSearch } from '@tabler/icons-react'; @@ -70,16 +69,14 @@ function ListProgramKesehatan({ search }: { search: string }) { {/* Header List + Tombol Tambah */} Daftar Program Kesehatan - - - + {/* Tabel */} diff --git a/src/app/admin/(dashboard)/kesehatan/puskesmas/[id]/edit/page.tsx b/src/app/admin/(dashboard)/kesehatan/puskesmas/[id]/edit/page.tsx index 9dd41e85..61f43035 100644 --- a/src/app/admin/(dashboard)/kesehatan/puskesmas/[id]/edit/page.tsx +++ b/src/app/admin/(dashboard)/kesehatan/puskesmas/[id]/edit/page.tsx @@ -13,8 +13,7 @@ import { Stack, Text, TextInput, - Title, - Tooltip, + Title } from '@mantine/core'; import { Dropzone } from '@mantine/dropzone'; import { IconArrowBack, IconPhoto, IconUpload, IconX } from '@tabler/icons-react'; @@ -150,11 +149,9 @@ function EditPuskesmas() { {/* Header dengan tombol back */} - - - + Edit Puskesmas diff --git a/src/app/admin/(dashboard)/kesehatan/puskesmas/[id]/page.tsx b/src/app/admin/(dashboard)/kesehatan/puskesmas/[id]/page.tsx index 2384ae36..d9947978 100644 --- a/src/app/admin/(dashboard)/kesehatan/puskesmas/[id]/page.tsx +++ b/src/app/admin/(dashboard)/kesehatan/puskesmas/[id]/page.tsx @@ -1,13 +1,13 @@ 'use client' import colors from '@/con/colors'; -import { Box, Button, Paper, Stack, Text, Image, Skeleton, Group, Tooltip } from '@mantine/core'; +import { Box, Button, Group, Image, Paper, Skeleton, Stack, Text } from '@mantine/core'; +import { useShallowEffect } from '@mantine/hooks'; import { IconArrowBack, IconEdit, IconTrash } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; -import React, { useState } from 'react'; -import puskesmasState from '../../../_state/kesehatan/puskesmas/puskesmas'; +import { useState } from 'react'; import { useProxy } from 'valtio/utils'; -import { useShallowEffect } from '@mantine/hooks'; import { ModalKonfirmasiHapus } from '../../../_com/modalKonfirmasiHapus'; +import puskesmasState from '../../../_state/kesehatan/puskesmas/puskesmas'; function DetailPuskesmas() { const params = useParams(); @@ -106,7 +106,6 @@ function DetailPuskesmas() { - - - - diff --git a/src/app/admin/(dashboard)/kesehatan/puskesmas/create/page.tsx b/src/app/admin/(dashboard)/kesehatan/puskesmas/create/page.tsx index 871b1235..59787839 100644 --- a/src/app/admin/(dashboard)/kesehatan/puskesmas/create/page.tsx +++ b/src/app/admin/(dashboard)/kesehatan/puskesmas/create/page.tsx @@ -10,8 +10,7 @@ import { Stack, Text, TextInput, - Title, - Tooltip, + Title } from '@mantine/core'; import { Dropzone } from '@mantine/dropzone'; import { IconArrowBack, IconPhoto, IconUpload, IconX } from '@tabler/icons-react'; @@ -77,11 +76,9 @@ function CreatePuskesmas() { {/* Header */} - - Tambah Data Puskesmas diff --git a/src/app/admin/(dashboard)/kesehatan/puskesmas/page.tsx b/src/app/admin/(dashboard)/kesehatan/puskesmas/page.tsx index 44e4b74c..0ec25757 100644 --- a/src/app/admin/(dashboard)/kesehatan/puskesmas/page.tsx +++ b/src/app/admin/(dashboard)/kesehatan/puskesmas/page.tsx @@ -16,8 +16,7 @@ import { TableThead, TableTr, Text, - Title, - Tooltip + Title } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconDeviceImacCog, IconPlus, IconSearch } from '@tabler/icons-react'; @@ -71,7 +70,6 @@ function ListPuskesmas({ search }: { search: string }) { Daftar Puskesmas - - diff --git a/src/app/admin/(dashboard)/landing-page/apbdes/[id]/edit/page.tsx b/src/app/admin/(dashboard)/landing-page/apbdes/[id]/edit/page.tsx index 4327ad4e..bdfc7be5 100644 --- a/src/app/admin/(dashboard)/landing-page/apbdes/[id]/edit/page.tsx +++ b/src/app/admin/(dashboard)/landing-page/apbdes/[id]/edit/page.tsx @@ -13,8 +13,7 @@ import { Stack, Text, TextInput, - Title, - Tooltip, + Title } from '@mantine/core'; import { Dropzone } from '@mantine/dropzone'; import { IconArrowBack, IconFile, IconPhoto, IconUpload, IconX } from '@tabler/icons-react'; @@ -114,11 +113,9 @@ function EditAPBDes() { return ( - - - + Edit APBDes diff --git a/src/app/admin/(dashboard)/landing-page/apbdes/[id]/page.tsx b/src/app/admin/(dashboard)/landing-page/apbdes/[id]/page.tsx index ce342456..4cd49a60 100644 --- a/src/app/admin/(dashboard)/landing-page/apbdes/[id]/page.tsx +++ b/src/app/admin/(dashboard)/landing-page/apbdes/[id]/page.tsx @@ -1,7 +1,7 @@ 'use client' import { useProxy } from 'valtio/utils'; -import { Box, Button, Group, Image, Paper, Skeleton, Stack, Text, Tooltip } from '@mantine/core'; +import { Box, Button, Group, Image, Paper, Skeleton, Stack, Text } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconArrowBack, IconEdit, IconFile, IconTrash } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; @@ -117,7 +117,6 @@ function DetailAPBDes() { - - - - diff --git a/src/app/admin/(dashboard)/landing-page/apbdes/create/page.tsx b/src/app/admin/(dashboard)/landing-page/apbdes/create/page.tsx index 1925e0a5..ec13e669 100644 --- a/src/app/admin/(dashboard)/landing-page/apbdes/create/page.tsx +++ b/src/app/admin/(dashboard)/landing-page/apbdes/create/page.tsx @@ -11,8 +11,7 @@ import { Stack, Text, TextInput, - Title, - Tooltip, + Title } from '@mantine/core'; import { Dropzone } from '@mantine/dropzone'; import { IconArrowBack, IconFile, IconPhoto, IconUpload, IconX } from '@tabler/icons-react'; @@ -83,11 +82,9 @@ function CreateAPBDes() { return ( - - Tambah APBDes diff --git a/src/app/admin/(dashboard)/landing-page/apbdes/page.tsx b/src/app/admin/(dashboard)/landing-page/apbdes/page.tsx index a2062280..e0fd60e5 100644 --- a/src/app/admin/(dashboard)/landing-page/apbdes/page.tsx +++ b/src/app/admin/(dashboard)/landing-page/apbdes/page.tsx @@ -1,6 +1,6 @@ 'use client' import colors from '@/con/colors'; -import { Box, Button, Center, Group, Pagination, Paper, Skeleton, Stack, Table, TableTbody, TableTd, TableTh, TableThead, TableTr, Text, Title, Tooltip } from '@mantine/core'; +import { Box, Button, Center, Group, Pagination, Paper, Skeleton, Stack, Table, TableTbody, TableTd, TableTh, TableThead, TableTr, Text, Title } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconDeviceImacCog, IconFile, IconPlus, IconSearch } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; @@ -57,7 +57,6 @@ function ListAPBDes({ search }: { search: string }) { Daftar APBDes - - diff --git a/src/app/admin/(dashboard)/landing-page/desa-anti-korupsi/_lib/layouTabs.tsx b/src/app/admin/(dashboard)/landing-page/desa-anti-korupsi/_lib/layouTabs.tsx index b0fc00e7..401f85a3 100644 --- a/src/app/admin/(dashboard)/landing-page/desa-anti-korupsi/_lib/layouTabs.tsx +++ b/src/app/admin/(dashboard)/landing-page/desa-anti-korupsi/_lib/layouTabs.tsx @@ -1,20 +1,19 @@ /* eslint-disable react-hooks/exhaustive-deps */ "use client"; -import { usePathname, useRouter } from "next/navigation"; -import React, { useEffect, useState } from "react"; +import colors from "@/con/colors"; import { + ScrollArea, Stack, Tabs, TabsList, TabsPanel, TabsTab, - Title, - Tooltip, - ScrollArea, + Title } from "@mantine/core"; -import { IconList, IconCategory } from "@tabler/icons-react"; -import colors from "@/con/colors"; +import { IconCategory, IconList } from "@tabler/icons-react"; +import { usePathname, useRouter } from "next/navigation"; +import React, { useEffect, useState } from "react"; function LayoutTabs({ children }: { children: React.ReactNode }) { const router = useRouter(); @@ -26,14 +25,12 @@ function LayoutTabs({ children }: { children: React.ReactNode }) { value: "listDesaAntiKorupsi", href: "/admin/landing-page/desa-anti-korupsi/list-desa-anti-korupsi", icon: , - tooltip: "Kelola daftar program desa anti korupsi", }, { label: "Kategori Desa Anti Korupsi", value: "kategoriDesaAntiKorupsi", href: "/admin/landing-page/desa-anti-korupsi/kategori-desa-anti-korupsi", icon: , - tooltip: "Kelola kategori desa anti korupsi", }, ]; @@ -85,26 +82,19 @@ function LayoutTabs({ children }: { children: React.ReactNode }) { }} > {tabs.map((tab, i) => ( - - - {tab.label} - - + {tab.label} + ))} diff --git a/src/app/admin/(dashboard)/landing-page/desa-anti-korupsi/kategori-desa-anti-korupsi/[id]/page.tsx b/src/app/admin/(dashboard)/landing-page/desa-anti-korupsi/kategori-desa-anti-korupsi/[id]/page.tsx index 48af5204..b73a741d 100644 --- a/src/app/admin/(dashboard)/landing-page/desa-anti-korupsi/kategori-desa-anti-korupsi/[id]/page.tsx +++ b/src/app/admin/(dashboard)/landing-page/desa-anti-korupsi/kategori-desa-anti-korupsi/[id]/page.tsx @@ -3,10 +3,10 @@ import korupsiState from '@/app/admin/(dashboard)/_state/landing-page/desa-anti-korupsi'; import colors from '@/con/colors'; -import { Box, Button, Group, Paper, Stack, TextInput, Title, Tooltip } from '@mantine/core'; +import { Box, Button, Group, Paper, Stack, TextInput, Title } from '@mantine/core'; import { IconArrowBack } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; -import { useEffect, useState, useCallback } from 'react'; +import { useCallback, useEffect, useState } from 'react'; import { toast } from 'react-toastify'; import { useProxy } from 'valtio/utils'; @@ -76,11 +76,9 @@ export default function EditKategoriDesaAntiKorupsi() { return ( - - Edit Kategori Desa Anti Korupsi diff --git a/src/app/admin/(dashboard)/landing-page/desa-anti-korupsi/kategori-desa-anti-korupsi/create/page.tsx b/src/app/admin/(dashboard)/landing-page/desa-anti-korupsi/kategori-desa-anti-korupsi/create/page.tsx index 15e3645c..bb816f12 100644 --- a/src/app/admin/(dashboard)/landing-page/desa-anti-korupsi/kategori-desa-anti-korupsi/create/page.tsx +++ b/src/app/admin/(dashboard)/landing-page/desa-anti-korupsi/kategori-desa-anti-korupsi/create/page.tsx @@ -1,7 +1,7 @@ /* eslint-disable react-hooks/exhaustive-deps */ 'use client' import colors from '@/con/colors'; -import { Box, Button, Group, Paper, Stack, TextInput, Title, Tooltip } from '@mantine/core'; +import { Box, Button, Group, Paper, Stack, TextInput, Title } from '@mantine/core'; import { IconArrowBack } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; import { useEffect } from 'react'; @@ -35,11 +35,9 @@ export default function CreateKategoriDesaAntiKorupsi() { return ( - - Tambah Kategori Desa Anti Korupsi diff --git a/src/app/admin/(dashboard)/landing-page/desa-anti-korupsi/kategori-desa-anti-korupsi/page.tsx b/src/app/admin/(dashboard)/landing-page/desa-anti-korupsi/kategori-desa-anti-korupsi/page.tsx index 19a507a2..6a5e8c88 100644 --- a/src/app/admin/(dashboard)/landing-page/desa-anti-korupsi/kategori-desa-anti-korupsi/page.tsx +++ b/src/app/admin/(dashboard)/landing-page/desa-anti-korupsi/kategori-desa-anti-korupsi/page.tsx @@ -1,6 +1,6 @@ 'use client' import colors from '@/con/colors'; -import { Box, Button, Center, Group, Pagination, Paper, Skeleton, Stack, Table, TableTbody, TableTd, TableTh, TableThead, TableTr, Text, Title, Tooltip } from '@mantine/core'; +import { Box, Button, Center, Group, Pagination, Paper, Skeleton, Stack, Table, TableTbody, TableTd, TableTh, TableThead, TableTr, Text, Title } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconEdit, IconPlus, IconSearch, IconTrash } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; @@ -68,7 +68,6 @@ function ListKategoriKegiatan({ search }: { search: string }) { Daftar Kategori Kegiatan - - @@ -98,7 +96,6 @@ function ListKategoriKegiatan({ search }: { search: string }) { - - - - )) diff --git a/src/app/admin/(dashboard)/landing-page/desa-anti-korupsi/list-desa-anti-korupsi/[id]/edit/page.tsx b/src/app/admin/(dashboard)/landing-page/desa-anti-korupsi/list-desa-anti-korupsi/[id]/edit/page.tsx index d60eb719..dfb4b0e6 100644 --- a/src/app/admin/(dashboard)/landing-page/desa-anti-korupsi/list-desa-anti-korupsi/[id]/edit/page.tsx +++ b/src/app/admin/(dashboard)/landing-page/desa-anti-korupsi/list-desa-anti-korupsi/[id]/edit/page.tsx @@ -1,19 +1,19 @@ /* eslint-disable react-hooks/exhaustive-deps */ 'use client'; -import { Box, Button, Group, Paper, Select, Stack, Text, TextInput, Title, Tooltip } from '@mantine/core'; -import { IconArrowBack, IconFile, IconUpload, IconX } from '@tabler/icons-react'; -import { useParams, useRouter } from 'next/navigation'; -import { useEffect, useState, ChangeEvent } from 'react'; -import { toast } from 'react-toastify'; -import { useProxy } from 'valtio/utils'; +import { Box, Button, Group, Paper, Select, Stack, Text, TextInput, Title } from '@mantine/core'; import { Dropzone } from '@mantine/dropzone'; import { useShallowEffect } from '@mantine/hooks'; +import { IconArrowBack, IconFile, IconUpload, IconX } from '@tabler/icons-react'; +import { useParams, useRouter } from 'next/navigation'; +import { ChangeEvent, useEffect, useState } from 'react'; +import { toast } from 'react-toastify'; +import { useProxy } from 'valtio/utils'; -import colors from '@/con/colors'; -import korupsiState from '@/app/admin/(dashboard)/_state/landing-page/desa-anti-korupsi'; -import ApiFetch from '@/lib/api-fetch'; import EditEditor from '@/app/admin/(dashboard)/_com/editEditor'; +import korupsiState from '@/app/admin/(dashboard)/_state/landing-page/desa-anti-korupsi'; +import colors from '@/con/colors'; +import ApiFetch from '@/lib/api-fetch'; interface FormDesaAntiKorupsi { name: string; @@ -123,11 +123,9 @@ export default function EditDesaAntiKorupsi() { return ( - - Edit Desa Anti Korupsi diff --git a/src/app/admin/(dashboard)/landing-page/desa-anti-korupsi/list-desa-anti-korupsi/[id]/page.tsx b/src/app/admin/(dashboard)/landing-page/desa-anti-korupsi/list-desa-anti-korupsi/[id]/page.tsx index 919eb39d..5b1f738c 100644 --- a/src/app/admin/(dashboard)/landing-page/desa-anti-korupsi/list-desa-anti-korupsi/[id]/page.tsx +++ b/src/app/admin/(dashboard)/landing-page/desa-anti-korupsi/list-desa-anti-korupsi/[id]/page.tsx @@ -2,7 +2,7 @@ import { ModalKonfirmasiHapus } from '@/app/admin/(dashboard)/_com/modalKonfirmasiHapus'; import korupsiState from '@/app/admin/(dashboard)/_state/landing-page/desa-anti-korupsi'; import colors from '@/con/colors'; -import { Box, Button, Group, Paper, Skeleton, Stack, Text, Tooltip } from '@mantine/core'; +import { Box, Button, Group, Paper, Skeleton, Stack, Text } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconArrowBack, IconEdit, IconTrash } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; @@ -113,7 +113,6 @@ export default function DetailKegiatanDesa() { - - - - diff --git a/src/app/admin/(dashboard)/landing-page/desa-anti-korupsi/list-desa-anti-korupsi/create/page.tsx b/src/app/admin/(dashboard)/landing-page/desa-anti-korupsi/list-desa-anti-korupsi/create/page.tsx index 1756842b..dc6e1210 100644 --- a/src/app/admin/(dashboard)/landing-page/desa-anti-korupsi/list-desa-anti-korupsi/create/page.tsx +++ b/src/app/admin/(dashboard)/landing-page/desa-anti-korupsi/list-desa-anti-korupsi/create/page.tsx @@ -13,8 +13,7 @@ import { Stack, Text, TextInput, - Title, - Tooltip, + Title } from '@mantine/core'; import { Dropzone } from '@mantine/dropzone'; import { IconArrowBack, IconFile, IconUpload, IconX } from '@tabler/icons-react'; @@ -23,7 +22,6 @@ import { useEffect, useState } from 'react'; import { toast } from 'react-toastify'; import { useProxy } from 'valtio/utils'; - export default function CreateDesaAntiKorupsi() { const router = useRouter(); const stateKorupsi = useProxy(korupsiState.desaAntikorupsi); @@ -87,11 +85,9 @@ export default function CreateDesaAntiKorupsi() { return ( - - Tambah Dokumen Desa Anti Korupsi diff --git a/src/app/admin/(dashboard)/landing-page/desa-anti-korupsi/list-desa-anti-korupsi/page.tsx b/src/app/admin/(dashboard)/landing-page/desa-anti-korupsi/list-desa-anti-korupsi/page.tsx index 097722fd..79046061 100644 --- a/src/app/admin/(dashboard)/landing-page/desa-anti-korupsi/list-desa-anti-korupsi/page.tsx +++ b/src/app/admin/(dashboard)/landing-page/desa-anti-korupsi/list-desa-anti-korupsi/page.tsx @@ -1,6 +1,6 @@ 'use client' -import { Box, Button, Center, Group, Pagination, Paper, Skeleton, Stack, Table, TableTbody, TableTd, TableTh, TableThead, TableTr, Text, Title, Tooltip } from '@mantine/core'; +import { Box, Button, Center, Group, Pagination, Paper, Skeleton, Stack, Table, TableTbody, TableTd, TableTh, TableThead, TableTr, Text, Title } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconDeviceImacCog, IconPlus, IconSearch } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; @@ -65,13 +65,11 @@ function ListDesaAntiKorupsi({ search }: { search: string }) { Daftar Program Desa Anti Korupsi - -
{tabs.map((e, i) => ( - - - {e.label} - - + + {e.label} + ))} diff --git a/src/app/admin/(dashboard)/landing-page/indeks-kepuasan-masyarakat/responden/[id]/edit/page.tsx b/src/app/admin/(dashboard)/landing-page/indeks-kepuasan-masyarakat/responden/[id]/edit/page.tsx index 98785c88..f203df16 100644 --- a/src/app/admin/(dashboard)/landing-page/indeks-kepuasan-masyarakat/responden/[id]/edit/page.tsx +++ b/src/app/admin/(dashboard)/landing-page/indeks-kepuasan-masyarakat/responden/[id]/edit/page.tsx @@ -1,24 +1,23 @@ 'use client' /* eslint-disable react-hooks/exhaustive-deps */ -import React, { useEffect, useState, useCallback } from 'react'; -import { useRouter, useParams } from 'next/navigation'; -import { useProxy } from 'valtio/utils'; +import indeksKepuasanState from '@/app/admin/(dashboard)/_state/landing-page/indeks-kepuasan'; import colors from '@/con/colors'; import { Box, Button, Group, Paper, - Stack, - Title, - TextInput, - Text, Select, - Tooltip, + Stack, + Text, + TextInput, + Title } from '@mantine/core'; import { IconArrowBack, IconDeviceFloppy } from '@tabler/icons-react'; -import indeksKepuasanState from '@/app/admin/(dashboard)/_state/landing-page/indeks-kepuasan'; +import { useParams, useRouter } from 'next/navigation'; +import { useCallback, useEffect, useState } from 'react'; import { toast } from 'react-toastify'; +import { useProxy } from 'valtio/utils'; interface FormResponden { name: string; @@ -120,11 +119,9 @@ function EditResponden() { return ( - - Edit Responden diff --git a/src/app/admin/(dashboard)/landing-page/indeks-kepuasan-masyarakat/responden/[id]/page.tsx b/src/app/admin/(dashboard)/landing-page/indeks-kepuasan-masyarakat/responden/[id]/page.tsx index 7bb65dc6..69178422 100644 --- a/src/app/admin/(dashboard)/landing-page/indeks-kepuasan-masyarakat/responden/[id]/page.tsx +++ b/src/app/admin/(dashboard)/landing-page/indeks-kepuasan-masyarakat/responden/[id]/page.tsx @@ -3,7 +3,7 @@ import { ModalKonfirmasiHapus } from "@/app/admin/(dashboard)/_com/modalKonfirmasiHapus" import indeksKepuasanState from "@/app/admin/(dashboard)/_state/landing-page/indeks-kepuasan" import colors from "@/con/colors" -import { Box, Button, Group, Paper, Skeleton, Stack, Text, Tooltip } from "@mantine/core" +import { Box, Button, Group, Paper, Skeleton, Stack, Text } from "@mantine/core" import { useShallowEffect } from "@mantine/hooks" import { IconArrowBack, IconEdit, IconTrash } from "@tabler/icons-react" import { useParams, useRouter } from "next/navigation" @@ -89,7 +89,6 @@ export default function DetailResponden() { - - - - - diff --git a/src/app/admin/(dashboard)/landing-page/prestasi-desa/_lib/layoutTabs.tsx b/src/app/admin/(dashboard)/landing-page/prestasi-desa/_lib/layoutTabs.tsx index 53da55c1..109e8f80 100644 --- a/src/app/admin/(dashboard)/landing-page/prestasi-desa/_lib/layoutTabs.tsx +++ b/src/app/admin/(dashboard)/landing-page/prestasi-desa/_lib/layoutTabs.tsx @@ -1,10 +1,10 @@ /* eslint-disable react-hooks/exhaustive-deps */ 'use client' +import colors from '@/con/colors'; +import { ScrollArea, Stack, Tabs, TabsList, TabsPanel, TabsTab, Title } from '@mantine/core'; +import { IconCategory, IconListDetails } from '@tabler/icons-react'; import { usePathname, useRouter } from 'next/navigation'; import React, { useEffect, useState } from 'react'; -import { ScrollArea, Stack, Tabs, TabsList, TabsPanel, TabsTab, Title, Tooltip } from '@mantine/core'; -import { IconCategory, IconListDetails } from '@tabler/icons-react'; -import colors from '@/con/colors'; function LayoutTabs({ children }: { children: React.ReactNode }) { const router = useRouter(); @@ -16,14 +16,12 @@ function LayoutTabs({ children }: { children: React.ReactNode }) { value: "listPrestasiDesa", href: "/admin/landing-page/prestasi-desa/list-prestasi-desa", icon: , - tooltip: "Kelola daftar prestasi desa", }, { label: "Kategori Prestasi", value: "kategoriPrestasiDesa", href: "/admin/landing-page/prestasi-desa/kategori-prestasi-desa", icon: , - tooltip: "Kelola kategori prestasi desa", }, ]; @@ -59,17 +57,17 @@ function LayoutTabs({ children }: { children: React.ReactNode }) { keepMounted={false} > - - {tabs.map((tab, i) => ( - + + {tabs.map((tab, i) => ( {tab.label} - - ))} - + ))} + {tabs.map((tab, i) => ( diff --git a/src/app/admin/(dashboard)/landing-page/prestasi-desa/kategori-prestasi-desa/[id]/page.tsx b/src/app/admin/(dashboard)/landing-page/prestasi-desa/kategori-prestasi-desa/[id]/page.tsx index 40f7b19c..6614f2eb 100644 --- a/src/app/admin/(dashboard)/landing-page/prestasi-desa/kategori-prestasi-desa/[id]/page.tsx +++ b/src/app/admin/(dashboard)/landing-page/prestasi-desa/kategori-prestasi-desa/[id]/page.tsx @@ -3,7 +3,7 @@ import prestasiState from '@/app/admin/(dashboard)/_state/landing-page/prestasi-desa'; import colors from '@/con/colors'; -import { Box, Button, Group, Paper, Stack, TextInput, Title, Tooltip } from '@mantine/core'; +import { Box, Button, Group, Paper, Stack, TextInput, Title } from '@mantine/core'; import { IconArrowBack } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; import { useEffect, useState } from 'react'; @@ -67,11 +67,9 @@ function EditKategoriPrestasi() { return ( - - - + Edit Kategori Prestasi diff --git a/src/app/admin/(dashboard)/landing-page/prestasi-desa/kategori-prestasi-desa/create/page.tsx b/src/app/admin/(dashboard)/landing-page/prestasi-desa/kategori-prestasi-desa/create/page.tsx index c03a0ba6..3d3a09d3 100644 --- a/src/app/admin/(dashboard)/landing-page/prestasi-desa/kategori-prestasi-desa/create/page.tsx +++ b/src/app/admin/(dashboard)/landing-page/prestasi-desa/kategori-prestasi-desa/create/page.tsx @@ -2,7 +2,7 @@ 'use client' import prestasiState from '@/app/admin/(dashboard)/_state/landing-page/prestasi-desa'; import colors from '@/con/colors'; -import { Box, Button, Group, Paper, Stack, TextInput, Title, Tooltip } from '@mantine/core'; +import { Box, Button, Group, Paper, Stack, TextInput, Title } from '@mantine/core'; import { IconArrowBack } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; import { useEffect } from 'react'; @@ -32,11 +32,9 @@ function CreateKategoriPrestasi() { return ( - - - + Tambah Kategori Prestasi diff --git a/src/app/admin/(dashboard)/landing-page/prestasi-desa/kategori-prestasi-desa/page.tsx b/src/app/admin/(dashboard)/landing-page/prestasi-desa/kategori-prestasi-desa/page.tsx index 7fe4cb43..a8684a78 100644 --- a/src/app/admin/(dashboard)/landing-page/prestasi-desa/kategori-prestasi-desa/page.tsx +++ b/src/app/admin/(dashboard)/landing-page/prestasi-desa/kategori-prestasi-desa/page.tsx @@ -1,6 +1,6 @@ 'use client' import colors from '@/con/colors'; -import { Box, Button, Center, Group, Pagination, Paper, Skeleton, Stack, Table, TableTbody, TableTd, TableTh, TableThead, TableTr, Text, Title, Tooltip } from '@mantine/core'; +import { Box, Button, Center, Group, Pagination, Paper, Skeleton, Stack, Table, TableTbody, TableTd, TableTh, TableThead, TableTr, Text, Title } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconEdit, IconPlus, IconSearch, IconTrash } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; @@ -68,11 +68,9 @@ function ListKategoriPrestasi({ search }: { search: string }) { List Kategori Prestasi - - @@ -102,7 +100,6 @@ function ListKategoriPrestasi({ search }: { search: string }) { - - - - )) diff --git a/src/app/admin/(dashboard)/landing-page/prestasi-desa/list-prestasi-desa/[id]/edit/page.tsx b/src/app/admin/(dashboard)/landing-page/prestasi-desa/list-prestasi-desa/[id]/edit/page.tsx index b68990ac..b10fea7a 100644 --- a/src/app/admin/(dashboard)/landing-page/prestasi-desa/list-prestasi-desa/[id]/edit/page.tsx +++ b/src/app/admin/(dashboard)/landing-page/prestasi-desa/list-prestasi-desa/[id]/edit/page.tsx @@ -1,16 +1,16 @@ /* eslint-disable react-hooks/exhaustive-deps */ 'use client'; -import { useProxy } from 'valtio/utils'; -import { useEffect, useState } from 'react'; -import { useParams, useRouter } from 'next/navigation'; -import { Box, Button, Group, Image, Paper, Select, Stack, Text, TextInput, Title, Tooltip } from '@mantine/core'; +import { Box, Button, Group, Image, Paper, Select, Stack, Text, TextInput, Title } from '@mantine/core'; import { Dropzone } from '@mantine/dropzone'; import { IconArrowBack, IconPhoto, IconUpload, IconX } from '@tabler/icons-react'; +import { useParams, useRouter } from 'next/navigation'; +import { useEffect, useState } from 'react'; import { toast } from 'react-toastify'; +import { useProxy } from 'valtio/utils'; -import colors from '@/con/colors'; import EditEditor from '@/app/admin/(dashboard)/_com/editEditor'; import prestasiState from '@/app/admin/(dashboard)/_state/landing-page/prestasi-desa'; +import colors from '@/con/colors'; import ApiFetch from '@/lib/api-fetch'; interface FormPrestasiDesa { @@ -96,11 +96,9 @@ export default function EditPrestasiDesa() { return ( - - Edit Prestasi Desa diff --git a/src/app/admin/(dashboard)/landing-page/prestasi-desa/list-prestasi-desa/[id]/page.tsx b/src/app/admin/(dashboard)/landing-page/prestasi-desa/list-prestasi-desa/[id]/page.tsx index d7c3ecba..1a4e101c 100644 --- a/src/app/admin/(dashboard)/landing-page/prestasi-desa/list-prestasi-desa/[id]/page.tsx +++ b/src/app/admin/(dashboard)/landing-page/prestasi-desa/list-prestasi-desa/[id]/page.tsx @@ -2,7 +2,7 @@ import { ModalKonfirmasiHapus } from '@/app/admin/(dashboard)/_com/modalKonfirmasiHapus'; import prestasiState from '@/app/admin/(dashboard)/_state/landing-page/prestasi-desa'; import colors from '@/con/colors'; -import { Box, Button, Group, Image, Paper, Skeleton, Stack, Text, Tooltip } from '@mantine/core'; +import { Box, Button, Group, Image, Paper, Skeleton, Stack, Text } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconArrowBack, IconEdit, IconTrash } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; @@ -104,7 +104,6 @@ function DetailPrestasiDesa() { - - - - diff --git a/src/app/admin/(dashboard)/landing-page/prestasi-desa/list-prestasi-desa/create/page.tsx b/src/app/admin/(dashboard)/landing-page/prestasi-desa/list-prestasi-desa/create/page.tsx index 8462f93d..cb15bb3d 100644 --- a/src/app/admin/(dashboard)/landing-page/prestasi-desa/list-prestasi-desa/create/page.tsx +++ b/src/app/admin/(dashboard)/landing-page/prestasi-desa/list-prestasi-desa/create/page.tsx @@ -4,7 +4,7 @@ import CreateEditor from '@/app/admin/(dashboard)/_com/createEditor'; import prestasiState from '@/app/admin/(dashboard)/_state/landing-page/prestasi-desa'; import colors from '@/con/colors'; import ApiFetch from '@/lib/api-fetch'; -import { Box, Button, Group, Image, Paper, Select, Stack, Text, TextInput, Title, Tooltip } from '@mantine/core'; +import { Box, Button, Group, Image, Paper, Select, Stack, Text, TextInput, Title } from '@mantine/core'; import { Dropzone } from '@mantine/dropzone'; import { IconArrowBack, IconPhoto, IconUpload, IconX } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; @@ -61,11 +61,9 @@ function CreatePrestasiDesa() { return ( - - Tambah Prestasi Desa diff --git a/src/app/admin/(dashboard)/landing-page/prestasi-desa/list-prestasi-desa/page.tsx b/src/app/admin/(dashboard)/landing-page/prestasi-desa/list-prestasi-desa/page.tsx index 0b18c124..1059a1f7 100644 --- a/src/app/admin/(dashboard)/landing-page/prestasi-desa/list-prestasi-desa/page.tsx +++ b/src/app/admin/(dashboard)/landing-page/prestasi-desa/list-prestasi-desa/page.tsx @@ -1,7 +1,7 @@ /* eslint-disable react-hooks/exhaustive-deps */ 'use client' import colors from '@/con/colors'; -import { Box, Button, Center, Group, Pagination, Paper, Skeleton, Stack, Table, TableTbody, TableTd, TableTh, TableThead, TableTr, Text, Title, Tooltip } from '@mantine/core'; +import { Box, Button, Center, Group, Pagination, Paper, Skeleton, Stack, Table, TableTbody, TableTd, TableTh, TableThead, TableTr, Text, Title } from '@mantine/core'; import { IconDeviceImacCog, IconPlus, IconSearch } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; import { useEffect, useState } from 'react'; @@ -70,7 +70,6 @@ function ListPrestasi({ search }: { search: string }) { Daftar Prestasi Desa - -
@@ -109,7 +107,6 @@ function ListPrestasi({ search }: { search: string }) { - - )) diff --git a/src/app/admin/(dashboard)/landing-page/profile/_lib/layoutTabs.tsx b/src/app/admin/(dashboard)/landing-page/profile/_lib/layoutTabs.tsx index 24595d4b..c5e029cb 100644 --- a/src/app/admin/(dashboard)/landing-page/profile/_lib/layoutTabs.tsx +++ b/src/app/admin/(dashboard)/landing-page/profile/_lib/layoutTabs.tsx @@ -1,19 +1,18 @@ /* eslint-disable react-hooks/exhaustive-deps */ 'use client' -import { usePathname, useRouter } from 'next/navigation'; -import React, { useEffect, useState } from 'react'; +import colors from '@/con/colors'; import { + ScrollArea, Stack, Tabs, TabsList, TabsPanel, TabsTab, - Title, - Tooltip, - ScrollArea, + Title } from '@mantine/core'; -import { IconBulb, IconUsers, IconBrandFacebook } from '@tabler/icons-react'; -import colors from '@/con/colors'; +import { IconBrandFacebook, IconBulb, IconUsers } from '@tabler/icons-react'; +import { usePathname, useRouter } from 'next/navigation'; +import React, { useEffect, useState } from 'react'; function LayoutTabs({ children }: { children: React.ReactNode }) { const router = useRouter(); @@ -25,21 +24,18 @@ function LayoutTabs({ children }: { children: React.ReactNode }) { value: "program-inovasi", href: "/admin/landing-page/profile/program-inovasi", icon: , - tooltip: "Lihat dan kelola program inovasi desa", }, { label: "Pejabat Desa", value: "pejabat-desa", href: "/admin/landing-page/profile/pejabat-desa", icon: , - tooltip: "Kelola data pejabat desa", }, { label: "Media Sosial", value: "media-sosial", href: "/admin/landing-page/profile/media-sosial", icon: , - tooltip: "Atur tautan media sosial desa", }, ]; @@ -92,26 +88,19 @@ function LayoutTabs({ children }: { children: React.ReactNode }) { }} > {tabs.map((tab, i) => ( - - - {tab.label} - - + {tab.label} + ))} diff --git a/src/app/admin/(dashboard)/landing-page/profile/media-sosial/[id]/page.tsx b/src/app/admin/(dashboard)/landing-page/profile/media-sosial/[id]/page.tsx index c1ed2c0b..d6aecffd 100644 --- a/src/app/admin/(dashboard)/landing-page/profile/media-sosial/[id]/page.tsx +++ b/src/app/admin/(dashboard)/landing-page/profile/media-sosial/[id]/page.tsx @@ -2,7 +2,7 @@ import { ModalKonfirmasiHapus } from '@/app/admin/(dashboard)/_com/modalKonfirmasiHapus'; import profileLandingPageState from '@/app/admin/(dashboard)/_state/landing-page/profile'; import colors from '@/con/colors'; -import { Box, Button, Group, Image, Paper, Skeleton, Stack, Text, Tooltip } from '@mantine/core'; +import { Box, Button, Group, Image, Paper, Skeleton, Stack, Text } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconArrowBack, IconEdit, IconTrash } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; @@ -95,7 +95,6 @@ function DetailMediaSosial() { - - - - diff --git a/src/app/admin/(dashboard)/landing-page/profile/pejabat-desa/page.tsx b/src/app/admin/(dashboard)/landing-page/profile/pejabat-desa/page.tsx index 62e0116d..a425140a 100644 --- a/src/app/admin/(dashboard)/landing-page/profile/pejabat-desa/page.tsx +++ b/src/app/admin/(dashboard)/landing-page/profile/pejabat-desa/page.tsx @@ -1,11 +1,11 @@ 'use client' +import profileLandingPageState from '@/app/admin/(dashboard)/_state/landing-page/profile'; import colors from '@/con/colors'; -import { Box, Button, Center, Divider, Grid, GridCol, Image, Paper, Skeleton, Stack, Text, Title, Tooltip } from '@mantine/core'; +import { Box, Button, Center, Divider, Grid, GridCol, Image, Paper, Skeleton, Stack, Text, Title } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconEdit } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; import { useProxy } from 'valtio/utils'; -import profileLandingPageState from '@/app/admin/(dashboard)/_state/landing-page/profile'; function Page() { const router = useRouter(); @@ -35,7 +35,6 @@ function Page() { Preview Pejabat Desa - - {dataArray.map((item) => ( diff --git a/src/app/admin/(dashboard)/landing-page/profile/program-inovasi/[id]/page.tsx b/src/app/admin/(dashboard)/landing-page/profile/program-inovasi/[id]/page.tsx index 8d57d922..8ae6df07 100644 --- a/src/app/admin/(dashboard)/landing-page/profile/program-inovasi/[id]/page.tsx +++ b/src/app/admin/(dashboard)/landing-page/profile/program-inovasi/[id]/page.tsx @@ -2,7 +2,7 @@ import { ModalKonfirmasiHapus } from '@/app/admin/(dashboard)/_com/modalKonfirmasiHapus'; import profileLandingPageState from '@/app/admin/(dashboard)/_state/landing-page/profile'; import colors from '@/con/colors'; -import { Box, Button, Group, Image, Paper, Skeleton, Stack, Text, Tooltip } from '@mantine/core'; +import { Box, Button, Group, Image, Paper, Skeleton, Stack, Text } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconArrowBack, IconEdit, IconTrash } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; @@ -106,7 +106,6 @@ function DetailProgramInovasi() { - - - - diff --git a/src/app/admin/(dashboard)/landing-page/sdgs-desa/[id]/edit/page.tsx b/src/app/admin/(dashboard)/landing-page/sdgs-desa/[id]/edit/page.tsx index dd65bf5a..ca6d3b99 100644 --- a/src/app/admin/(dashboard)/landing-page/sdgs-desa/[id]/edit/page.tsx +++ b/src/app/admin/(dashboard)/landing-page/sdgs-desa/[id]/edit/page.tsx @@ -8,13 +8,12 @@ import { Box, Button, Group, + Image, Paper, Stack, Text, TextInput, - Title, - Tooltip, - Image, + Title } from "@mantine/core"; import { Dropzone } from "@mantine/dropzone"; import { IconArrowBack, IconDeviceFloppy, IconPhoto, IconUpload, IconX } from "@tabler/icons-react"; @@ -94,11 +93,9 @@ export default function EditKolaborasiInovasi() { return ( - - Edit Sdgs Desa diff --git a/src/app/admin/(dashboard)/landing-page/sdgs-desa/[id]/page.tsx b/src/app/admin/(dashboard)/landing-page/sdgs-desa/[id]/page.tsx index 59b8f825..7cd5265d 100644 --- a/src/app/admin/(dashboard)/landing-page/sdgs-desa/[id]/page.tsx +++ b/src/app/admin/(dashboard)/landing-page/sdgs-desa/[id]/page.tsx @@ -1,10 +1,10 @@ 'use client' -import { useProxy } from 'valtio/utils'; -import { Box, Button, Group, Image, Paper, Skeleton, Stack, Text, Tooltip } from '@mantine/core'; +import { Box, Button, Group, Image, Paper, Skeleton, Stack, Text } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconArrowBack, IconEdit, IconX } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; import { useState } from 'react'; +import { useProxy } from 'valtio/utils'; import colors from '@/con/colors'; import { ModalKonfirmasiHapus } from '../../../_com/modalKonfirmasiHapus'; @@ -95,7 +95,6 @@ function DetailSDGSDesa() { - - - - diff --git a/src/app/admin/(dashboard)/landing-page/sdgs-desa/create/page.tsx b/src/app/admin/(dashboard)/landing-page/sdgs-desa/create/page.tsx index 0b1b6517..474ea855 100644 --- a/src/app/admin/(dashboard)/landing-page/sdgs-desa/create/page.tsx +++ b/src/app/admin/(dashboard)/landing-page/sdgs-desa/create/page.tsx @@ -2,7 +2,7 @@ 'use client' import colors from '@/con/colors'; import ApiFetch from '@/lib/api-fetch'; -import { Box, Button, Group, Image, Paper, Stack, Text, TextInput, Title, Tooltip } from '@mantine/core'; +import { Box, Button, Group, Image, Paper, Stack, Text, TextInput, Title } from '@mantine/core'; import { Dropzone } from '@mantine/dropzone'; import { IconArrowBack, IconDeviceFloppy, IconPhoto, IconUpload, IconX } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; @@ -58,11 +58,9 @@ function CreateSDGsDesa() { return ( - - Tambah Sdgs Desa diff --git a/src/app/admin/(dashboard)/landing-page/sdgs-desa/page.tsx b/src/app/admin/(dashboard)/landing-page/sdgs-desa/page.tsx index e7eadb5e..644ba1cd 100644 --- a/src/app/admin/(dashboard)/landing-page/sdgs-desa/page.tsx +++ b/src/app/admin/(dashboard)/landing-page/sdgs-desa/page.tsx @@ -1,6 +1,6 @@ 'use client' import colors from '@/con/colors'; -import { Box, Button, Center, Group, Pagination, Paper, Skeleton, Stack, Table, TableTbody, TableTd, TableTh, TableThead, TableTr, Text, Title, Tooltip } from '@mantine/core'; +import { Box, Button, Center, Group, Pagination, Paper, Skeleton, Stack, Table, TableTbody, TableTd, TableTh, TableThead, TableTr, Text, Title } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconDeviceImacCog, IconPlus, IconSearch } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; @@ -59,7 +59,6 @@ function ListSdgsDesa({ search }: { search: string }) { Daftar Sdgs Desa - -
@@ -98,13 +96,11 @@ function ListSdgsDesa({ search }: { search: string }) { Daftar Sdgs Desa - -
@@ -129,7 +125,6 @@ function ListSdgsDesa({ search }: { search: string }) { - - ))} diff --git a/src/app/admin/(dashboard)/ppid/daftar-informasi-publik-desa-darmasaba/[id]/edit/page.tsx b/src/app/admin/(dashboard)/ppid/daftar-informasi-publik-desa-darmasaba/[id]/edit/page.tsx index 8a7b9a43..86196775 100644 --- a/src/app/admin/(dashboard)/ppid/daftar-informasi-publik-desa-darmasaba/[id]/edit/page.tsx +++ b/src/app/admin/(dashboard)/ppid/daftar-informasi-publik-desa-darmasaba/[id]/edit/page.tsx @@ -4,7 +4,7 @@ import EditEditor from '@/app/admin/(dashboard)/_com/editEditor'; import daftarInformasiPublik from '@/app/admin/(dashboard)/_state/ppid/daftar_informasi_publik/daftarInformasiPublik'; import colors from '@/con/colors'; -import { Box, Button, Group, Paper, Stack, Text, TextInput, Title, Tooltip } from '@mantine/core'; +import { Box, Button, Group, Paper, Stack, Text, TextInput, Title } from '@mantine/core'; import { IconArrowBack } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; import { useEffect, useState } from 'react'; @@ -81,11 +81,9 @@ function EditDaftarInformasiPublik() { return ( - - Edit Daftar Informasi Publik diff --git a/src/app/admin/(dashboard)/ppid/daftar-informasi-publik-desa-darmasaba/[id]/page.tsx b/src/app/admin/(dashboard)/ppid/daftar-informasi-publik-desa-darmasaba/[id]/page.tsx index ac4f92d8..69f1da44 100644 --- a/src/app/admin/(dashboard)/ppid/daftar-informasi-publik-desa-darmasaba/[id]/page.tsx +++ b/src/app/admin/(dashboard)/ppid/daftar-informasi-publik-desa-darmasaba/[id]/page.tsx @@ -1,9 +1,9 @@ 'use client' import colors from '@/con/colors'; -import { Box, Button, Group, Paper, Skeleton, Stack, Text, Tooltip } from '@mantine/core'; +import { Box, Button, Group, Paper, Skeleton, Stack, Text } from '@mantine/core'; +import { useShallowEffect } from '@mantine/hooks'; import { IconArrowBack, IconEdit, IconTrash } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; -import { useShallowEffect } from '@mantine/hooks'; import { useState } from 'react'; import { useProxy } from 'valtio/utils'; import { ModalKonfirmasiHapus } from '../../../_com/modalKonfirmasiHapus'; @@ -93,7 +93,6 @@ function DetailDaftarInformasiPublik() { - - - - diff --git a/src/app/admin/(dashboard)/ppid/daftar-informasi-publik-desa-darmasaba/create/page.tsx b/src/app/admin/(dashboard)/ppid/daftar-informasi-publik-desa-darmasaba/create/page.tsx index aadfe5d0..45495a93 100644 --- a/src/app/admin/(dashboard)/ppid/daftar-informasi-publik-desa-darmasaba/create/page.tsx +++ b/src/app/admin/(dashboard)/ppid/daftar-informasi-publik-desa-darmasaba/create/page.tsx @@ -1,6 +1,6 @@ 'use client' import colors from '@/con/colors'; -import { Box, Button, Group, Paper, Stack, Text, TextInput, Title, Tooltip } from '@mantine/core'; +import { Box, Button, Group, Paper, Stack, Text, TextInput, Title } from '@mantine/core'; import { IconArrowBack } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; import { useProxy } from 'valtio/utils'; @@ -43,11 +43,9 @@ export default function CreateDaftarInformasi() { return ( - - Tambah Informasi Publik diff --git a/src/app/admin/(dashboard)/ppid/daftar-informasi-publik-desa-darmasaba/page.tsx b/src/app/admin/(dashboard)/ppid/daftar-informasi-publik-desa-darmasaba/page.tsx index 02624b52..8562b7c8 100644 --- a/src/app/admin/(dashboard)/ppid/daftar-informasi-publik-desa-darmasaba/page.tsx +++ b/src/app/admin/(dashboard)/ppid/daftar-informasi-publik-desa-darmasaba/page.tsx @@ -1,9 +1,9 @@ 'use client' import colors from '@/con/colors'; -import { Box, Button, Center, Group, Pagination, Paper, Skeleton, Stack, Table, TableTbody, TableTd, TableTh, TableThead, TableTr, Text, Title, Tooltip } from '@mantine/core'; +import { Box, Button, Center, Group, Pagination, Paper, Skeleton, Stack, Table, TableTbody, TableTd, TableTh, TableThead, TableTr, Text, Title } from '@mantine/core'; +import { useShallowEffect, useViewportSize } from '@mantine/hooks'; import { IconDeviceImacCog, IconPlus, IconSearch } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; -import { useShallowEffect, useViewportSize } from '@mantine/hooks'; import { useState } from 'react'; import { useProxy } from 'valtio/utils'; import HeaderSearch from '../../_com/header'; @@ -52,7 +52,6 @@ function ListDaftarInformasi({ search }: { search: string }) { Daftar Informasi Publik - - {filteredData.length === 0 ? ( @@ -92,29 +90,19 @@ function ListDaftarInformasi({ search }: { search: string }) { {(page - 1) * 10 + index + 1} - {item.jenisInformasi} - - ]*>?/gm, '')} - position="top-start" - openDelay={500} - multiline - maw={400} - > {item.deskripsi?.replace(/<[^>]*>?/gm, '').substring(0, 80) + '...'} - + - - ))} diff --git a/src/app/admin/(dashboard)/ppid/dasar-hukum/edit/page.tsx b/src/app/admin/(dashboard)/ppid/dasar-hukum/edit/page.tsx index 28fcaef5..4867d90b 100644 --- a/src/app/admin/(dashboard)/ppid/dasar-hukum/edit/page.tsx +++ b/src/app/admin/(dashboard)/ppid/dasar-hukum/edit/page.tsx @@ -1,13 +1,13 @@ 'use client'; import colors from '@/con/colors'; -import { Box, Button, Group, Paper, Stack, Text, Title, Tooltip } from '@mantine/core'; +import { Box, Button, Group, Paper, Stack, Text, Title } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; +import { IconArrowBack } from '@tabler/icons-react'; import dynamic from 'next/dynamic'; +import { useRouter } from 'next/navigation'; import { useEffect, useState } from 'react'; import { useProxy } from 'valtio/utils'; import stateDasarHukumPPID from '../../../_state/ppid/dasar_hukum/dasarHukum'; -import { useRouter } from 'next/navigation'; -import { IconArrowBack } from '@tabler/icons-react'; const PPIDTextEditor = dynamic( () => import('../../_com/PPIDTextEditor').then(mod => mod.PPIDTextEditor), @@ -50,11 +50,9 @@ function EditDasarHukum() { return ( - - Edit Dasar Hukum PPID diff --git a/src/app/admin/(dashboard)/ppid/dasar-hukum/page.tsx b/src/app/admin/(dashboard)/ppid/dasar-hukum/page.tsx index 520a5111..aa38d47e 100644 --- a/src/app/admin/(dashboard)/ppid/dasar-hukum/page.tsx +++ b/src/app/admin/(dashboard)/ppid/dasar-hukum/page.tsx @@ -1,6 +1,6 @@ 'use client'; import colors from '@/con/colors'; -import { Box, Button, Center, Divider, Grid, GridCol, Image, Paper, Skeleton, Stack, Text, Title, Tooltip } from '@mantine/core'; +import { Box, Button, Center, Divider, Grid, GridCol, Image, Paper, Skeleton, Stack, Text, Title } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconEdit } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; @@ -40,7 +40,6 @@ function Page() { Preview Dasar Hukum PPID - - diff --git a/src/app/admin/(dashboard)/ppid/ikm-desa-darmasaba/responden/[id]/edit/page.tsx b/src/app/admin/(dashboard)/ppid/ikm-desa-darmasaba/responden/[id]/edit/page.tsx index 808be9ac..f11990e2 100644 --- a/src/app/admin/(dashboard)/ppid/ikm-desa-darmasaba/responden/[id]/edit/page.tsx +++ b/src/app/admin/(dashboard)/ppid/ikm-desa-darmasaba/responden/[id]/edit/page.tsx @@ -2,10 +2,10 @@ 'use client' import indeksKepuasanState from '@/app/admin/(dashboard)/_state/landing-page/indeks-kepuasan'; import colors from '@/con/colors'; -import { Box, Button, Group, Paper, Select, Stack, TextInput, Title, Tooltip } from '@mantine/core'; +import { Box, Button, Group, Paper, Select, Stack, TextInput, Title } from '@mantine/core'; import { IconArrowBack, IconDeviceFloppy } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; -import { useEffect, useState, ChangeEvent } from 'react'; +import { ChangeEvent, useEffect, useState } from 'react'; import { toast } from 'react-toastify'; import { useProxy } from 'valtio/utils'; @@ -87,11 +87,9 @@ function EditResponden() { return ( - - Edit Responden diff --git a/src/app/admin/(dashboard)/ppid/ikm-desa-darmasaba/responden/[id]/page.tsx b/src/app/admin/(dashboard)/ppid/ikm-desa-darmasaba/responden/[id]/page.tsx index 5f132b8a..a965cd88 100644 --- a/src/app/admin/(dashboard)/ppid/ikm-desa-darmasaba/responden/[id]/page.tsx +++ b/src/app/admin/(dashboard)/ppid/ikm-desa-darmasaba/responden/[id]/page.tsx @@ -3,7 +3,7 @@ import { ModalKonfirmasiHapus } from "@/app/admin/(dashboard)/_com/modalKonfirmasiHapus" import indeksKepuasanState from "@/app/admin/(dashboard)/_state/landing-page/indeks-kepuasan" import colors from "@/con/colors" -import { Box, Button, Group, Paper, Skeleton, Stack, Text, Tooltip } from "@mantine/core" +import { Box, Button, Group, Paper, Skeleton, Stack, Text } from "@mantine/core" import { useShallowEffect } from "@mantine/hooks" import { IconArrowBack, IconEdit, IconTrash } from "@tabler/icons-react" import { useParams, useRouter } from "next/navigation" @@ -89,7 +89,6 @@ export default function DetailResponden() { - - - - diff --git a/src/app/admin/(dashboard)/ppid/permohonan-informasi-publik/page.tsx b/src/app/admin/(dashboard)/ppid/permohonan-informasi-publik/page.tsx index 8aa329ce..3afd656b 100644 --- a/src/app/admin/(dashboard)/ppid/permohonan-informasi-publik/page.tsx +++ b/src/app/admin/(dashboard)/ppid/permohonan-informasi-publik/page.tsx @@ -1,6 +1,6 @@ 'use client' import colors from '@/con/colors' -import { Box, Button, Group, Paper, Skeleton, Stack, Table, TableTbody, TableTd, TableTh, TableThead, TableTr, Text, Title, Tooltip } from '@mantine/core' +import { Box, Button, Group, Paper, Skeleton, Stack, Table, TableTbody, TableTd, TableTh, TableThead, TableTr, Text, Title } from '@mantine/core' import { useShallowEffect } from '@mantine/hooks' import { IconDeviceImacCog, IconId, IconInfoCircle, IconPhone, IconUser } from '@tabler/icons-react' import { useRouter } from 'next/navigation' @@ -32,9 +32,7 @@ function Page() { Daftar Permohonan Informasi Publik - - {data.length === 0 ? ( diff --git a/src/app/admin/(dashboard)/ppid/permohonan-keberatan-informasi-publik/page.tsx b/src/app/admin/(dashboard)/ppid/permohonan-keberatan-informasi-publik/page.tsx index 2d651a3e..6471f29b 100644 --- a/src/app/admin/(dashboard)/ppid/permohonan-keberatan-informasi-publik/page.tsx +++ b/src/app/admin/(dashboard)/ppid/permohonan-keberatan-informasi-publik/page.tsx @@ -1,11 +1,11 @@ 'use client' import colors from '@/con/colors' -import { Box, Button, Group, Paper, Skeleton, Stack, Table, TableTbody, TableTd, TableTh, TableThead, TableTr, Text, Title, Tooltip } from '@mantine/core' +import { Box, Button, Group, Paper, Skeleton, Stack, Table, TableTbody, TableTd, TableTh, TableThead, TableTr, Text, Title } from '@mantine/core' import { useShallowEffect } from '@mantine/hooks' import { IconDeviceImacCog, IconInfoCircle, IconMail, IconPhone, IconUser } from '@tabler/icons-react' +import { useRouter } from 'next/navigation' import { useProxy } from 'valtio/utils' import statePermohonanKeberatan from '../../_state/ppid/permohonan_keberatan_informasi_publik/permohonanKeberatanInformasi' -import { useRouter } from 'next/navigation' function Page() { const listState = useProxy(statePermohonanKeberatan) @@ -31,9 +31,7 @@ function Page() { Daftar Permohonan Keberatan Informasi Publik - - - + {data.length === 0 ? ( @@ -65,9 +63,7 @@ function Page() { {index + 1} - - {item.name} - + {item.name} {item.email || '-'} diff --git a/src/app/admin/(dashboard)/ppid/profile-ppid/page.tsx b/src/app/admin/(dashboard)/ppid/profile-ppid/page.tsx index a7bc90e9..c6c5fdc7 100644 --- a/src/app/admin/(dashboard)/ppid/profile-ppid/page.tsx +++ b/src/app/admin/(dashboard)/ppid/profile-ppid/page.tsx @@ -1,6 +1,6 @@ 'use client' import colors from '@/con/colors'; -import { Box, Button, Center, Divider, Grid, GridCol, Image, Paper, Skeleton, Stack, Text, Title, Tooltip } from '@mantine/core'; +import { Box, Button, Center, Divider, Grid, GridCol, Image, Paper, Skeleton, Stack, Text, Title } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconEdit } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; @@ -35,7 +35,6 @@ function Page() { Preview Profil PPID - - {dataArray.map((item) => ( diff --git a/src/app/admin/(dashboard)/ppid/struktur-ppid/_lib/layoutTabs.tsx b/src/app/admin/(dashboard)/ppid/struktur-ppid/_lib/layoutTabs.tsx index 9986926b..4cc3d2b6 100644 --- a/src/app/admin/(dashboard)/ppid/struktur-ppid/_lib/layoutTabs.tsx +++ b/src/app/admin/(dashboard)/ppid/struktur-ppid/_lib/layoutTabs.tsx @@ -1,7 +1,7 @@ /* eslint-disable react-hooks/exhaustive-deps */ 'use client' import colors from '@/con/colors'; -import { ScrollArea, Stack, Tabs, TabsList, TabsPanel, TabsTab, Title, Tooltip } from '@mantine/core'; +import { ScrollArea, Stack, Tabs, TabsList, TabsPanel, TabsTab, Title } from '@mantine/core'; import { IconBuildingCommunity, IconHierarchy2, IconUsers } from '@tabler/icons-react'; import { usePathname, useRouter } from 'next/navigation'; import React, { useEffect, useState } from 'react'; @@ -9,28 +9,25 @@ import React, { useEffect, useState } from 'react'; function LayoutTabs({ children }: { children: React.ReactNode }) { const router = useRouter(); const pathname = usePathname(); - + const tabs = [ { label: "Pegawai", value: "pegawai", href: "/admin/ppid/struktur-ppid/pegawai", icon: , - tooltip: "Kelola daftar pegawai PPID" }, { label: "Posisi Organisasi", value: "posisiorganisasi", href: "/admin/ppid/struktur-ppid/posisi-organisasi", icon: , - tooltip: "Kelola posisi dalam struktur organisasi" }, { label: "Struktur Organisasi", value: "strukturorganisasi", href: "/admin/ppid/struktur-ppid/struktur-organisasi", icon: , - tooltip: "Kelola struktur organisasi PPID" } ]; @@ -79,9 +76,9 @@ function LayoutTabs({ children }: { children: React.ReactNode }) { paddingInline: "0.5rem", // ✅ biar nggak nempel ke tepi }} > - {tabs.map((tab, i) => ( - + {tabs.map((tab, i) => ( {tab.label} - ))} - {tabs.map((tab, i) => ( - - {children} - - ))} - - + {tabs.map((tab, i) => ( + + {children} + + ))} + + ); } diff --git a/src/app/admin/(dashboard)/ppid/struktur-ppid/pegawai/[id]/edit/page.tsx b/src/app/admin/(dashboard)/ppid/struktur-ppid/pegawai/[id]/edit/page.tsx index c09fd141..f4c68282 100644 --- a/src/app/admin/(dashboard)/ppid/struktur-ppid/pegawai/[id]/edit/page.tsx +++ b/src/app/admin/(dashboard)/ppid/struktur-ppid/pegawai/[id]/edit/page.tsx @@ -13,8 +13,7 @@ import { Stack, Text, TextInput, - Title, - Tooltip + Title } from '@mantine/core'; import { Dropzone } from '@mantine/dropzone'; import { IconArrowBack, IconPhoto, IconUpload, IconX } from '@tabler/icons-react'; @@ -109,11 +108,9 @@ export default function EditPegawaiPPID() { return ( - - Edit Data Pegawai PPID diff --git a/src/app/admin/(dashboard)/ppid/struktur-ppid/pegawai/[id]/page.tsx b/src/app/admin/(dashboard)/ppid/struktur-ppid/pegawai/[id]/page.tsx index e4bb5bbb..84952385 100644 --- a/src/app/admin/(dashboard)/ppid/struktur-ppid/pegawai/[id]/page.tsx +++ b/src/app/admin/(dashboard)/ppid/struktur-ppid/pegawai/[id]/page.tsx @@ -2,7 +2,7 @@ import { ModalKonfirmasiHapus } from '@/app/admin/(dashboard)/_com/modalKonfirmasiHapus'; import stateStrukturPPID from '@/app/admin/(dashboard)/_state/ppid/struktur_ppid/struktur_PPID'; import colors from '@/con/colors'; -import { Box, Button, Group, Image, Paper, Skeleton, Stack, Text, Tooltip } from '@mantine/core'; +import { Box, Button, Group, Image, Paper, Skeleton, Stack, Text } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconArrowBack, IconEdit, IconTrash } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; @@ -149,7 +149,6 @@ function DetailPegawai() { - - - - diff --git a/src/app/admin/(dashboard)/ppid/struktur-ppid/pegawai/create/page.tsx b/src/app/admin/(dashboard)/ppid/struktur-ppid/pegawai/create/page.tsx index 38c8e0db..202b9b15 100644 --- a/src/app/admin/(dashboard)/ppid/struktur-ppid/pegawai/create/page.tsx +++ b/src/app/admin/(dashboard)/ppid/struktur-ppid/pegawai/create/page.tsx @@ -3,7 +3,7 @@ import stateStrukturPPID from '@/app/admin/(dashboard)/_state/ppid/struktur_ppid/struktur_PPID'; import colors from '@/con/colors'; import ApiFetch from '@/lib/api-fetch'; -import { Box, Button, Group, Image, Paper, Select, Stack, Text, TextInput, Title, Tooltip } from '@mantine/core'; +import { Box, Button, Group, Image, Paper, Select, Stack, Text, TextInput, Title } from '@mantine/core'; import { Dropzone } from '@mantine/dropzone'; import { IconArrowBack, IconPhoto, IconUpload, IconX } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; @@ -74,11 +74,9 @@ function CreatePegawaiPPID() { return ( - - Tambah Pegawai PPID diff --git a/src/app/admin/(dashboard)/ppid/struktur-ppid/pegawai/page.tsx b/src/app/admin/(dashboard)/ppid/struktur-ppid/pegawai/page.tsx index 994b8628..aaa1ff9c 100644 --- a/src/app/admin/(dashboard)/ppid/struktur-ppid/pegawai/page.tsx +++ b/src/app/admin/(dashboard)/ppid/struktur-ppid/pegawai/page.tsx @@ -1,7 +1,7 @@ /* eslint-disable react-hooks/exhaustive-deps */ 'use client' import colors from '@/con/colors'; -import { Badge, Box, Button, Center, Group, Pagination, Paper, Skeleton, Stack, Table, TableTbody, TableTd, TableTh, TableThead, TableTr, Text, ThemeIcon, Title, Tooltip } from '@mantine/core'; +import { Badge, Box, Button, Center, Group, Pagination, Paper, Skeleton, Stack, Table, TableTbody, TableTd, TableTh, TableThead, TableTr, Text, ThemeIcon, Title } from '@mantine/core'; import { IconCheck, IconDeviceImacCog, IconPlus, IconSearch, IconX } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; import { useEffect, useState } from 'react'; @@ -58,7 +58,6 @@ function ListPegawaiPPID({ search }: { search: string }) { Daftar Pegawai PPID - -
Tidak ada data pegawai yang ditemukan @@ -81,7 +79,6 @@ function ListPegawaiPPID({ search }: { search: string }) { Daftar Pegawai PPID - -
diff --git a/src/app/admin/(dashboard)/ppid/struktur-ppid/posisi-organisasi/[id]/page.tsx b/src/app/admin/(dashboard)/ppid/struktur-ppid/posisi-organisasi/[id]/page.tsx index c07319ca..27634d4f 100644 --- a/src/app/admin/(dashboard)/ppid/struktur-ppid/posisi-organisasi/[id]/page.tsx +++ b/src/app/admin/(dashboard)/ppid/struktur-ppid/posisi-organisasi/[id]/page.tsx @@ -5,7 +5,7 @@ import EditEditor from '@/app/admin/(dashboard)/_com/editEditor'; import stateStrukturPPID from '@/app/admin/(dashboard)/_state/ppid/struktur_ppid/struktur_PPID'; import colors from '@/con/colors'; -import { Box, Button, Group, Paper, Stack, Text, TextInput, Title, Tooltip } from '@mantine/core'; +import { Box, Button, Group, Paper, Stack, Text, TextInput, Title } from '@mantine/core'; import { IconArrowBack } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; import { useEffect, useState } from 'react'; @@ -84,11 +84,9 @@ function EditPosisiOrganisasiPPID() { return ( - - Edit Posisi Organisasi PPID diff --git a/src/app/admin/(dashboard)/ppid/struktur-ppid/posisi-organisasi/create/page.tsx b/src/app/admin/(dashboard)/ppid/struktur-ppid/posisi-organisasi/create/page.tsx index 942e723e..f986fe98 100644 --- a/src/app/admin/(dashboard)/ppid/struktur-ppid/posisi-organisasi/create/page.tsx +++ b/src/app/admin/(dashboard)/ppid/struktur-ppid/posisi-organisasi/create/page.tsx @@ -3,7 +3,7 @@ import CreateEditor from '@/app/admin/(dashboard)/_com/createEditor'; import stateStrukturPPID from '@/app/admin/(dashboard)/_state/ppid/struktur_ppid/struktur_PPID'; import colors from '@/con/colors'; -import { Box, Button, Group, Paper, Stack, Text, TextInput, Title, Tooltip } from '@mantine/core'; +import { Box, Button, Group, Paper, Stack, Text, TextInput, Title } from '@mantine/core'; import { IconArrowBack } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; import { useEffect } from 'react'; @@ -51,11 +51,9 @@ function CreatePosisiOrganisasiPPID() { return ( - - Tambah Posisi Organisasi PPID diff --git a/src/app/admin/(dashboard)/ppid/struktur-ppid/posisi-organisasi/page.tsx b/src/app/admin/(dashboard)/ppid/struktur-ppid/posisi-organisasi/page.tsx index 26d6bd4d..955dd9d3 100644 --- a/src/app/admin/(dashboard)/ppid/struktur-ppid/posisi-organisasi/page.tsx +++ b/src/app/admin/(dashboard)/ppid/struktur-ppid/posisi-organisasi/page.tsx @@ -1,6 +1,6 @@ 'use client' import colors from '@/con/colors'; -import { Box, Button, Center, Group, Pagination, Paper, Skeleton, Stack, Table, TableTbody, TableTd, TableTh, TableThead, TableTr, Text, Title, Tooltip } from '@mantine/core'; +import { Box, Button, Center, Group, Pagination, Paper, Skeleton, Stack, Table, TableTbody, TableTd, TableTh, TableThead, TableTr, Text, Title } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconEdit, IconPlus, IconSearch, IconTrash } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; @@ -67,7 +67,6 @@ function ListPosisiOrganisasiPPID({ search }: { search: string }) { Daftar Posisi Organisasi PPID - -
@@ -105,7 +103,6 @@ function ListPosisiOrganisasiPPID({ search }: { search: string }) { {item.hierarki || '-'} - - - - )) diff --git a/src/app/admin/(dashboard)/ppid/struktur-ppid/struktur-organisasi/page.tsx b/src/app/admin/(dashboard)/ppid/struktur-ppid/struktur-organisasi/page.tsx index b331cfe4..e0c6a1ab 100644 --- a/src/app/admin/(dashboard)/ppid/struktur-ppid/struktur-organisasi/page.tsx +++ b/src/app/admin/(dashboard)/ppid/struktur-ppid/struktur-organisasi/page.tsx @@ -2,7 +2,7 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ /* eslint-disable react-hooks/exhaustive-deps */ 'use client' -import { Box, Center, Image, Loader, Paper, Stack, Text, Tooltip } from '@mantine/core'; +import { Box, Center, Image, Loader, Paper, Stack, Text } from '@mantine/core'; import { IconUsers } from '@tabler/icons-react'; import { OrganizationChart } from 'primereact/organizationchart'; import { useEffect } from 'react'; @@ -110,7 +110,6 @@ function nodeTemplate(node: any) { return ( - - {name} {status} diff --git a/src/app/admin/(dashboard)/ppid/visi-misi-ppid/edit/page.tsx b/src/app/admin/(dashboard)/ppid/visi-misi-ppid/edit/page.tsx index 0bf1df96..2514499b 100644 --- a/src/app/admin/(dashboard)/ppid/visi-misi-ppid/edit/page.tsx +++ b/src/app/admin/(dashboard)/ppid/visi-misi-ppid/edit/page.tsx @@ -1,6 +1,6 @@ 'use client'; import colors from '@/con/colors'; -import { Box, Button, Group, Paper, Stack, Title, Tooltip } from '@mantine/core'; +import { Box, Button, Group, Paper, Stack, Title } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconArrowBack } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; @@ -50,11 +50,9 @@ function VisiMisiPPIDEdit() { return ( - - Edit Visi Misi PPID diff --git a/src/app/admin/(dashboard)/ppid/visi-misi-ppid/page.tsx b/src/app/admin/(dashboard)/ppid/visi-misi-ppid/page.tsx index 3ae5c332..2488cae9 100644 --- a/src/app/admin/(dashboard)/ppid/visi-misi-ppid/page.tsx +++ b/src/app/admin/(dashboard)/ppid/visi-misi-ppid/page.tsx @@ -1,6 +1,6 @@ 'use client'; import colors from '@/con/colors'; -import { Box, Button, Center, Divider, Grid, GridCol, Image, Paper, Skeleton, Stack, Text, Title, Tooltip } from '@mantine/core'; +import { Box, Button, Center, Divider, Grid, GridCol, Image, Paper, Skeleton, Stack, Text, Title } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconEdit } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; @@ -41,7 +41,6 @@ function VisiMisiPPIDList() { Preview Visi Misi PPID - - diff --git a/src/app/darmasaba/_com/ModernNeewsNotification.tsx b/src/app/darmasaba/_com/ModernNeewsNotification.tsx new file mode 100644 index 00000000..cc69df8e --- /dev/null +++ b/src/app/darmasaba/_com/ModernNeewsNotification.tsx @@ -0,0 +1,320 @@ +"use client"; + +import { useState, useEffect } from "react"; +import { Box, Paper, Text, Group, CloseButton, Badge, ActionIcon, Stack, Transition } from "@mantine/core"; +import { IconBell, IconChevronRight } from "@tabler/icons-react"; +import { useRouter } from "next/navigation"; // 👉 tambahkan ini + +interface NewsItem { + id: string | number; + type: "berita" | "pengumuman"; + title: string; + content: string; + timestamp?: string | Date; +} + +interface ModernNewsNotificationProps { + news: NewsItem[]; + autoShowDelay?: number; +} + +function stripHtml(html: string): string { + return html + .replace(/<[^>]+>/g, '') + .replace(/ /gi, ' ') + .replace(/&/gi, '&') + .replace(/\s+/g, ' ') + .trim(); +} + +export default function ModernNewsNotification({ + news = [], + autoShowDelay = 2000 +}: ModernNewsNotificationProps) { + const router = useRouter(); // 👉 router Next.js + const [toastVisible, setToastVisible] = useState(false); + const [widgetOpen, setWidgetOpen] = useState(false); + const [hasNewNotifications, setHasNewNotifications] = useState(true); + const [hasShownToast, setHasShownToast] = useState(false); + const [iconVisible, setIconVisible] = useState(true); + + useEffect(() => { + if (news.length > 0 && !toastVisible && !hasShownToast) { + const timer = setTimeout(() => { + setToastVisible(true); + setHasShownToast(true); + }, autoShowDelay); + return () => clearTimeout(timer); + } + }, [news.length, autoShowDelay, toastVisible, hasShownToast]); + + useEffect(() => { + if (toastVisible) { + const timer = setTimeout(() => { + setToastVisible(false); + }, 8000); + return () => clearTimeout(timer); + } + }, [toastVisible]); + + useEffect(() => { + let lastScrollY = window.scrollY; + + const handleScroll = () => { + const currentScrollY = window.scrollY; + + if (currentScrollY > lastScrollY && currentScrollY > 100) { + setIconVisible(false); + } + else if (currentScrollY < lastScrollY) { + setIconVisible(true); + } + + lastScrollY = currentScrollY; + }; + + window.addEventListener('scroll', handleScroll, { passive: true }); + return () => window.removeEventListener('scroll', handleScroll); + }, []); + + const currentNews = news[0]; + + // 👉 Fungsi baru untuk handle klik notifikasi + const handleNotificationClick = (item: NewsItem) => { + setWidgetOpen(false); + if (item.type === "berita") { + router.push("/darmasaba/desa/berita/semua"); + } else if (item.type === "pengumuman") { + router.push("/darmasaba/desa/pengumuman"); + } + }; + + const handleLihatSemua = () => { + setToastVisible(false); + setWidgetOpen(true); + setHasNewNotifications(false); + }; + + return ( + <> + + {(transitionStyles) => ( + + { + setWidgetOpen(!widgetOpen); + setHasNewNotifications(false); + }} + style={{ + width: "60px", + height: "60px", + boxShadow: "0 4px 20px rgba(0,0,0,0.15)", + position: "relative", + }} + > + + {hasNewNotifications && news.length > 0 && ( + + {news.length} + + )} + + + )} + + + + {(styles) => ( + + + + + + Berita & Pengumuman + + setWidgetOpen(false)} + variant="transparent" + c="white" + /> + + + + + {news.length === 0 ? ( + + Tidak ada berita terbaru + + ) : ( + + {news.map((item, index) => ( + { + e.currentTarget.style.borderColor = "#1e5a7e"; + e.currentTarget.style.transform = "translateY(-2px)"; + e.currentTarget.style.boxShadow = "0 4px 12px rgba(0,0,0,0.08)"; + }} + onMouseLeave={(e) => { + e.currentTarget.style.borderColor = "#e9ecef"; + e.currentTarget.style.transform = "translateY(0)"; + e.currentTarget.style.boxShadow = "none"; + }} + onClick={() => handleNotificationClick(item)} + > + + + {item.type === "berita" ? "📰 Berita" : "📢 Pengumuman"} + + + + + {item.title || "Tanpa Judul"} + + + {stripHtml(item.content).substring(0, 100)}... + + + ))} + + )} + + + )} + + + + {(styles) => ( + + + + + + + + {currentNews?.type === "berita" ? "Berita Terbaru" : "Pengumuman"} + + setToastVisible(false)} + size="sm" + /> + + + + {currentNews?.title || "Informasi Terbaru"} + + + + {stripHtml(currentNews?.content || "")} + + + + + {news.length > 1 ? `${news.length} berita tersedia` : '1 berita'} + + + Lihat Semua → + + + + + )} + + + ); +} \ No newline at end of file diff --git a/src/app/darmasaba/page.tsx b/src/app/darmasaba/page.tsx index 9997978d..eab9320c 100644 --- a/src/app/darmasaba/page.tsx +++ b/src/app/darmasaba/page.tsx @@ -12,11 +12,12 @@ import { Box, Stack } from "@mantine/core"; import Apbdes from "./_com/main-page/apbdes"; import Prestasi from "./_com/main-page/prestasi"; import ScrollToTopButton from "./_com/scrollToTopButton"; -import RunningText from "./_com/RunningText"; + import { useProxy } from "valtio/utils"; import stateDashboardBerita from "../admin/(dashboard)/_state/desa/berita"; import { useEffect, useMemo } from "react"; import stateDesaPengumuman from "../admin/(dashboard)/_state/desa/pengumuman"; +import ModernNewsNotification from "./_com/ModernNeewsNotification"; export default function Page() { @@ -37,36 +38,36 @@ export default function Page() { } }, [pengumuman.data, loadingPengumuman]); - // Memoize news data untuk performa lebih baik + // Transform data untuk notification system const newsData = useMemo(() => { const items = []; - // Tambahkan judul berita jika ada - if (featured.data?.judul) { - items.push(`📰 BERITA: ${featured.data.judul}`); + 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(), + }); } - // Tambahkan content berita (akan di-strip HTML di component) - if (featured.data?.content) { - items.push(featured.data.content); - } - - // Tambahkan judul pengumuman jika ada - if (pengumuman.data?.judul) { - items.push(`📢 PENGUMUMAN: ${pengumuman.data.judul}`); - } - - // Tambahkan content pengumuman - if (pengumuman.data?.content) { - items.push(pengumuman.data.content); - } - - // Jika tidak ada data, return default message - if (items.length === 0) { - return [ - "Selamat datang di Portal Desa Darmasaba", - "Jam operasional kantor: Senin - Jumat 08:00 - 17:00" - ]; + 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; @@ -78,14 +79,7 @@ export default function Page() { bg={colors.grey[1]} gap={0} > - + {/* HAPUS RUNNING TEXT, GANTI DENGAN MODERN NOTIFICATION */} @@ -96,8 +90,15 @@ export default function Page() { + {/* Tombol Scroll ke Atas */} + + {/* Modern Notification System */} + ); } \ No newline at end of file