From 417a8937f5a97841aa1f9fa6191aa6e71cce6c61 Mon Sep 17 00:00:00 2001 From: nico Date: Fri, 7 Nov 2025 14:38:32 +0800 Subject: [PATCH 1/2] Semua tooltips di admin sudah dihilangkan --- package.json | 6 +- .../_state/landing-page/sdgs-desa.ts | 28 +++ .../_lib/layoutTabs.tsx | 46 ++--- .../apbdesa/[id]/edit/page.tsx | 23 +-- .../apbdesa/[id]/page.tsx | 57 +++--- .../apbdesa/create/page.tsx | 11 +- .../apbdesa/page.tsx | 57 +++--- .../belanja/[id]/page.tsx | 21 +- .../belanja/create/page.tsx | 23 +-- .../belanja/page.tsx | 77 ++++---- .../pembiayaan/[id]/page.tsx | 21 +- .../pembiayaan/create/page.tsx | 28 ++- .../pembiayaan/page.tsx | 41 ++-- .../pendapatan/[id]/page.tsx | 21 +- .../pendapatan/create/page.tsx | 21 +- .../pendapatan/page.tsx | 25 ++- .../ekonomi/demografi-pekerjaan/[id]/page.tsx | 23 +-- .../demografi-pekerjaan/create/page.tsx | 21 +- .../ekonomi/demografi-pekerjaan/page.tsx | 25 ++- .../jumlah-penduduk-miskin/[id]/page.tsx | 25 ++- .../jumlah-penduduk-miskin/create/page.tsx | 12 +- .../ekonomi/jumlah-penduduk-miskin/page.tsx | 27 ++- .../_lib/layoutTabs.tsx | 42 ++-- .../[id]/page.tsx | 22 +-- .../create/page.tsx | 17 +- .../page.tsx | 79 ++++---- .../[id]/page.tsx | 25 ++- .../create/page.tsx | 16 +- .../ekonomi/jumlah-pengangguran/[id]/page.tsx | 48 +++-- .../jumlah-pengangguran/create/page.tsx | 25 ++- .../ekonomi/jumlah-pengangguran/page.tsx | 22 +-- .../lowongan-kerja-lokal/[id]/edit/page.tsx | 12 +- .../lowongan-kerja-lokal/[id]/page.tsx | 48 +++-- .../lowongan-kerja-lokal/create/page.tsx | 22 +-- .../ekonomi/lowongan-kerja-lokal/page.tsx | 5 +- .../ekonomi/pasar-desa/_lib/layoutTabs.tsx | 39 ++-- .../pasar-desa/kategori-produk/[id]/page.tsx | 31 ++- .../kategori-produk/create/page.tsx | 5 +- .../pasar-desa/kategori-produk/page.tsx | 10 +- .../produk-pasar-desa/[id]/edit/page.tsx | 11 +- .../produk-pasar-desa/[id]/page.tsx | 58 +++--- .../produk-pasar-desa/create/page.tsx | 11 +- .../pasar-desa/produk-pasar-desa/page.tsx | 25 ++- .../program-kemiskinan/[id]/edit/page.tsx | 25 ++- .../ekonomi/program-kemiskinan/[id]/page.tsx | 53 +++-- .../program-kemiskinan/create/page.tsx | 29 ++- .../ekonomi/program-kemiskinan/page.tsx | 10 +- .../sektor-unggulan-desa/[id]/edit/page.tsx | 33 ++-- .../sektor-unggulan-desa/[id]/page.tsx | 57 +++--- .../sektor-unggulan-desa/create/page.tsx | 23 +-- .../ekonomi/sektor-unggulan-desa/page.tsx | 29 ++- .../_lib/layoutTabs.tsx | 43 ++-- .../pegawai/[id]/edit/page.tsx | 11 +- .../pegawai/[id]/page.tsx | 48 +++-- .../pegawai/create/page.tsx | 10 +- .../pegawai/page.tsx | 38 ++-- .../posisi-organisasi/[id]/page.tsx | 10 +- .../posisi-organisasi/create/page.tsx | 20 +- .../posisi-organisasi/page.tsx | 40 ++-- .../struktur-organisasi/page.tsx | 28 ++- .../inovasi/ajukan-ide-inovatif/[id]/page.tsx | 32 ++- .../[id]/edit/page.tsx | 11 +- .../desa-digital-smart-village/[id]/page.tsx | 49 +++-- .../create/page.tsx | 45 ++--- .../desa-digital-smart-village/page.tsx | 25 ++- .../[id]/edit/page.tsx | 11 +- .../info-teknologi-tepat-guna/[id]/page.tsx | 54 +++-- .../info-teknologi-tepat-guna/create/page.tsx | 13 +- .../info-teknologi-tepat-guna/page.tsx | 27 ++- .../kolaborasi-inovasi/_lib/layoutTabs.tsx | 33 ++-- .../[id]/edit/page.tsx | 11 +- .../list-kolaborasi-inovasi/[id]/page.tsx | 50 +++-- .../list-kolaborasi-inovasi/create/page.tsx | 10 +- .../list-kolaborasi-inovasi/page.tsx | 25 ++- .../mitra-kolaborasi/[id]/page.tsx | 11 +- .../mitra-kolaborasi/create/page.tsx | 11 +- .../mitra-kolaborasi/page.tsx | 91 ++++----- .../layanan-online-desa/_lib/layoutTabs.tsx | 50 ++--- .../administrasi-online/[id]/page.tsx | 28 ++- .../jenis-layanan/[id]/edit/page.tsx | 21 +- .../jenis-layanan/[id]/page.tsx | 50 +++-- .../jenis-layanan/create/page.tsx | 21 +- .../jenis-layanan/page.tsx | 29 ++- .../jenis-pengaduan/[id]/page.tsx | 21 +- .../jenis-pengaduan/create/page.tsx | 11 +- .../jenis-pengaduan/page.tsx | 29 ++- .../pengaduan-masyarakat/[id]/page.tsx | 32 ++- .../pengaduan-masyarakat/page.tsx | 25 ++- .../program-kreatif-desa/[id]/page.tsx | 64 +++--- .../program-kreatif-desa/create/page.tsx | 17 +- .../inovasi/program-kreatif-desa/page.tsx | 55 +++--- .../landing-page/apbdes/create/page.tsx | 2 +- .../(dashboard)/landing-page/apbdes/page.tsx | 70 +++---- .../data-lingkungan-desa/[id]/edit/page.tsx | 11 +- .../data-lingkungan-desa/[id]/page.tsx | 48 +++-- .../data-lingkungan-desa/create/page.tsx | 21 +- .../lingkungan/data-lingkungan-desa/page.tsx | 19 +- .../edukasi-lingkungan/_lib/layouTabs.tsx | 48 +++-- .../gotong-royong/_lib/layoutTabs.tsx | 35 ++-- .../kategori-kegiatan/[id]/page.tsx | 10 +- .../kategori-kegiatan/create/page.tsx | 10 +- .../gotong-royong/kategori-kegiatan/page.tsx | 21 +- .../kegiatan-desa/[id]/edit/page.tsx | 11 +- .../gotong-royong/kegiatan-desa/[id]/page.tsx | 54 +++-- .../kegiatan-desa/create/page.tsx | 23 +-- .../konservasi-adat-bali/_lib/layoutTabs.tsx | 46 ++--- .../[id]/edit/page.tsx | 10 +- .../create/page.tsx | 16 +- .../keterangan-bank-sampah-terdekat/page.tsx | 28 ++- .../[id]/page.tsx | 12 +- .../create/page.tsx | 6 +- .../page.tsx | 79 ++++---- .../program-penghijauan/[id]/edit/page.tsx | 21 +- .../program-penghijauan/[id]/page.tsx | 50 +++-- .../program-penghijauan/create/page.tsx | 21 +- .../lingkungan/program-penghijauan/page.tsx | 23 +-- .../beasiswa-desa/_lib/layoutTabs.tsx | 39 ++-- .../beasiswa-pendaftar/[id]/page.tsx | 28 ++- .../keunggulan-program/[id]/page.tsx | 22 +-- .../keunggulan-program/create/page.tsx | 20 +- .../beasiswa-desa/keunggulan-program/page.tsx | 89 ++++----- .../_lib/layoutTabs.tsx | 40 ++-- .../fasilitas-yang-disediakan/edit/page.tsx | 23 +-- .../fasilitas-yang-disediakan/page.tsx | 30 ++- .../lokasi-dan-jadwal/edit/page.tsx | 19 +- .../lokasi-dan-jadwal/page.tsx | 30 ++- .../tujuan-program/edit/page.tsx | 13 +- .../tujuan-program/page.tsx | 31 ++- .../pendidikan/data-pendidikan/[id]/page.tsx | 10 +- .../data-pendidikan/create/page.tsx | 10 +- .../pendidikan/data-pendidikan/page.tsx | 56 +++--- .../info-sekolah/_lib/layoutTabs.tsx | 35 ++-- .../jenjang-pendidikan/[id]/page.tsx | 11 +- .../jenjang-pendidikan/create/page.tsx | 21 +- .../info-sekolah/jenjang-pendidikan/page.tsx | 20 +- .../info-sekolah/lembaga/[id]/edit/page.tsx | 31 ++- .../info-sekolah/lembaga/[id]/page.tsx | 56 +++--- .../info-sekolah/lembaga/create/page.tsx | 11 +- .../pendidikan/info-sekolah/lembaga/page.tsx | 21 +- .../info-sekolah/pengajar/[id]/edit/page.tsx | 11 +- .../info-sekolah/pengajar/[id]/page.tsx | 52 +++-- .../info-sekolah/pengajar/create/page.tsx | 13 +- .../pendidikan/info-sekolah/pengajar/page.tsx | 24 ++- .../info-sekolah/siswa/[id]/edit/page.tsx | 11 +- .../info-sekolah/siswa/[id]/page.tsx | 52 +++-- .../info-sekolah/siswa/create/page.tsx | 11 +- .../pendidikan/info-sekolah/siswa/page.tsx | 23 +-- .../pendidikan-non-formal/_lib/layoutTabs.tsx | 42 ++-- .../edit/page.tsx | 13 +- .../page.tsx | 31 ++- .../tempat-kegiatan/edit/page.tsx | 13 +- .../tempat-kegiatan/page.tsx | 30 ++- .../tujuan-program/edit/page.tsx | 13 +- .../tujuan-program/page.tsx | 31 ++- .../perpustakaan-digital/_lib/layoutTabs.tsx | 42 ++-- .../data-perpustakaan/[id]/edit/page.tsx | 18 +- .../data-perpustakaan/[id]/page.tsx | 48 +++-- .../data-perpustakaan/create/page.tsx | 10 +- .../data-perpustakaan/page.tsx | 24 ++- .../kategori-buku/[id]/page.tsx | 10 +- .../kategori-buku/create/page.tsx | 10 +- .../kategori-buku/page.tsx | 22 +-- .../peminjam/[id]/edit/page.tsx | 11 +- .../peminjam/[id]/page.tsx | 85 ++++---- .../_lib/layoutTabs.tsx | 39 ++-- .../program-unggulan/edit/page.tsx | 13 +- .../program-unggulan/page.tsx | 30 ++- .../tujuan-program/edit/page.tsx | 13 +- .../tujuan-program/page.tsx | 30 ++- .../[id]/edit/page.tsx | 2 +- .../[id]/page.tsx | 4 +- .../create/page.tsx | 2 +- .../page.tsx | 8 +- .../_lib/layoutTabs.tsx | 12 +- .../grafik-kepuasan-masyarakat}/page.tsx | 0 .../layout.tsx | 0 .../responden/[id]/edit/page.tsx | 0 .../responden/[id]/page.tsx | 0 .../responden/create/page.tsx | 0 .../responden/page.tsx | 0 .../(dashboard)/ppid/visi-misi-ppid/page.tsx | 2 +- .../admin/(dashboard)/user&role/layout.tsx | 29 ++- .../(dashboard)/user&role/role/[id]/page.tsx | 12 +- .../user&role/role/create/page.tsx | 17 +- .../admin/(dashboard)/user&role/role/page.tsx | 80 ++++---- src/app/admin/_com/list_PageAdmin.tsx | 8 +- .../landing_page/sdgs-desa/findManyAll.ts | 29 +++ .../_lib/landing_page/sdgs-desa/index.ts | 4 + .../darmasaba/(tambahan)/sdgs-desa/page.tsx | 181 ++++++++++++++--- .../_com/ModernNeewsNotification.tsx | 39 ++-- src/app/darmasaba/_com/RunningText.tsx | 185 ------------------ .../darmasaba/_com/main-page/apbdes/index.tsx | 4 +- .../_com/main-page/apbdes/lib/convert.tsx | 2 +- .../_com/main-page/landing-page/index.tsx | 64 +++++- src/app/darmasaba/page.tsx | 61 ------ 195 files changed, 2479 insertions(+), 3083 deletions(-) rename src/app/admin/(dashboard)/ppid/{daftar-informasi-publik-desa-darmasaba => daftar-informasi-publik}/[id]/edit/page.tsx (98%) rename src/app/admin/(dashboard)/ppid/{daftar-informasi-publik-desa-darmasaba => daftar-informasi-publik}/[id]/page.tsx (97%) rename src/app/admin/(dashboard)/ppid/{daftar-informasi-publik-desa-darmasaba => daftar-informasi-publik}/create/page.tsx (98%) rename src/app/admin/(dashboard)/ppid/{daftar-informasi-publik-desa-darmasaba => daftar-informasi-publik}/page.tsx (95%) rename src/app/admin/(dashboard)/ppid/{ikm-desa-darmasaba => indeks-kepuasan-masyarakat}/_lib/layoutTabs.tsx (91%) rename src/app/admin/(dashboard)/ppid/{ikm-desa-darmasaba/indeks-kepuasan-masyarakat => indeks-kepuasan-masyarakat/grafik-kepuasan-masyarakat}/page.tsx (100%) rename src/app/admin/(dashboard)/ppid/{ikm-desa-darmasaba => indeks-kepuasan-masyarakat}/layout.tsx (100%) rename src/app/admin/(dashboard)/ppid/{ikm-desa-darmasaba => indeks-kepuasan-masyarakat}/responden/[id]/edit/page.tsx (100%) rename src/app/admin/(dashboard)/ppid/{ikm-desa-darmasaba => indeks-kepuasan-masyarakat}/responden/[id]/page.tsx (100%) rename src/app/admin/(dashboard)/ppid/{ikm-desa-darmasaba => indeks-kepuasan-masyarakat}/responden/create/page.tsx (100%) rename src/app/admin/(dashboard)/ppid/{ikm-desa-darmasaba => indeks-kepuasan-masyarakat}/responden/page.tsx (100%) create mode 100644 src/app/api/[[...slugs]]/_lib/landing_page/sdgs-desa/findManyAll.ts delete mode 100644 src/app/darmasaba/_com/RunningText.tsx diff --git a/package.json b/package.json index c25cb87d..c32725d5 100644 --- a/package.json +++ b/package.json @@ -3,9 +3,9 @@ "version": "0.1.5", "private": true, "scripts": { - "dev": "bun --bun next dev", - "build": "bun --bun next build", - "start": "bun --bun next start" + "dev": "next dev", + "build": "next build", + "start": "next start" }, "prisma": { "seed": "bun run prisma/seed.ts" diff --git a/src/app/admin/(dashboard)/_state/landing-page/sdgs-desa.ts b/src/app/admin/(dashboard)/_state/landing-page/sdgs-desa.ts index 51686ee5..832d6457 100644 --- a/src/app/admin/(dashboard)/_state/landing-page/sdgs-desa.ts +++ b/src/app/admin/(dashboard)/_state/landing-page/sdgs-desa.ts @@ -93,6 +93,34 @@ const sdgsDesa = proxy({ } }, }, + findManyAll: { + data: null as any[] | null, + loading: false, + load: async () => { // Change to arrow function + sdgsDesa.findManyAll.loading = true; // Use the full path to access the property + try { + const query: any = {}; + + const res = await ApiFetch.api.landingpage.sdgsdesa[ + "findManyAll" + ].get({ + query, + }); + + if (res.status === 200 && res.data?.success) { + sdgsDesa.findManyAll.data = res.data.data || []; + } else { + console.error("Failed to load media sosial:", res.data?.message); + sdgsDesa.findManyAll.data = []; + } + } catch (error) { + console.error("Error loading media sosial:", error); + sdgsDesa.findManyAll.data = []; + } finally { + sdgsDesa.findManyAll.loading = false; + } + }, + }, findUnique: { data: null as Prisma.SdgsDesaGetPayload<{ include: { diff --git a/src/app/admin/(dashboard)/ekonomi/PADesa-pendapatan-asli-desa/_lib/layoutTabs.tsx b/src/app/admin/(dashboard)/ekonomi/PADesa-pendapatan-asli-desa/_lib/layoutTabs.tsx index dca2dfe2..ff6d98fc 100644 --- a/src/app/admin/(dashboard)/ekonomi/PADesa-pendapatan-asli-desa/_lib/layoutTabs.tsx +++ b/src/app/admin/(dashboard)/ekonomi/PADesa-pendapatan-asli-desa/_lib/layoutTabs.tsx @@ -2,23 +2,22 @@ 'use client' import colors from '@/con/colors'; import { + ScrollArea, Stack, Tabs, TabsList, TabsPanel, TabsTab, - Title, - Tooltip, - ScrollArea, + Title } from '@mantine/core'; -import { usePathname, useRouter } from 'next/navigation'; -import React, { useEffect, useState } from 'react'; import { - IconFileAnalytics, IconCoins, + IconFileAnalytics, IconShoppingCart, IconWallet, } 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(); @@ -29,29 +28,25 @@ function LayoutTabs({ children }: { children: React.ReactNode }) { label: "APB Desa", value: "apbdesa", href: "/admin/ekonomi/PADesa-pendapatan-asli-desa/apbdesa", - icon: , - tooltip: "Lihat ringkasan Anggaran Pendapatan dan Belanja Desa", + icon: }, { label: "Pendapatan", value: "pendapatan", href: "/admin/ekonomi/PADesa-pendapatan-asli-desa/pendapatan", icon: , - tooltip: "Kelola data pendapatan desa", }, { label: "Belanja", value: "belanja", href: "/admin/ekonomi/PADesa-pendapatan-asli-desa/belanja", icon: , - tooltip: "Atur data belanja desa", }, { label: "Pembiayaan", value: "pembiayaan", href: "/admin/ekonomi/PADesa-pendapatan-asli-desa/pembiayaan", icon: , - tooltip: "Kelola data pembiayaan desa", }, ]; @@ -104,26 +99,19 @@ function LayoutTabs({ children }: { children: React.ReactNode }) { }} > {tabs.map((tab, i) => ( - - - {tab.label} - - + {tab.label} + ))} diff --git a/src/app/admin/(dashboard)/ekonomi/PADesa-pendapatan-asli-desa/apbdesa/[id]/edit/page.tsx b/src/app/admin/(dashboard)/ekonomi/PADesa-pendapatan-asli-desa/apbdesa/[id]/edit/page.tsx index 956f84e1..4e266661 100644 --- a/src/app/admin/(dashboard)/ekonomi/PADesa-pendapatan-asli-desa/apbdesa/[id]/edit/page.tsx +++ b/src/app/admin/(dashboard)/ekonomi/PADesa-pendapatan-asli-desa/apbdesa/[id]/edit/page.tsx @@ -6,15 +6,14 @@ import colors from '@/con/colors'; import { Box, Button, + Group, MultiSelect, Paper, Skeleton, Stack, Text, TextInput, - Title, - Tooltip, - Group, + Title } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconArrowBack } from '@tabler/icons-react'; @@ -88,16 +87,14 @@ function EditAPBDesa() { {/* Header */} - - - + Edit APB Desa diff --git a/src/app/admin/(dashboard)/ekonomi/PADesa-pendapatan-asli-desa/apbdesa/[id]/page.tsx b/src/app/admin/(dashboard)/ekonomi/PADesa-pendapatan-asli-desa/apbdesa/[id]/page.tsx index ee57dc50..54f43121 100644 --- a/src/app/admin/(dashboard)/ekonomi/PADesa-pendapatan-asli-desa/apbdesa/[id]/page.tsx +++ b/src/app/admin/(dashboard)/ekonomi/PADesa-pendapatan-asli-desa/apbdesa/[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'; @@ -159,36 +158,32 @@ function DetailAPBDesa() { - - - + - - - + diff --git a/src/app/admin/(dashboard)/ekonomi/PADesa-pendapatan-asli-desa/apbdesa/create/page.tsx b/src/app/admin/(dashboard)/ekonomi/PADesa-pendapatan-asli-desa/apbdesa/create/page.tsx index 797cc92f..db01743c 100644 --- a/src/app/admin/(dashboard)/ekonomi/PADesa-pendapatan-asli-desa/apbdesa/create/page.tsx +++ b/src/app/admin/(dashboard)/ekonomi/PADesa-pendapatan-asli-desa/apbdesa/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'; @@ -43,11 +42,9 @@ function CreateAPBDesa() { {/* Header */} - - - + Tambah APB Desa diff --git a/src/app/admin/(dashboard)/ekonomi/PADesa-pendapatan-asli-desa/apbdesa/page.tsx b/src/app/admin/(dashboard)/ekonomi/PADesa-pendapatan-asli-desa/apbdesa/page.tsx index ff0c6464..e87b21f1 100644 --- a/src/app/admin/(dashboard)/ekonomi/PADesa-pendapatan-asli-desa/apbdesa/page.tsx +++ b/src/app/admin/(dashboard)/ekonomi/PADesa-pendapatan-asli-desa/apbdesa/page.tsx @@ -5,8 +5,8 @@ import { Button, Center, Group, - Paper, Pagination, + Paper, Skeleton, Stack, Table, @@ -15,8 +15,7 @@ import { TableTh, TableThead, TableTr, - Text, - Tooltip, + Text } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconDeviceImacCog, IconPlus, IconSearch } from '@tabler/icons-react'; @@ -82,20 +81,18 @@ function ListAPBDesa({ search }: { search: string }) { List APB Desa - - - + @@ -138,20 +135,18 @@ function ListAPBDesa({ search }: { search: string }) { )} - - - + )) diff --git a/src/app/admin/(dashboard)/ekonomi/PADesa-pendapatan-asli-desa/belanja/[id]/page.tsx b/src/app/admin/(dashboard)/ekonomi/PADesa-pendapatan-asli-desa/belanja/[id]/page.tsx index 7c03d4a8..b4b21fdd 100644 --- a/src/app/admin/(dashboard)/ekonomi/PADesa-pendapatan-asli-desa/belanja/[id]/page.tsx +++ b/src/app/admin/(dashboard)/ekonomi/PADesa-pendapatan-asli-desa/belanja/[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'; @@ -90,16 +89,14 @@ function EditBelanja() { {/* Header */} - - - + Edit Jenis Belanja diff --git a/src/app/admin/(dashboard)/ekonomi/PADesa-pendapatan-asli-desa/belanja/create/page.tsx b/src/app/admin/(dashboard)/ekonomi/PADesa-pendapatan-asli-desa/belanja/create/page.tsx index 7cc80cf9..50b6f1cd 100644 --- a/src/app/admin/(dashboard)/ekonomi/PADesa-pendapatan-asli-desa/belanja/create/page.tsx +++ b/src/app/admin/(dashboard)/ekonomi/PADesa-pendapatan-asli-desa/belanja/create/page.tsx @@ -10,13 +10,12 @@ 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 { toast } from 'react-toastify'; +import { useProxy } from 'valtio/utils'; function CreateBelanja() { const belanjaState = useProxy(PendapatanAsliDesa.belanja); @@ -57,16 +56,14 @@ function CreateBelanja() { {/* Header dengan back button */} - - - + Tambah Jenis Belanja diff --git a/src/app/admin/(dashboard)/ekonomi/PADesa-pendapatan-asli-desa/belanja/page.tsx b/src/app/admin/(dashboard)/ekonomi/PADesa-pendapatan-asli-desa/belanja/page.tsx index 467c8142..1a09d875 100644 --- a/src/app/admin/(dashboard)/ekonomi/PADesa-pendapatan-asli-desa/belanja/page.tsx +++ b/src/app/admin/(dashboard)/ekonomi/PADesa-pendapatan-asli-desa/belanja/page.tsx @@ -17,8 +17,7 @@ import { TableThead, TableTr, Text, - Title, - Tooltip + Title } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconEdit, IconPlus, IconSearch, IconTrash } from '@tabler/icons-react'; @@ -96,18 +95,16 @@ function ListBelanja({ search }: { search: string }) { Daftar Belanja - - - + @@ -138,34 +135,30 @@ function ListBelanja({ search }: { search: string }) { - - - - - - + + diff --git a/src/app/admin/(dashboard)/ekonomi/PADesa-pendapatan-asli-desa/pembiayaan/[id]/page.tsx b/src/app/admin/(dashboard)/ekonomi/PADesa-pendapatan-asli-desa/pembiayaan/[id]/page.tsx index 25df9c5b..6a4ad0cf 100644 --- a/src/app/admin/(dashboard)/ekonomi/PADesa-pendapatan-asli-desa/pembiayaan/[id]/page.tsx +++ b/src/app/admin/(dashboard)/ekonomi/PADesa-pendapatan-asli-desa/pembiayaan/[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'; @@ -87,16 +86,14 @@ function EditPembiayaan() { {/* Header */} - - - + Edit Jenis Pembiayaan diff --git a/src/app/admin/(dashboard)/ekonomi/PADesa-pendapatan-asli-desa/pembiayaan/create/page.tsx b/src/app/admin/(dashboard)/ekonomi/PADesa-pendapatan-asli-desa/pembiayaan/create/page.tsx index a432a431..549ad7e6 100644 --- a/src/app/admin/(dashboard)/ekonomi/PADesa-pendapatan-asli-desa/pembiayaan/create/page.tsx +++ b/src/app/admin/(dashboard)/ekonomi/PADesa-pendapatan-asli-desa/pembiayaan/create/page.tsx @@ -1,8 +1,5 @@ 'use client'; -import React from 'react'; -import { useProxy } from 'valtio/utils'; import PendapatanAsliDesa from '@/app/admin/(dashboard)/_state/ekonomi/PADesa'; -import { useRouter } from 'next/navigation'; import colors from '@/con/colors'; import { Box, @@ -10,13 +7,14 @@ import { Group, Paper, Stack, - Title, - TextInput, Text, - Tooltip, + TextInput, + Title } from '@mantine/core'; import { IconArrowBack } from '@tabler/icons-react'; +import { useRouter } from 'next/navigation'; import { toast } from 'react-toastify'; +import { useProxy } from 'valtio/utils'; function CreatePembiayaan() { const pembiayaanState = useProxy(PendapatanAsliDesa.pembiayaan); @@ -57,16 +55,14 @@ function CreatePembiayaan() { {/* Header */} - - - + Tambah Jenis Pembiayaan diff --git a/src/app/admin/(dashboard)/ekonomi/PADesa-pendapatan-asli-desa/pembiayaan/page.tsx b/src/app/admin/(dashboard)/ekonomi/PADesa-pendapatan-asli-desa/pembiayaan/page.tsx index 627f5894..f9c265a6 100644 --- a/src/app/admin/(dashboard)/ekonomi/PADesa-pendapatan-asli-desa/pembiayaan/page.tsx +++ b/src/app/admin/(dashboard)/ekonomi/PADesa-pendapatan-asli-desa/pembiayaan/page.tsx @@ -1,9 +1,11 @@ 'use client' +import colors from '@/con/colors'; import { Box, Button, Center, Group, + Pagination, Paper, Skeleton, Stack, @@ -14,19 +16,16 @@ import { TableThead, TableTr, Text, - Title, - Tooltip, - Pagination, + Title } from '@mantine/core'; -import React, { useState } from 'react'; -import HeaderSearch from '../../../_com/header'; -import { IconEdit, IconPlus, IconSearch, IconTrash } from '@tabler/icons-react'; -import PendapatanAsliDesa from '../../../_state/ekonomi/PADesa'; -import { useProxy } from 'valtio/utils'; -import { useRouter } from 'next/navigation'; import { useShallowEffect } from '@mantine/hooks'; -import colors from '@/con/colors'; +import { IconEdit, IconPlus, IconSearch, IconTrash } from '@tabler/icons-react'; +import { useRouter } from 'next/navigation'; +import { useState } from 'react'; +import { useProxy } from 'valtio/utils'; +import HeaderSearch from '../../../_com/header'; import { ModalKonfirmasiHapus } from '../../../_com/modalKonfirmasiHapus'; +import PendapatanAsliDesa from '../../../_state/ekonomi/PADesa'; function Pembiayaan() { const [search, setSearch] = useState(""); @@ -95,18 +94,16 @@ function ListPembiayaan({ search }: { search: string }) { Daftar Pembiayaan - - - + diff --git a/src/app/admin/(dashboard)/ekonomi/PADesa-pendapatan-asli-desa/pendapatan/[id]/page.tsx b/src/app/admin/(dashboard)/ekonomi/PADesa-pendapatan-asli-desa/pendapatan/[id]/page.tsx index cf8e65f0..265f8386 100644 --- a/src/app/admin/(dashboard)/ekonomi/PADesa-pendapatan-asli-desa/pendapatan/[id]/page.tsx +++ b/src/app/admin/(dashboard)/ekonomi/PADesa-pendapatan-asli-desa/pendapatan/[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'; @@ -94,16 +93,14 @@ function EditPendapatan() { {/* Header with Back Button */} - - - + Edit Jenis Pendapatan diff --git a/src/app/admin/(dashboard)/ekonomi/PADesa-pendapatan-asli-desa/pendapatan/create/page.tsx b/src/app/admin/(dashboard)/ekonomi/PADesa-pendapatan-asli-desa/pendapatan/create/page.tsx index 663ae35b..2fa43d74 100644 --- a/src/app/admin/(dashboard)/ekonomi/PADesa-pendapatan-asli-desa/pendapatan/create/page.tsx +++ b/src/app/admin/(dashboard)/ekonomi/PADesa-pendapatan-asli-desa/pendapatan/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'; @@ -49,16 +48,14 @@ function CreatePendapatan() { {/* Header dengan tombol back + judul */} - - - + Tambah Jenis Pendapatan diff --git a/src/app/admin/(dashboard)/ekonomi/PADesa-pendapatan-asli-desa/pendapatan/page.tsx b/src/app/admin/(dashboard)/ekonomi/PADesa-pendapatan-asli-desa/pendapatan/page.tsx index 47ba7b86..9c0fe175 100644 --- a/src/app/admin/(dashboard)/ekonomi/PADesa-pendapatan-asli-desa/pendapatan/page.tsx +++ b/src/app/admin/(dashboard)/ekonomi/PADesa-pendapatan-asli-desa/pendapatan/page.tsx @@ -17,8 +17,7 @@ import { TableThead, TableTr, Text, - Title, - Tooltip + Title } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconEdit, IconPlus, IconSearch, IconTrash } from '@tabler/icons-react'; @@ -96,18 +95,16 @@ function ListPendapatan({ search }: { search: string }) { Daftar Pendapatan - - - + diff --git a/src/app/admin/(dashboard)/ekonomi/demografi-pekerjaan/[id]/page.tsx b/src/app/admin/(dashboard)/ekonomi/demografi-pekerjaan/[id]/page.tsx index 016cb96b..4a1b672b 100644 --- a/src/app/admin/(dashboard)/ekonomi/demografi-pekerjaan/[id]/page.tsx +++ b/src/app/admin/(dashboard)/ekonomi/demografi-pekerjaan/[id]/page.tsx @@ -9,12 +9,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 demografiPekerjaan from '../../../_state/ekonomi/demografi-pekerjaan'; @@ -96,16 +95,14 @@ export default function EditDemografiPekerjaan() { {/* Header */} - - - + Edit Demografi Pekerjaan diff --git a/src/app/admin/(dashboard)/ekonomi/demografi-pekerjaan/create/page.tsx b/src/app/admin/(dashboard)/ekonomi/demografi-pekerjaan/create/page.tsx index d590b347..fec578be 100644 --- a/src/app/admin/(dashboard)/ekonomi/demografi-pekerjaan/create/page.tsx +++ b/src/app/admin/(dashboard)/ekonomi/demografi-pekerjaan/create/page.tsx @@ -10,8 +10,7 @@ import { Paper, Stack, TextInput, - Title, - Tooltip, + Title } from '@mantine/core'; import { IconArrowBack } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; @@ -49,16 +48,14 @@ function CreateDemografiPekerjaan() { {/* Header */} - - - + Tambah Demografi Pekerjaan diff --git a/src/app/admin/(dashboard)/ekonomi/demografi-pekerjaan/page.tsx b/src/app/admin/(dashboard)/ekonomi/demografi-pekerjaan/page.tsx index 1b41b2ae..ea4af5a2 100644 --- a/src/app/admin/(dashboard)/ekonomi/demografi-pekerjaan/page.tsx +++ b/src/app/admin/(dashboard)/ekonomi/demografi-pekerjaan/page.tsx @@ -6,7 +6,9 @@ import { Box, Button, Center, + Flex, Group, + Pagination, Paper, Skeleton, Stack, @@ -17,10 +19,7 @@ import { TableThead, TableTr, Text, - Title, - Tooltip, - Pagination, - Flex, + Title } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconEdit, IconPlus, IconSearch, IconTrash } from '@tabler/icons-react'; @@ -111,16 +110,14 @@ function ListDemografiPekerjaan({ search }: { search: string }) { List Demografi Pekerjaan - - - + diff --git a/src/app/admin/(dashboard)/ekonomi/jumlah-penduduk-miskin/[id]/page.tsx b/src/app/admin/(dashboard)/ekonomi/jumlah-penduduk-miskin/[id]/page.tsx index b7a217a4..a49738c5 100644 --- a/src/app/admin/(dashboard)/ekonomi/jumlah-penduduk-miskin/[id]/page.tsx +++ b/src/app/admin/(dashboard)/ekonomi/jumlah-penduduk-miskin/[id]/page.tsx @@ -6,18 +6,17 @@ import colors from '@/con/colors'; import { Box, Button, + Group, Paper, Stack, TextInput, - Title, - Group, - Tooltip, + Title } from '@mantine/core'; import { IconArrowBack } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; import { useEffect, useState } from 'react'; -import { useProxy } from 'valtio/utils'; import { toast } from 'react-toastify'; +import { useProxy } from 'valtio/utils'; function EditJumlahPendudukMiskin() { const router = useRouter(); @@ -82,16 +81,14 @@ function EditJumlahPendudukMiskin() { return ( - - - + Edit Jumlah Penduduk Miskin diff --git a/src/app/admin/(dashboard)/ekonomi/jumlah-penduduk-miskin/create/page.tsx b/src/app/admin/(dashboard)/ekonomi/jumlah-penduduk-miskin/create/page.tsx index fdebedfd..4bad22be 100644 --- a/src/app/admin/(dashboard)/ekonomi/jumlah-penduduk-miskin/create/page.tsx +++ b/src/app/admin/(dashboard)/ekonomi/jumlah-penduduk-miskin/create/page.tsx @@ -1,12 +1,12 @@ /* eslint-disable @typescript-eslint/no-unused-vars */ /* eslint-disable @typescript-eslint/no-explicit-any */ 'use client'; -import { Box, Button, Group, Paper, Stack, TextInput, Title, Tooltip } from '@mantine/core'; +import colors from '@/con/colors'; +import { Box, Button, Group, Paper, Stack, TextInput, Title } from '@mantine/core'; import { IconArrowBack } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; import { useState } from 'react'; import { useProxy } from 'valtio/utils'; -import colors from '@/con/colors'; import jumlahPendudukMiskin from '../../../_state/ekonomi/jumlah-penduduk-miskin'; export default function CreateJumlahPendudukMiskin() { @@ -38,11 +38,9 @@ export default function CreateJumlahPendudukMiskin() { {/* Header */} - - - + Tambah Jumlah Penduduk Miskin diff --git a/src/app/admin/(dashboard)/ekonomi/jumlah-penduduk-miskin/page.tsx b/src/app/admin/(dashboard)/ekonomi/jumlah-penduduk-miskin/page.tsx index 57fde078..c588820c 100644 --- a/src/app/admin/(dashboard)/ekonomi/jumlah-penduduk-miskin/page.tsx +++ b/src/app/admin/(dashboard)/ekonomi/jumlah-penduduk-miskin/page.tsx @@ -16,11 +16,10 @@ import { TableThead, TableTr, Text, - Title, - Tooltip, + Title } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; -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'; @@ -101,18 +100,16 @@ function ListJumlahPendudukMiskin({ search }: { search: string }) { Daftar Jumlah Penduduk Miskin - - - + diff --git a/src/app/admin/(dashboard)/ekonomi/jumlah-penduduk-usia-kerja-yang-menganggur/_lib/layoutTabs.tsx b/src/app/admin/(dashboard)/ekonomi/jumlah-penduduk-usia-kerja-yang-menganggur/_lib/layoutTabs.tsx index 8b884c50..ee70c101 100644 --- a/src/app/admin/(dashboard)/ekonomi/jumlah-penduduk-usia-kerja-yang-menganggur/_lib/layoutTabs.tsx +++ b/src/app/admin/(dashboard)/ekonomi/jumlah-penduduk-usia-kerja-yang-menganggur/_lib/layoutTabs.tsx @@ -2,18 +2,17 @@ 'use client' import colors from '@/con/colors'; import { + ScrollArea, Stack, Tabs, TabsList, TabsPanel, TabsTab, - Title, - Tooltip, - ScrollArea, + Title } from '@mantine/core'; +import { IconSchool, IconUsers } from '@tabler/icons-react'; import { usePathname, useRouter } from 'next/navigation'; import React, { useEffect, useState } from 'react'; -import { IconUsers, IconSchool } from '@tabler/icons-react'; function LayoutTabs({ children }: { children: React.ReactNode }) { const router = useRouter(); @@ -24,15 +23,13 @@ function LayoutTabs({ children }: { children: React.ReactNode }) { label: "Pengangguran Berdasarkan Usia", value: "pengangguranberdasarkanusia", href: "/admin/ekonomi/jumlah-penduduk-usia-kerja-yang-menganggur/pengangguran_berdasarkan_usia", - icon: , - tooltip: "Data pengangguran menurut kelompok usia", + icon: }, { label: "Pengangguran Berdasarkan Pendidikan", value: "pengangguranberdasarkanpendidikan", href: "/admin/ekonomi/jumlah-penduduk-usia-kerja-yang-menganggur/pengangguran_berdasarkan_pendidikan", - icon: , - tooltip: "Data pengangguran menurut tingkat pendidikan", + icon: }, ]; @@ -78,26 +75,19 @@ function LayoutTabs({ children }: { children: React.ReactNode }) { }} > {tabs.map((tab, i) => ( - - - {tab.label} - - + {tab.label} + ))} diff --git a/src/app/admin/(dashboard)/ekonomi/jumlah-penduduk-usia-kerja-yang-menganggur/pengangguran_berdasarkan_pendidikan/[id]/page.tsx b/src/app/admin/(dashboard)/ekonomi/jumlah-penduduk-usia-kerja-yang-menganggur/pengangguran_berdasarkan_pendidikan/[id]/page.tsx index 7e069310..7677e027 100644 --- a/src/app/admin/(dashboard)/ekonomi/jumlah-penduduk-usia-kerja-yang-menganggur/pengangguran_berdasarkan_pendidikan/[id]/page.tsx +++ b/src/app/admin/(dashboard)/ekonomi/jumlah-penduduk-usia-kerja-yang-menganggur/pengangguran_berdasarkan_pendidikan/[id]/page.tsx @@ -2,7 +2,7 @@ 'use client'; import grafikNganggur from '@/app/admin/(dashboard)/_state/ekonomi/usia-kerja-nganggur'; 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'; @@ -40,7 +40,7 @@ function EditGrafikBerdasarkanPendidikan() { } }, [id]); - const handleChange = (field: keyof typeof formData) => + const handleChange = (field: keyof typeof formData) => (e: React.ChangeEvent) => { setFormData((prev) => ({ ...prev, @@ -60,16 +60,14 @@ function EditGrafikBerdasarkanPendidikan() { return ( - - - + Edit Grafik Pengangguran Berdasarkan Pendidikan diff --git a/src/app/admin/(dashboard)/ekonomi/jumlah-penduduk-usia-kerja-yang-menganggur/pengangguran_berdasarkan_pendidikan/create/page.tsx b/src/app/admin/(dashboard)/ekonomi/jumlah-penduduk-usia-kerja-yang-menganggur/pengangguran_berdasarkan_pendidikan/create/page.tsx index e57a797a..5c890bc0 100644 --- a/src/app/admin/(dashboard)/ekonomi/jumlah-penduduk-usia-kerja-yang-menganggur/pengangguran_berdasarkan_pendidikan/create/page.tsx +++ b/src/app/admin/(dashboard)/ekonomi/jumlah-penduduk-usia-kerja-yang-menganggur/pengangguran_berdasarkan_pendidikan/create/page.tsx @@ -1,14 +1,13 @@ 'use client'; /* eslint-disable @typescript-eslint/no-unused-vars */ /* eslint-disable @typescript-eslint/no-explicit-any */ -import React from 'react'; -import { useRouter } from 'next/navigation'; import grafikNganggur from '@/app/admin/(dashboard)/_state/ekonomi/usia-kerja-nganggur'; -import { useProxy } from 'valtio/utils'; -import { useState } from 'react'; import colors from '@/con/colors'; -import { Box, Button, Paper, Stack, Title, TextInput, Group, 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 { useState } from 'react'; +import { useProxy } from 'valtio/utils'; function CreateGrafikBerdasarkanPendidikan() { const router = useRouter(); @@ -44,11 +43,9 @@ function CreateGrafikBerdasarkanPendidikan() { return ( - - - + Tambah Data Pengangguran Berdasarkan Pendidikan diff --git a/src/app/admin/(dashboard)/ekonomi/jumlah-penduduk-usia-kerja-yang-menganggur/pengangguran_berdasarkan_pendidikan/page.tsx b/src/app/admin/(dashboard)/ekonomi/jumlah-penduduk-usia-kerja-yang-menganggur/pengangguran_berdasarkan_pendidikan/page.tsx index 74137342..5ef9d16a 100644 --- a/src/app/admin/(dashboard)/ekonomi/jumlah-penduduk-usia-kerja-yang-menganggur/pengangguran_berdasarkan_pendidikan/page.tsx +++ b/src/app/admin/(dashboard)/ekonomi/jumlah-penduduk-usia-kerja-yang-menganggur/pengangguran_berdasarkan_pendidikan/page.tsx @@ -1,6 +1,7 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ 'use client' import colors from '@/con/colors'; +import { DonutChart } from '@mantine/charts'; import { Box, Button, @@ -17,15 +18,13 @@ import { TableThead, TableTr, Text, - Title, - Tooltip, + Title } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; 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 { DonutChart } from '@mantine/charts'; import HeaderSearch from '../../../_com/header'; import { ModalKonfirmasiHapus } from '../../../_com/modalKonfirmasiHapus'; import grafikNganggur from '../../../_state/ekonomi/usia-kerja-nganggur'; @@ -116,20 +115,18 @@ function ListGrafikBerdasarkanPendidikan({ search }: { search: string }) { List Pengangguran Berdasarkan Pendidikan - - - + @@ -165,34 +162,30 @@ function ListGrafikBerdasarkanPendidikan({ search }: { search: string }) { {item.D3} {item.S1} - - - + - - - + )) diff --git a/src/app/admin/(dashboard)/ekonomi/jumlah-penduduk-usia-kerja-yang-menganggur/pengangguran_berdasarkan_usia/[id]/page.tsx b/src/app/admin/(dashboard)/ekonomi/jumlah-penduduk-usia-kerja-yang-menganggur/pengangguran_berdasarkan_usia/[id]/page.tsx index f5e77711..ab99accc 100644 --- a/src/app/admin/(dashboard)/ekonomi/jumlah-penduduk-usia-kerja-yang-menganggur/pengangguran_berdasarkan_usia/[id]/page.tsx +++ b/src/app/admin/(dashboard)/ekonomi/jumlah-penduduk-usia-kerja-yang-menganggur/pengangguran_berdasarkan_usia/[id]/page.tsx @@ -5,18 +5,17 @@ import colors from '@/con/colors'; import { Box, Button, + Group, Paper, Stack, TextInput, - Title, - Group, - Tooltip, + Title } from '@mantine/core'; import { IconArrowBack } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; import { useEffect, useState } from 'react'; -import { useProxy } from 'valtio/utils'; import { toast } from 'react-toastify'; +import { useProxy } from 'valtio/utils'; function EditGrafikBerdasarkanUsiaKerjaYangMenganggur() { const router = useRouter(); @@ -79,16 +78,14 @@ function EditGrafikBerdasarkanUsiaKerjaYangMenganggur() { return ( - - - + Edit Grafik Pengangguran Berdasarkan Usia Kerja diff --git a/src/app/admin/(dashboard)/ekonomi/jumlah-penduduk-usia-kerja-yang-menganggur/pengangguran_berdasarkan_usia/create/page.tsx b/src/app/admin/(dashboard)/ekonomi/jumlah-penduduk-usia-kerja-yang-menganggur/pengangguran_berdasarkan_usia/create/page.tsx index 77c362fd..3051f3f1 100644 --- a/src/app/admin/(dashboard)/ekonomi/jumlah-penduduk-usia-kerja-yang-menganggur/pengangguran_berdasarkan_usia/create/page.tsx +++ b/src/app/admin/(dashboard)/ekonomi/jumlah-penduduk-usia-kerja-yang-menganggur/pengangguran_berdasarkan_usia/create/page.tsx @@ -2,13 +2,13 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ 'use client'; -import React, { useState } from 'react'; -import { useRouter } from 'next/navigation'; -import { useProxy } from 'valtio/utils'; import grafikNganggur from '@/app/admin/(dashboard)/_state/ekonomi/usia-kerja-nganggur'; import colors from '@/con/colors'; -import { Box, Button, Paper, Stack, Title, TextInput, Group, 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 { useState } from 'react'; +import { useProxy } from 'valtio/utils'; function CreateGrafikBerdasarkanUsiaKerjaYangMenganggur() { const router = useRouter(); @@ -42,11 +42,9 @@ function CreateGrafikBerdasarkanUsiaKerjaYangMenganggur() { {/* Header */} - - - + Tambah Data Pengangguran Berdasarkan Usia diff --git a/src/app/admin/(dashboard)/ekonomi/jumlah-pengangguran/[id]/page.tsx b/src/app/admin/(dashboard)/ekonomi/jumlah-pengangguran/[id]/page.tsx index a4043b22..3138479b 100644 --- a/src/app/admin/(dashboard)/ekonomi/jumlah-pengangguran/[id]/page.tsx +++ b/src/app/admin/(dashboard)/ekonomi/jumlah-pengangguran/[id]/page.tsx @@ -2,7 +2,7 @@ import { ModalKonfirmasiHapus } from '@/app/admin/(dashboard)/_com/modalKonfirmasiHapus'; import jumlahPengangguranState from '@/app/admin/(dashboard)/_state/ekonomi/jumlah-pengangguran'; import colors from '@/con/colors'; -import { Box, Button, Flex, Paper, Skeleton, Stack, Text, Tooltip } from '@mantine/core'; +import { Box, Button, Flex, 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'; @@ -103,32 +103,28 @@ function DetailJumlahPengangguran() { {/* Tombol Edit & Hapus */} - - - + - - - + diff --git a/src/app/admin/(dashboard)/ekonomi/jumlah-pengangguran/create/page.tsx b/src/app/admin/(dashboard)/ekonomi/jumlah-pengangguran/create/page.tsx index df0cb26a..c16fce6d 100644 --- a/src/app/admin/(dashboard)/ekonomi/jumlah-pengangguran/create/page.tsx +++ b/src/app/admin/(dashboard)/ekonomi/jumlah-pengangguran/create/page.tsx @@ -7,13 +7,12 @@ import { Box, Button, Group, + NumberInput, Paper, + Select, Stack, Text, - NumberInput, - Title, - Select, - Tooltip, + Title } from '@mantine/core'; import { IconArrowBack } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; @@ -89,16 +88,14 @@ function CreateJumlahPengangguran() { {/* Header */} - - - + Tambah Data Pengangguran diff --git a/src/app/admin/(dashboard)/ekonomi/jumlah-pengangguran/page.tsx b/src/app/admin/(dashboard)/ekonomi/jumlah-pengangguran/page.tsx index ff3a8209..698ba948 100644 --- a/src/app/admin/(dashboard)/ekonomi/jumlah-pengangguran/page.tsx +++ b/src/app/admin/(dashboard)/ekonomi/jumlah-pengangguran/page.tsx @@ -1,17 +1,17 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ 'use client' import colors from '@/con/colors'; +import { BarChart } from '@mantine/charts'; import { Box, Button, Center, Group, Pagination, Paper, Skeleton, Stack, Table, TableTbody, TableTd, TableTh, TableThead, TableTr, - Text, Title, Tooltip + Text, Title } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconDeviceImac, IconPlus, IconSearch } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; import { useEffect, useState } from 'react'; import { useProxy } from 'valtio/utils'; -import { BarChart } from '@mantine/charts'; import HeaderSearch from '../../_com/header'; import jumlahPengangguranState from '../../_state/ekonomi/jumlah-pengangguran'; @@ -85,16 +85,14 @@ function ListDetailDataPengangguran({ search }: { search: string }) { Daftar Detail Data Pengangguran - - - + diff --git a/src/app/admin/(dashboard)/ekonomi/lowongan-kerja-lokal/[id]/edit/page.tsx b/src/app/admin/(dashboard)/ekonomi/lowongan-kerja-lokal/[id]/edit/page.tsx index ec501ee0..cc7371db 100644 --- a/src/app/admin/(dashboard)/ekonomi/lowongan-kerja-lokal/[id]/edit/page.tsx +++ b/src/app/admin/(dashboard)/ekonomi/lowongan-kerja-lokal/[id]/edit/page.tsx @@ -11,8 +11,7 @@ import { Stack, Text, TextInput, - Title, - Tooltip, + Title } from '@mantine/core'; import { IconArrowBack } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; @@ -88,13 +87,10 @@ function EditLowonganKerja() { return ( - {/* Header dengan tombol back */} - - - + Edit Lowongan Kerja Lokal diff --git a/src/app/admin/(dashboard)/ekonomi/lowongan-kerja-lokal/[id]/page.tsx b/src/app/admin/(dashboard)/ekonomi/lowongan-kerja-lokal/[id]/page.tsx index 980529aa..c9776908 100644 --- a/src/app/admin/(dashboard)/ekonomi/lowongan-kerja-lokal/[id]/page.tsx +++ b/src/app/admin/(dashboard)/ekonomi/lowongan-kerja-lokal/[id]/page.tsx @@ -1,6 +1,6 @@ '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'; @@ -108,32 +108,28 @@ function DetailLowonganKerjaLokal() { - - - + - - - + diff --git a/src/app/admin/(dashboard)/ekonomi/lowongan-kerja-lokal/create/page.tsx b/src/app/admin/(dashboard)/ekonomi/lowongan-kerja-lokal/create/page.tsx index 606100e8..aac19f6d 100644 --- a/src/app/admin/(dashboard)/ekonomi/lowongan-kerja-lokal/create/page.tsx +++ b/src/app/admin/(dashboard)/ekonomi/lowongan-kerja-lokal/create/page.tsx @@ -8,8 +8,7 @@ import { Stack, Text, TextInput, - Title, - Tooltip, + Title } from '@mantine/core'; import { IconArrowBack } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; @@ -42,18 +41,15 @@ function CreateLowonganKerja() { return ( - {/* Header dengan tombol kembali */} - - - + Tambah Lowongan Kerja Lokal diff --git a/src/app/admin/(dashboard)/ekonomi/lowongan-kerja-lokal/page.tsx b/src/app/admin/(dashboard)/ekonomi/lowongan-kerja-lokal/page.tsx index 2c4452ac..149bed60 100644 --- a/src/app/admin/(dashboard)/ekonomi/lowongan-kerja-lokal/page.tsx +++ b/src/app/admin/(dashboard)/ekonomi/lowongan-kerja-lokal/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'; @@ -69,7 +68,6 @@ function ListLowonganKerjaLokal({ search }: { search: string }) { Daftar Lowongan Kerja Lokal - - 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 98809ce9..a4edbe61 100644 --- a/src/app/admin/(dashboard)/ekonomi/pasar-desa/_lib/layoutTabs.tsx +++ b/src/app/admin/(dashboard)/ekonomi/pasar-desa/_lib/layoutTabs.tsx @@ -2,18 +2,17 @@ 'use client' import colors from '@/con/colors'; import { + ScrollArea, Stack, Tabs, TabsList, TabsPanel, TabsTab, - Title, - Tooltip, - ScrollArea, + Title } from '@mantine/core'; +import { IconCategory, IconShoppingBag } from '@tabler/icons-react'; import { usePathname, useRouter } from 'next/navigation'; import React, { useEffect, useState } from 'react'; -import { IconShoppingBag, IconCategory } from '@tabler/icons-react'; function LayoutTabs({ children }: { children: React.ReactNode }) { const router = useRouter(); @@ -30,8 +29,7 @@ function LayoutTabs({ children }: { children: React.ReactNode }) { label: "Kategori Produk", value: "kategoriproduk", href: "/admin/ekonomi/pasar-desa/kategori-produk", - icon: , - tooltip: "Atur kategori produk pasar desa", + icon: }, ]; @@ -84,26 +82,19 @@ function LayoutTabs({ children }: { children: React.ReactNode }) { }} > {tabs.map((tab, i) => ( - - - {tab.label} - - + {tab.label} + ))} diff --git a/src/app/admin/(dashboard)/ekonomi/pasar-desa/kategori-produk/[id]/page.tsx b/src/app/admin/(dashboard)/ekonomi/pasar-desa/kategori-produk/[id]/page.tsx index 451a4a71..e62f85a4 100644 --- a/src/app/admin/(dashboard)/ekonomi/pasar-desa/kategori-produk/[id]/page.tsx +++ b/src/app/admin/(dashboard)/ekonomi/pasar-desa/kategori-produk/[id]/page.tsx @@ -1,9 +1,5 @@ /* eslint-disable react-hooks/exhaustive-deps */ 'use client' -import React, { useEffect, useState } from 'react'; -import { useParams, useRouter } from 'next/navigation'; -import { useProxy } from 'valtio/utils'; -import pasarDesaState from '../../../../_state/ekonomi/pasar-desa/pasar-desa'; import colors from '@/con/colors'; import { Box, @@ -11,13 +7,16 @@ import { Group, Paper, Stack, - Title, - TextInput, - Tooltip, Text, + TextInput, + Title } from '@mantine/core'; import { IconArrowBack } from '@tabler/icons-react'; +import { useParams, useRouter } from 'next/navigation'; +import React, { useEffect, useState } from 'react'; import { toast } from 'react-toastify'; +import { useProxy } from 'valtio/utils'; +import pasarDesaState from '../../../../_state/ekonomi/pasar-desa/pasar-desa'; function EditKategoriProduk() { const router = useRouter(); @@ -93,16 +92,14 @@ function EditKategoriProduk() { {/* Header dengan tombol back */} - - - + Edit Kategori Produk diff --git a/src/app/admin/(dashboard)/ekonomi/pasar-desa/kategori-produk/create/page.tsx b/src/app/admin/(dashboard)/ekonomi/pasar-desa/kategori-produk/create/page.tsx index 93598be7..e0e6caa1 100644 --- a/src/app/admin/(dashboard)/ekonomi/pasar-desa/kategori-produk/create/page.tsx +++ b/src/app/admin/(dashboard)/ekonomi/pasar-desa/kategori-produk/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'; @@ -46,7 +45,6 @@ function CreateKategoriProduk() { {/* Header dengan tombol kembali */} - - Tambah Kategori Produk diff --git a/src/app/admin/(dashboard)/ekonomi/pasar-desa/kategori-produk/page.tsx b/src/app/admin/(dashboard)/ekonomi/pasar-desa/kategori-produk/page.tsx index 0115aefd..9c83d9b9 100644 --- a/src/app/admin/(dashboard)/ekonomi/pasar-desa/kategori-produk/page.tsx +++ b/src/app/admin/(dashboard)/ekonomi/pasar-desa/kategori-produk/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, IconX } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; @@ -68,7 +68,6 @@ function ListKategoriProduk({ search2 }: { search2: string }) { Daftar Kategori Produk - - @@ -99,7 +97,6 @@ function ListKategoriProduk({ search2 }: { search2: string }) { - - - - - + )) ) : ( diff --git a/src/app/admin/(dashboard)/ekonomi/pasar-desa/produk-pasar-desa/[id]/edit/page.tsx b/src/app/admin/(dashboard)/ekonomi/pasar-desa/produk-pasar-desa/[id]/edit/page.tsx index 17ebd925..b87e474b 100644 --- a/src/app/admin/(dashboard)/ekonomi/pasar-desa/produk-pasar-desa/[id]/edit/page.tsx +++ b/src/app/admin/(dashboard)/ekonomi/pasar-desa/produk-pasar-desa/[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 EditPasarDesa() { return ( - - - + Edit Pasar Desa diff --git a/src/app/admin/(dashboard)/ekonomi/pasar-desa/produk-pasar-desa/[id]/page.tsx b/src/app/admin/(dashboard)/ekonomi/pasar-desa/produk-pasar-desa/[id]/page.tsx index 96f52523..a36b7d9d 100644 --- a/src/app/admin/(dashboard)/ekonomi/pasar-desa/produk-pasar-desa/[id]/page.tsx +++ b/src/app/admin/(dashboard)/ekonomi/pasar-desa/produk-pasar-desa/[id]/page.tsx @@ -1,13 +1,13 @@ 'use client' +import { ModalKonfirmasiHapus } from '@/app/admin/(dashboard)/_com/modalKonfirmasiHapus'; 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 { useRouter, useParams } from 'next/navigation'; -import React, { useState } from 'react'; +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 pasarDesaState from '../../../../_state/ekonomi/pasar-desa/pasar-desa'; -import { useShallowEffect } from '@mantine/hooks'; -import { ModalKonfirmasiHapus } from '@/app/admin/(dashboard)/_com/modalKonfirmasiHapus'; function DetailPasarDesa() { const statePasar = useProxy(pasarDesaState); @@ -123,32 +123,28 @@ function DetailPasarDesa() { - - - + - - - + diff --git a/src/app/admin/(dashboard)/ekonomi/pasar-desa/produk-pasar-desa/create/page.tsx b/src/app/admin/(dashboard)/ekonomi/pasar-desa/produk-pasar-desa/create/page.tsx index 72265081..b611f44a 100644 --- a/src/app/admin/(dashboard)/ekonomi/pasar-desa/produk-pasar-desa/create/page.tsx +++ b/src/app/admin/(dashboard)/ekonomi/pasar-desa/produk-pasar-desa/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'; @@ -73,11 +72,9 @@ export default function CreatePasarDesa() { {/* Header dengan tombol kembali */} - - - + Tambah Produk Pasar Desa diff --git a/src/app/admin/(dashboard)/ekonomi/pasar-desa/produk-pasar-desa/page.tsx b/src/app/admin/(dashboard)/ekonomi/pasar-desa/produk-pasar-desa/page.tsx index fc14e3f3..e7e1b444 100644 --- a/src/app/admin/(dashboard)/ekonomi/pasar-desa/produk-pasar-desa/page.tsx +++ b/src/app/admin/(dashboard)/ekonomi/pasar-desa/produk-pasar-desa/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'; @@ -68,18 +67,16 @@ function ListPasarDesa({ search }: { search: string }) { Daftar Produk Pasar Desa - - - + diff --git a/src/app/admin/(dashboard)/ekonomi/program-kemiskinan/[id]/edit/page.tsx b/src/app/admin/(dashboard)/ekonomi/program-kemiskinan/[id]/edit/page.tsx index 6dbb6b03..b6c0324e 100644 --- a/src/app/admin/(dashboard)/ekonomi/program-kemiskinan/[id]/edit/page.tsx +++ b/src/app/admin/(dashboard)/ekonomi/program-kemiskinan/[id]/edit/page.tsx @@ -13,14 +13,13 @@ import { Stack, Text, 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 { useProxy } from 'valtio/utils'; +import { useCallback, useEffect, useState } from 'react'; import { toast } from 'react-toastify'; +import { useProxy } from 'valtio/utils'; type Statistik = { tahun: string; @@ -118,16 +117,14 @@ function EditProgramKemiskinan() { {/* Header */} - - - + Edit Program Kemiskinan diff --git a/src/app/admin/(dashboard)/ekonomi/program-kemiskinan/[id]/page.tsx b/src/app/admin/(dashboard)/ekonomi/program-kemiskinan/[id]/page.tsx index 5e4acf64..25f58c09 100644 --- a/src/app/admin/(dashboard)/ekonomi/program-kemiskinan/[id]/page.tsx +++ b/src/app/admin/(dashboard)/ekonomi/program-kemiskinan/[id]/page.tsx @@ -8,17 +8,16 @@ 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 { useState } from 'react'; import { useProxy } from 'valtio/utils'; +import { IconKey, IconMapper } from '../../../_com/iconMap'; import { ModalKonfirmasiHapus } from '../../../_com/modalKonfirmasiHapus'; import programKemiskinanState from '../../../_state/ekonomi/program-kemiskinan'; -import { IconKey, IconMapper } from '../../../_com/iconMap'; function DetailProgramKemiskinan() { const programState = useProxy(programKemiskinanState); @@ -123,33 +122,29 @@ function DetailProgramKemiskinan() { {/* Action Buttons */} - - - + - - - + diff --git a/src/app/admin/(dashboard)/ekonomi/program-kemiskinan/create/page.tsx b/src/app/admin/(dashboard)/ekonomi/program-kemiskinan/create/page.tsx index cf4c0696..d82b3ace 100644 --- a/src/app/admin/(dashboard)/ekonomi/program-kemiskinan/create/page.tsx +++ b/src/app/admin/(dashboard)/ekonomi/program-kemiskinan/create/page.tsx @@ -11,17 +11,16 @@ 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 programKemiskinanState from '../../../_state/ekonomi/program-kemiskinan'; -import CreateEditor from '../../../_com/createEditor'; -import SelectIconProgram from '../../../_com/selectIcon'; import { useState } from 'react'; import { toast } from 'react-toastify'; +import { useProxy } from 'valtio/utils'; +import CreateEditor from '../../../_com/createEditor'; +import SelectIconProgram from '../../../_com/selectIcon'; +import programKemiskinanState from '../../../_state/ekonomi/program-kemiskinan'; function CreateProgramKemiskinan() { const programState = useProxy(programKemiskinanState); @@ -65,16 +64,14 @@ function CreateProgramKemiskinan() { {/* Header dengan tombol back */} - - - + Tambah Program Kemiskinan diff --git a/src/app/admin/(dashboard)/ekonomi/program-kemiskinan/page.tsx b/src/app/admin/(dashboard)/ekonomi/program-kemiskinan/page.tsx index def7ec5e..36935bee 100644 --- a/src/app/admin/(dashboard)/ekonomi/program-kemiskinan/page.tsx +++ b/src/app/admin/(dashboard)/ekonomi/program-kemiskinan/page.tsx @@ -1,7 +1,7 @@ 'use client' /* eslint-disable @typescript-eslint/no-explicit-any */ 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 { IconDeviceImac, IconPlus, IconSearch } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; @@ -69,11 +69,9 @@ function ListProgramKemiskinan({ search }: { search: string }) { Daftar Program Kemiskinan - - - +
diff --git a/src/app/admin/(dashboard)/ekonomi/sektor-unggulan-desa/[id]/edit/page.tsx b/src/app/admin/(dashboard)/ekonomi/sektor-unggulan-desa/[id]/edit/page.tsx index f746afeb..b7525bf3 100644 --- a/src/app/admin/(dashboard)/ekonomi/sektor-unggulan-desa/[id]/edit/page.tsx +++ b/src/app/admin/(dashboard)/ekonomi/sektor-unggulan-desa/[id]/edit/page.tsx @@ -1,6 +1,7 @@ /* eslint-disable react-hooks/exhaustive-deps */ 'use client' +import EditEditor from '@/app/admin/(dashboard)/_com/editEditor'; import grafikSektorUnggulan from '@/app/admin/(dashboard)/_state/ekonomi/sektor-unggulan-desa'; import colors from '@/con/colors'; import { @@ -11,15 +12,13 @@ import { Stack, Text, TextInput, - Title, - Tooltip, + Title } from '@mantine/core'; import { IconArrowBack } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; import { useEffect, useState } from 'react'; -import { useProxy } from 'valtio/utils'; import { toast } from 'react-toastify'; -import EditEditor from '@/app/admin/(dashboard)/_com/editEditor'; +import { useProxy } from 'valtio/utils'; function EditSektorUnggulanDesa() { const router = useRouter(); @@ -59,10 +58,10 @@ function EditSektorUnggulanDesa() { const handleChange = (field: keyof typeof formData) => - (e: React.ChangeEvent) => { - const value = field === 'value' ? Number(e.currentTarget.value) : e.currentTarget.value; - setFormData((prev) => ({ ...prev, [field]: value })); - }; + (e: React.ChangeEvent) => { + const value = field === 'value' ? Number(e.currentTarget.value) : e.currentTarget.value; + setFormData((prev) => ({ ...prev, [field]: value })); + }; const handleSubmit = async () => { try { @@ -80,16 +79,14 @@ function EditSektorUnggulanDesa() { return ( - - - + Edit Sektor Unggulan Desa diff --git a/src/app/admin/(dashboard)/ekonomi/sektor-unggulan-desa/[id]/page.tsx b/src/app/admin/(dashboard)/ekonomi/sektor-unggulan-desa/[id]/page.tsx index 631a4f52..ee8c1561 100644 --- a/src/app/admin/(dashboard)/ekonomi/sektor-unggulan-desa/[id]/page.tsx +++ b/src/app/admin/(dashboard)/ekonomi/sektor-unggulan-desa/[id]/page.tsx @@ -8,8 +8,7 @@ import { Paper, Skeleton, Stack, - Text, - Tooltip, + Text } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconArrowBack, IconEdit, IconTrash } from '@tabler/icons-react'; @@ -92,36 +91,32 @@ function DetailSektorUnggulanDesa() { {/* Tombol Aksi */} - - - + - - - + diff --git a/src/app/admin/(dashboard)/ekonomi/sektor-unggulan-desa/create/page.tsx b/src/app/admin/(dashboard)/ekonomi/sektor-unggulan-desa/create/page.tsx index 4761de26..db72d661 100644 --- a/src/app/admin/(dashboard)/ekonomi/sektor-unggulan-desa/create/page.tsx +++ b/src/app/admin/(dashboard)/ekonomi/sektor-unggulan-desa/create/page.tsx @@ -10,15 +10,14 @@ 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 { useProxy } from 'valtio/utils'; -import grafikSektorUnggulan from '../../../_state/ekonomi/sektor-unggulan-desa'; import CreateEditor from '../../../_com/createEditor'; +import grafikSektorUnggulan from '../../../_state/ekonomi/sektor-unggulan-desa'; function CreateSektorUnggulanDesa() { const stateGrafik = useProxy(grafikSektorUnggulan); @@ -50,16 +49,14 @@ function CreateSektorUnggulanDesa() { {/* Header dengan back button */} - - - + Tambah Sektor Unggulan Desa diff --git a/src/app/admin/(dashboard)/ekonomi/sektor-unggulan-desa/page.tsx b/src/app/admin/(dashboard)/ekonomi/sektor-unggulan-desa/page.tsx index 3a7cc1e8..74d1153d 100644 --- a/src/app/admin/(dashboard)/ekonomi/sektor-unggulan-desa/page.tsx +++ b/src/app/admin/(dashboard)/ekonomi/sektor-unggulan-desa/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'; @@ -92,11 +91,9 @@ function ListSektorUnggulanDesa({ search }: { search: string }) { List Sektor Unggulan Desa - - - + {loading ? ( @@ -127,16 +124,14 @@ function ListSektorUnggulanDesa({ search }: { search: string }) { - - - + )) diff --git a/src/app/admin/(dashboard)/ekonomi/struktur-organisasi-dan-sk-pengurus-bumdesa/_lib/layoutTabs.tsx b/src/app/admin/(dashboard)/ekonomi/struktur-organisasi-dan-sk-pengurus-bumdesa/_lib/layoutTabs.tsx index 4425aa88..c85ac68f 100644 --- a/src/app/admin/(dashboard)/ekonomi/struktur-organisasi-dan-sk-pengurus-bumdesa/_lib/layoutTabs.tsx +++ b/src/app/admin/(dashboard)/ekonomi/struktur-organisasi-dan-sk-pengurus-bumdesa/_lib/layoutTabs.tsx @@ -8,8 +8,7 @@ import { TabsList, TabsPanel, TabsTab, - Title, - Tooltip, + Title } from '@mantine/core'; import { IconBuildingCommunity, @@ -28,22 +27,19 @@ function LayoutTabs({ children }: { children: React.ReactNode }) { label: "Pegawai", value: "pegawai", href: "/admin/ekonomi/struktur-organisasi-dan-sk-pengurus-bumdesa/pegawai", - icon: , - tooltip: "Kelola data pegawai BUMDesa", + icon: }, { label: "Posisi Organisasi", value: "posisiorganisasi", href: "/admin/ekonomi/struktur-organisasi-dan-sk-pengurus-bumdesa/posisi-organisasi", - icon: , - tooltip: "Kelola daftar posisi organisasi", + icon: }, { label: "Struktur Organisasi", value: "strukturorganisasi", href: "/admin/ekonomi/struktur-organisasi-dan-sk-pengurus-bumdesa/struktur-organisasi", - icon: , - tooltip: "Kelola struktur organisasi BUMDesa" + icon: } ]; @@ -96,26 +92,19 @@ function LayoutTabs({ children }: { children: React.ReactNode }) { }} > {tabs.map((tab, i) => ( - - - {tab.label} - - + {tab.label} + ))} @@ -135,7 +124,7 @@ function LayoutTabs({ children }: { children: React.ReactNode }) { ))} - + ); } diff --git a/src/app/admin/(dashboard)/ekonomi/struktur-organisasi-dan-sk-pengurus-bumdesa/pegawai/[id]/edit/page.tsx b/src/app/admin/(dashboard)/ekonomi/struktur-organisasi-dan-sk-pengurus-bumdesa/pegawai/[id]/edit/page.tsx index c1a8eef5..d125418d 100644 --- a/src/app/admin/(dashboard)/ekonomi/struktur-organisasi-dan-sk-pengurus-bumdesa/pegawai/[id]/edit/page.tsx +++ b/src/app/admin/(dashboard)/ekonomi/struktur-organisasi-dan-sk-pengurus-bumdesa/pegawai/[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'; @@ -110,11 +109,9 @@ export default function EditPegawaiBumDes() { return ( - - - + Edit Data Pegawai PPID diff --git a/src/app/admin/(dashboard)/ekonomi/struktur-organisasi-dan-sk-pengurus-bumdesa/pegawai/[id]/page.tsx b/src/app/admin/(dashboard)/ekonomi/struktur-organisasi-dan-sk-pengurus-bumdesa/pegawai/[id]/page.tsx index 7a0626e4..0e0f0dd7 100644 --- a/src/app/admin/(dashboard)/ekonomi/struktur-organisasi-dan-sk-pengurus-bumdesa/pegawai/[id]/page.tsx +++ b/src/app/admin/(dashboard)/ekonomi/struktur-organisasi-dan-sk-pengurus-bumdesa/pegawai/[id]/page.tsx @@ -3,7 +3,7 @@ import { ModalKonfirmasiHapus } from '@/app/admin/(dashboard)/_com/modalKonfirma import stateStrukturBumDes from '@/app/admin/(dashboard)/_state/ekonomi/struktur-organisasi/struktur-organisasi'; 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'; @@ -150,32 +150,28 @@ function DetailPegawai() { - - - + - - - + diff --git a/src/app/admin/(dashboard)/ekonomi/struktur-organisasi-dan-sk-pengurus-bumdesa/pegawai/create/page.tsx b/src/app/admin/(dashboard)/ekonomi/struktur-organisasi-dan-sk-pengurus-bumdesa/pegawai/create/page.tsx index dbf697ee..137fb7fc 100644 --- a/src/app/admin/(dashboard)/ekonomi/struktur-organisasi-dan-sk-pengurus-bumdesa/pegawai/create/page.tsx +++ b/src/app/admin/(dashboard)/ekonomi/struktur-organisasi-dan-sk-pengurus-bumdesa/pegawai/create/page.tsx @@ -4,7 +4,7 @@ import stateStrukturBumDes from '@/app/admin/(dashboard)/_state/ekonomi/struktur-organisasi/struktur-organisasi'; 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'; @@ -75,11 +75,9 @@ function CreatePegawaiBumDes() { return ( - - - + Tambah Pegawai BUMDesa diff --git a/src/app/admin/(dashboard)/ekonomi/struktur-organisasi-dan-sk-pengurus-bumdesa/pegawai/page.tsx b/src/app/admin/(dashboard)/ekonomi/struktur-organisasi-dan-sk-pengurus-bumdesa/pegawai/page.tsx index d56609de..fd17d099 100644 --- a/src/app/admin/(dashboard)/ekonomi/struktur-organisasi-dan-sk-pengurus-bumdesa/pegawai/page.tsx +++ b/src/app/admin/(dashboard)/ekonomi/struktur-organisasi-dan-sk-pengurus-bumdesa/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'; @@ -59,16 +59,14 @@ function ListPegawaiBumdes({ search }: { search: string }) { Daftar Pegawai BUMDesa - - - +
Tidak ada data pegawai yang ditemukan @@ -82,16 +80,14 @@ function ListPegawaiBumdes({ search }: { search: string }) { Daftar Pegawai BUMDesa - - - +
diff --git a/src/app/admin/(dashboard)/ekonomi/struktur-organisasi-dan-sk-pengurus-bumdesa/posisi-organisasi/[id]/page.tsx b/src/app/admin/(dashboard)/ekonomi/struktur-organisasi-dan-sk-pengurus-bumdesa/posisi-organisasi/[id]/page.tsx index 0d8f7ed7..972a710c 100644 --- a/src/app/admin/(dashboard)/ekonomi/struktur-organisasi-dan-sk-pengurus-bumdesa/posisi-organisasi/[id]/page.tsx +++ b/src/app/admin/(dashboard)/ekonomi/struktur-organisasi-dan-sk-pengurus-bumdesa/posisi-organisasi/[id]/page.tsx @@ -5,7 +5,7 @@ import EditEditor from '@/app/admin/(dashboard)/_com/editEditor'; import stateStrukturBumDes from '@/app/admin/(dashboard)/_state/ekonomi/struktur-organisasi/struktur-organisasi'; 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 EditPosisiOrganisasiBumDes() { return ( - - - + Edit Posisi Organisasi BUMDes diff --git a/src/app/admin/(dashboard)/ekonomi/struktur-organisasi-dan-sk-pengurus-bumdesa/posisi-organisasi/create/page.tsx b/src/app/admin/(dashboard)/ekonomi/struktur-organisasi-dan-sk-pengurus-bumdesa/posisi-organisasi/create/page.tsx index 2045244c..1241e1c2 100644 --- a/src/app/admin/(dashboard)/ekonomi/struktur-organisasi-dan-sk-pengurus-bumdesa/posisi-organisasi/create/page.tsx +++ b/src/app/admin/(dashboard)/ekonomi/struktur-organisasi-dan-sk-pengurus-bumdesa/posisi-organisasi/create/page.tsx @@ -3,7 +3,7 @@ import CreateEditor from '@/app/admin/(dashboard)/_com/createEditor'; import stateStrukturBumDes from '@/app/admin/(dashboard)/_state/ekonomi/struktur-organisasi/struktur-organisasi'; 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'; @@ -13,7 +13,7 @@ import { useProxy } from 'valtio/utils'; function CreatePosisiOrganisasiBumDes() { const router = useRouter(); const stateOrganisasi = useProxy(stateStrukturBumDes.posisiOrganisasi); - + useEffect(() => { stateOrganisasi.findMany.load(); // Initialize form with default values @@ -22,7 +22,7 @@ function CreatePosisiOrganisasiBumDes() { deskripsi: "", hierarki: 0, }; - + return () => { // Clean up form on unmount stateOrganisasi.create.form = { @@ -38,7 +38,7 @@ function CreatePosisiOrganisasiBumDes() { if (!stateOrganisasi.create.form.nama.trim()) { return toast.error('Nama posisi tidak boleh kosong'); } - + await stateOrganisasi.create.submit(); toast.success('Posisi organisasi berhasil ditambahkan'); router.push('/admin/ekonomi/struktur-organisasi-dan-sk-pengurus-bumdesa/posisi-organisasi'); @@ -51,11 +51,9 @@ function CreatePosisiOrganisasiBumDes() { return ( - - - + Tambah Posisi Organisasi BUMDes @@ -77,7 +75,7 @@ function CreatePosisiOrganisasiBumDes() { onChange={(e) => (stateOrganisasi.create.form.nama = e.target.value)} required /> - + Deskripsi @@ -89,7 +87,7 @@ function CreatePosisiOrganisasiBumDes() { }} /> - + Daftar Posisi Organisasi BumDes - - - +
@@ -106,19 +104,16 @@ function ListPosisiOrganisasiBumDes({ search }: { search: string }) { {item.hierarki || '-'} - - - + - - )) diff --git a/src/app/admin/(dashboard)/ekonomi/struktur-organisasi-dan-sk-pengurus-bumdesa/struktur-organisasi/page.tsx b/src/app/admin/(dashboard)/ekonomi/struktur-organisasi-dan-sk-pengurus-bumdesa/struktur-organisasi/page.tsx index be24d78b..89ab5a7e 100644 --- a/src/app/admin/(dashboard)/ekonomi/struktur-organisasi-dan-sk-pengurus-bumdesa/struktur-organisasi/page.tsx +++ b/src/app/admin/(dashboard)/ekonomi/struktur-organisasi-dan-sk-pengurus-bumdesa/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,20 +110,18 @@ function nodeTemplate(node: any) { return ( - - - + {name} {status} diff --git a/src/app/admin/(dashboard)/inovasi/ajukan-ide-inovatif/[id]/page.tsx b/src/app/admin/(dashboard)/inovasi/ajukan-ide-inovatif/[id]/page.tsx index f1857aec..51a1ab7f 100644 --- a/src/app/admin/(dashboard)/inovasi/ajukan-ide-inovatif/[id]/page.tsx +++ b/src/app/admin/(dashboard)/inovasi/ajukan-ide-inovatif/[id]/page.tsx @@ -1,6 +1,6 @@ 'use client' import colors from '@/con/colors'; -import { Box, Button, Flex, Paper, Skeleton, Stack, Text, Tooltip } from '@mantine/core'; +import { Box, Button, Flex, Paper, Skeleton, Stack, Text } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconArrowBack, IconTrash } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; @@ -67,21 +67,19 @@ function DetailAjukanIdeInofativDesa() { Detail Ajukan Ide Inovatif Desa - - - + {/* Detail Data */} @@ -104,7 +102,7 @@ function DetailAjukanIdeInofativDesa() { Deskripsi - + diff --git a/src/app/admin/(dashboard)/inovasi/desa-digital-smart-village/[id]/edit/page.tsx b/src/app/admin/(dashboard)/inovasi/desa-digital-smart-village/[id]/edit/page.tsx index 05c93b59..ad7f2184 100644 --- a/src/app/admin/(dashboard)/inovasi/desa-digital-smart-village/[id]/edit/page.tsx +++ b/src/app/admin/(dashboard)/inovasi/desa-digital-smart-village/[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'; @@ -87,11 +86,9 @@ function EditDigitalSmartVillage() { {/* Header */} - - - + Edit Desa Digital Smart Village diff --git a/src/app/admin/(dashboard)/inovasi/desa-digital-smart-village/[id]/page.tsx b/src/app/admin/(dashboard)/inovasi/desa-digital-smart-village/[id]/page.tsx index c82485e0..236f2b17 100644 --- a/src/app/admin/(dashboard)/inovasi/desa-digital-smart-village/[id]/page.tsx +++ b/src/app/admin/(dashboard)/inovasi/desa-digital-smart-village/[id]/page.tsx @@ -8,8 +8,7 @@ import { Paper, Skeleton, Stack, - Text, - Tooltip, + Text } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconArrowBack, IconEdit, IconTrash } from '@tabler/icons-react'; @@ -112,32 +111,28 @@ function DetailDesaDigital() { {/* Tombol Aksi */} - - - + - - - + diff --git a/src/app/admin/(dashboard)/inovasi/desa-digital-smart-village/create/page.tsx b/src/app/admin/(dashboard)/inovasi/desa-digital-smart-village/create/page.tsx index 5d905597..cb0f810f 100644 --- a/src/app/admin/(dashboard)/inovasi/desa-digital-smart-village/create/page.tsx +++ b/src/app/admin/(dashboard)/inovasi/desa-digital-smart-village/create/page.tsx @@ -9,18 +9,17 @@ 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'; +import ExifOrientationImg from 'react-exif-orientation-img'; import { toast } from 'react-toastify'; import { useProxy } from 'valtio/utils'; import CreateEditor from '../../../_com/createEditor'; import desaDigitalState from '../../../_state/inovasi/desa-digital'; -import { Dropzone } from '@mantine/dropzone'; -import ExifOrientationImg from 'react-exif-orientation-img'; export default function CreateDesaDigital() { const stateDesaDigital = useProxy(desaDigitalState); @@ -71,17 +70,15 @@ export default function CreateDesaDigital() { {/* Header dengan tombol kembali */} - - - + Tambah Desa Digital Smart Village @@ -174,15 +171,15 @@ export default function CreateDesaDigital() { }} > + src={previewImage} + alt="Preview" + style={{ + maxHeight: 220, + objectFit: 'cover', + border: '1px solid #e0e0e0', + borderRadius: 12, + }} + /> )} diff --git a/src/app/admin/(dashboard)/inovasi/desa-digital-smart-village/page.tsx b/src/app/admin/(dashboard)/inovasi/desa-digital-smart-village/page.tsx index 84cb3baf..72d12073 100644 --- a/src/app/admin/(dashboard)/inovasi/desa-digital-smart-village/page.tsx +++ b/src/app/admin/(dashboard)/inovasi/desa-digital-smart-village/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'; @@ -68,18 +67,16 @@ function ListDesaDigitalSmartVillage({ search }: { search: string }) { List Desa Digital Smart Village - - - +
diff --git a/src/app/admin/(dashboard)/inovasi/info-teknologi-tepat-guna/[id]/edit/page.tsx b/src/app/admin/(dashboard)/inovasi/info-teknologi-tepat-guna/[id]/edit/page.tsx index e7d83362..248c8a72 100644 --- a/src/app/admin/(dashboard)/inovasi/info-teknologi-tepat-guna/[id]/edit/page.tsx +++ b/src/app/admin/(dashboard)/inovasi/info-teknologi-tepat-guna/[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'; @@ -100,11 +99,9 @@ function EditInfoTeknologiTepatGuna() { {/* Tombol back + title */} - - - + Edit Info Teknologi Tepat Guna diff --git a/src/app/admin/(dashboard)/inovasi/info-teknologi-tepat-guna/[id]/page.tsx b/src/app/admin/(dashboard)/inovasi/info-teknologi-tepat-guna/[id]/page.tsx index a75b7207..1ddee92a 100644 --- a/src/app/admin/(dashboard)/inovasi/info-teknologi-tepat-guna/[id]/page.tsx +++ b/src/app/admin/(dashboard)/inovasi/info-teknologi-tepat-guna/[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'; @@ -101,35 +101,31 @@ function DetailInfoTeknologiTepatGuna() { {/* Action Buttons */} - - - + - - - + diff --git a/src/app/admin/(dashboard)/inovasi/info-teknologi-tepat-guna/create/page.tsx b/src/app/admin/(dashboard)/inovasi/info-teknologi-tepat-guna/create/page.tsx index be8b23b7..2021d79b 100644 --- a/src/app/admin/(dashboard)/inovasi/info-teknologi-tepat-guna/create/page.tsx +++ b/src/app/admin/(dashboard)/inovasi/info-teknologi-tepat-guna/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 infoTeknoState from '../../../_state/inovasi/info-tekno'; -import { Dropzone } from '@mantine/dropzone'; function CreateInfoTeknologiTepatGuna() { const stateInfoTekno = useProxy(infoTeknoState); @@ -72,11 +71,9 @@ function CreateInfoTeknologiTepatGuna() { {/* Header */} - - - + Tambah Info Teknologi Tepat Guna diff --git a/src/app/admin/(dashboard)/inovasi/info-teknologi-tepat-guna/page.tsx b/src/app/admin/(dashboard)/inovasi/info-teknologi-tepat-guna/page.tsx index 3fcb8f8a..fe766900 100644 --- a/src/app/admin/(dashboard)/inovasi/info-teknologi-tepat-guna/page.tsx +++ b/src/app/admin/(dashboard)/inovasi/info-teknologi-tepat-guna/page.tsx @@ -4,6 +4,7 @@ import { Box, Button, Center, + Group, Pagination, Paper, Skeleton, @@ -15,9 +16,7 @@ import { TableThead, TableTr, Text, - Title, - Group, - Tooltip, + Title } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconDeviceImac, IconPlus, IconSearch } from '@tabler/icons-react'; @@ -68,18 +67,16 @@ function ListInfoTeknologiTepatGuna({ search }: { search: string }) { Daftar Info Teknologi Tepat Guna - - - + diff --git a/src/app/admin/(dashboard)/inovasi/kolaborasi-inovasi/_lib/layoutTabs.tsx b/src/app/admin/(dashboard)/inovasi/kolaborasi-inovasi/_lib/layoutTabs.tsx index 781f1ec5..c208cdac 100644 --- a/src/app/admin/(dashboard)/inovasi/kolaborasi-inovasi/_lib/layoutTabs.tsx +++ b/src/app/admin/(dashboard)/inovasi/kolaborasi-inovasi/_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 { IconListDetails, IconUsers } from '@tabler/icons-react'; import { usePathname, useRouter } from 'next/navigation'; import React, { useEffect, useState } from 'react'; -import { IconListDetails, IconUsers } from '@tabler/icons-react'; function LayoutTabsKolaborasi({ children }: { children: React.ReactNode }) { const router = useRouter(); @@ -15,14 +15,12 @@ function LayoutTabsKolaborasi({ children }: { children: React.ReactNode }) { label: "List Kolaborasi Inovasi", value: "listkolaborasiinovasi", href: "/admin/inovasi/kolaborasi-inovasi/list-kolaborasi-inovasi", - tooltip: "Lihat daftar kolaborasi inovasi", icon: , }, { label: "Mitra Kolaborasi", value: "mitarakolaborasi", href: "/admin/inovasi/kolaborasi-inovasi/mitra-kolaborasi", - tooltip: "Kelola mitra kolaborasi", icon: , } ]; @@ -73,25 +71,18 @@ function LayoutTabsKolaborasi({ children }: { children: React.ReactNode }) { }} > {tabs.map((tab, i) => ( - - - {tab.label} - - + {tab.label} + ))} diff --git a/src/app/admin/(dashboard)/inovasi/kolaborasi-inovasi/list-kolaborasi-inovasi/[id]/edit/page.tsx b/src/app/admin/(dashboard)/inovasi/kolaborasi-inovasi/list-kolaborasi-inovasi/[id]/edit/page.tsx index cce425a1..ffe7c536 100644 --- a/src/app/admin/(dashboard)/inovasi/kolaborasi-inovasi/list-kolaborasi-inovasi/[id]/edit/page.tsx +++ b/src/app/admin/(dashboard)/inovasi/kolaborasi-inovasi/list-kolaborasi-inovasi/[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"; @@ -89,11 +88,9 @@ function EditKolaborasiInovasi() { return ( - - - + Edit Kolaborasi Inovasi diff --git a/src/app/admin/(dashboard)/inovasi/kolaborasi-inovasi/list-kolaborasi-inovasi/[id]/page.tsx b/src/app/admin/(dashboard)/inovasi/kolaborasi-inovasi/list-kolaborasi-inovasi/[id]/page.tsx index 0d3b0f9a..577f963f 100644 --- a/src/app/admin/(dashboard)/inovasi/kolaborasi-inovasi/list-kolaborasi-inovasi/[id]/page.tsx +++ b/src/app/admin/(dashboard)/inovasi/kolaborasi-inovasi/list-kolaborasi-inovasi/[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'; @@ -96,33 +96,29 @@ function DetailKolaborasiInovasi() { {/* Tombol aksi */} - - - + - - - + diff --git a/src/app/admin/(dashboard)/inovasi/kolaborasi-inovasi/list-kolaborasi-inovasi/create/page.tsx b/src/app/admin/(dashboard)/inovasi/kolaborasi-inovasi/list-kolaborasi-inovasi/create/page.tsx index 8ed78d71..0b63e248 100644 --- a/src/app/admin/(dashboard)/inovasi/kolaborasi-inovasi/list-kolaborasi-inovasi/create/page.tsx +++ b/src/app/admin/(dashboard)/inovasi/kolaborasi-inovasi/list-kolaborasi-inovasi/create/page.tsx @@ -3,7 +3,7 @@ import CreateEditor from '@/app/admin/(dashboard)/_com/createEditor'; import kolaborasiInovasiState from '@/app/admin/(dashboard)/_state/inovasi/kolaborasi-inovasi'; 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 { YearPickerInput } from '@mantine/dates'; import { IconArrowBack } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; @@ -54,11 +54,9 @@ function CreateProgramKreatifDesa() { {/* Back Button */} - - - + Tambah Kolaborasi Inovasi diff --git a/src/app/admin/(dashboard)/inovasi/kolaborasi-inovasi/list-kolaborasi-inovasi/page.tsx b/src/app/admin/(dashboard)/inovasi/kolaborasi-inovasi/list-kolaborasi-inovasi/page.tsx index f0899d36..576ea0c4 100644 --- a/src/app/admin/(dashboard)/inovasi/kolaborasi-inovasi/list-kolaborasi-inovasi/page.tsx +++ b/src/app/admin/(dashboard)/inovasi/kolaborasi-inovasi/list-kolaborasi-inovasi/page.tsx @@ -17,15 +17,14 @@ 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 { useEffect, useState } from 'react'; -import kolaborasiInovasiState from '../../../_state/inovasi/kolaborasi-inovasi'; import { useProxy } from 'valtio/utils'; +import HeaderSearch from '../../../_com/header'; +import kolaborasiInovasiState from '../../../_state/inovasi/kolaborasi-inovasi'; function KolaborasiInovasi() { const [search, setSearch] = useState(''); @@ -68,16 +67,14 @@ function ListKolaborasiInovasi({ search }: { search: string }) { Daftar Kolaborasi Inovasi - - - +
diff --git a/src/app/admin/(dashboard)/inovasi/kolaborasi-inovasi/mitra-kolaborasi/[id]/page.tsx b/src/app/admin/(dashboard)/inovasi/kolaborasi-inovasi/mitra-kolaborasi/[id]/page.tsx index a1762db1..74c361e1 100644 --- a/src/app/admin/(dashboard)/inovasi/kolaborasi-inovasi/mitra-kolaborasi/[id]/page.tsx +++ b/src/app/admin/(dashboard)/inovasi/kolaborasi-inovasi/mitra-kolaborasi/[id]/page.tsx @@ -13,8 +13,7 @@ import { Stack, Text, TextInput, - Title, - Tooltip, + Title } from '@mantine/core'; import { Dropzone } from '@mantine/dropzone'; import { @@ -113,11 +112,9 @@ function EditMitraKolaborasi() { {/* Header */} - - - + Edit Mitra diff --git a/src/app/admin/(dashboard)/inovasi/kolaborasi-inovasi/mitra-kolaborasi/create/page.tsx b/src/app/admin/(dashboard)/inovasi/kolaborasi-inovasi/mitra-kolaborasi/create/page.tsx index d7da8e8b..aa5ac040 100644 --- a/src/app/admin/(dashboard)/inovasi/kolaborasi-inovasi/mitra-kolaborasi/create/page.tsx +++ b/src/app/admin/(dashboard)/inovasi/kolaborasi-inovasi/mitra-kolaborasi/create/page.tsx @@ -11,8 +11,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'; @@ -61,11 +60,9 @@ function CreateMitraKolaborasi() { {/* Back Button + Title */} - - - + Tambah Mitra Kolaborasi diff --git a/src/app/admin/(dashboard)/inovasi/kolaborasi-inovasi/mitra-kolaborasi/page.tsx b/src/app/admin/(dashboard)/inovasi/kolaborasi-inovasi/mitra-kolaborasi/page.tsx index a2d6cbbb..9fde4fb1 100644 --- a/src/app/admin/(dashboard)/inovasi/kolaborasi-inovasi/mitra-kolaborasi/page.tsx +++ b/src/app/admin/(dashboard)/inovasi/kolaborasi-inovasi/mitra-kolaborasi/page.tsx @@ -18,16 +18,15 @@ import { TableThead, TableTr, Text, - Title, - Tooltip, + Title } from '@mantine/core'; -import { IconEdit, IconSearch, IconX, IconPlus } from '@tabler/icons-react'; +import { IconEdit, IconPlus, IconSearch, IconX } 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 mitraKolaborasi from '../../../_state/inovasi/mitra-kolaborasi'; import { ModalKonfirmasiHapus } from '../../../_com/modalKonfirmasiHapus'; +import mitraKolaborasi from '../../../_state/inovasi/mitra-kolaborasi'; function MitraKolaborasi() { const [search, setSearch] = useState(''); @@ -81,20 +80,18 @@ function ListMitraKolaborasi({ search }: { search: string }) { Daftar Mitra Kolaborasi - - - +
@@ -135,39 +132,35 @@ function ListMitraKolaborasi({ search }: { search: string }) { - - - + - - - + )) diff --git a/src/app/admin/(dashboard)/inovasi/layanan-online-desa/_lib/layoutTabs.tsx b/src/app/admin/(dashboard)/inovasi/layanan-online-desa/_lib/layoutTabs.tsx index 55a8cdb2..b12c50be 100644 --- a/src/app/admin/(dashboard)/inovasi/layanan-online-desa/_lib/layoutTabs.tsx +++ b/src/app/admin/(dashboard)/inovasi/layanan-online-desa/_lib/layoutTabs.tsx @@ -8,17 +8,16 @@ import { TabsList, TabsPanel, TabsTab, - Title, - Tooltip + Title } from '@mantine/core'; -import { usePathname, useRouter } from 'next/navigation'; -import React, { useEffect, useState } from 'react'; import { + IconAlertCircle, IconFileText, IconListDetails, - IconMessage, - IconAlertCircle + IconMessage } from '@tabler/icons-react'; +import { usePathname, useRouter } from 'next/navigation'; +import React, { useEffect, useState } from 'react'; function LayoutTabsLayananOnlineDesa({ children }: { children: React.ReactNode }) { const router = useRouter(); @@ -30,29 +29,25 @@ function LayoutTabsLayananOnlineDesa({ children }: { children: React.ReactNode } label: "Administrasi Online", value: "administrasionline", href: "/admin/inovasi/layanan-online-desa/administrasi-online", - icon: , - tooltip: "Kelola administrasi online desa" + icon: }, { label: "Jenis Layanan", value: "jenislayanan", href: "/admin/inovasi/layanan-online-desa/jenis-layanan", - icon: , - tooltip: "Daftar jenis layanan desa" + icon: }, { label: "Pengaduan Masyarakat", value: "pengaduanmasyarakat", href: "/admin/inovasi/layanan-online-desa/pengaduan-masyarakat", - icon: , - tooltip: "Laporan pengaduan masyarakat" + icon: }, { label: "Jenis Pengaduan", value: "jenispengaduan", href: "/admin/inovasi/layanan-online-desa/jenis-pengaduan", - icon: , - tooltip: "Kategori/jenis pengaduan masyarakat" + icon: } ]; @@ -103,25 +98,18 @@ function LayoutTabsLayananOnlineDesa({ children }: { children: React.ReactNode } }} > {tabs.map((tab, i) => ( - - - {tab.label} - - + {tab.label} + ))} diff --git a/src/app/admin/(dashboard)/inovasi/layanan-online-desa/administrasi-online/[id]/page.tsx b/src/app/admin/(dashboard)/inovasi/layanan-online-desa/administrasi-online/[id]/page.tsx index b08d0582..72f2ddd8 100644 --- a/src/app/admin/(dashboard)/inovasi/layanan-online-desa/administrasi-online/[id]/page.tsx +++ b/src/app/admin/(dashboard)/inovasi/layanan-online-desa/administrasi-online/[id]/page.tsx @@ -1,6 +1,6 @@ '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, IconTrash } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; @@ -53,20 +53,18 @@ function DetailAdministrasiOnline() { Kembali - - - + {/* Konten Detail */} {/* Header */} - - - + Edit Jenis Layanan diff --git a/src/app/admin/(dashboard)/inovasi/layanan-online-desa/jenis-layanan/[id]/page.tsx b/src/app/admin/(dashboard)/inovasi/layanan-online-desa/jenis-layanan/[id]/page.tsx index 41990ab2..babc24f3 100644 --- a/src/app/admin/(dashboard)/inovasi/layanan-online-desa/jenis-layanan/[id]/page.tsx +++ b/src/app/admin/(dashboard)/inovasi/layanan-online-desa/jenis-layanan/[id]/page.tsx @@ -2,7 +2,7 @@ import { ModalKonfirmasiHapus } from '@/app/admin/(dashboard)/_com/modalKonfirmasiHapus'; import layananonlineDesa from '@/app/admin/(dashboard)/_state/inovasi/layanan-online-desa'; 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'; @@ -85,33 +85,29 @@ function DetailJenisLayanan() { {/* Tombol aksi */} - - - + - - - + diff --git a/src/app/admin/(dashboard)/inovasi/layanan-online-desa/jenis-layanan/create/page.tsx b/src/app/admin/(dashboard)/inovasi/layanan-online-desa/jenis-layanan/create/page.tsx index b1b5a107..30aae0e6 100644 --- a/src/app/admin/(dashboard)/inovasi/layanan-online-desa/jenis-layanan/create/page.tsx +++ b/src/app/admin/(dashboard)/inovasi/layanan-online-desa/jenis-layanan/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'; @@ -43,16 +42,14 @@ function CreateJenisLayanan() { {/* Header dengan tombol back */} - - - + Tambah Jenis Layanan diff --git a/src/app/admin/(dashboard)/inovasi/layanan-online-desa/jenis-layanan/page.tsx b/src/app/admin/(dashboard)/inovasi/layanan-online-desa/jenis-layanan/page.tsx index ba176cd6..a1ea1da1 100644 --- a/src/app/admin/(dashboard)/inovasi/layanan-online-desa/jenis-layanan/page.tsx +++ b/src/app/admin/(dashboard)/inovasi/layanan-online-desa/jenis-layanan/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'; @@ -68,20 +67,18 @@ function ListJenisLayanan({ search }: { search: string }) { Daftar Jenis Layanan - - - +
diff --git a/src/app/admin/(dashboard)/inovasi/layanan-online-desa/jenis-pengaduan/[id]/page.tsx b/src/app/admin/(dashboard)/inovasi/layanan-online-desa/jenis-pengaduan/[id]/page.tsx index c64bb102..de4c6c24 100644 --- a/src/app/admin/(dashboard)/inovasi/layanan-online-desa/jenis-pengaduan/[id]/page.tsx +++ b/src/app/admin/(dashboard)/inovasi/layanan-online-desa/jenis-pengaduan/[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'; @@ -90,16 +89,14 @@ function EditJenisPengaduan() { {/* Header */} - - - + Edit Jenis Pengaduan diff --git a/src/app/admin/(dashboard)/inovasi/layanan-online-desa/jenis-pengaduan/create/page.tsx b/src/app/admin/(dashboard)/inovasi/layanan-online-desa/jenis-pengaduan/create/page.tsx index bb0ae5b9..31999381 100644 --- a/src/app/admin/(dashboard)/inovasi/layanan-online-desa/jenis-pengaduan/create/page.tsx +++ b/src/app/admin/(dashboard)/inovasi/layanan-online-desa/jenis-pengaduan/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'; @@ -41,11 +40,9 @@ function CreateJenisPengaduan() { {/* Header */} - - - + Tambah Jenis Pengaduan diff --git a/src/app/admin/(dashboard)/inovasi/layanan-online-desa/jenis-pengaduan/page.tsx b/src/app/admin/(dashboard)/inovasi/layanan-online-desa/jenis-pengaduan/page.tsx index 4bbee3b6..ecab5a98 100644 --- a/src/app/admin/(dashboard)/inovasi/layanan-online-desa/jenis-pengaduan/page.tsx +++ b/src/app/admin/(dashboard)/inovasi/layanan-online-desa/jenis-pengaduan/page.tsx @@ -16,8 +16,7 @@ import { TableThead, TableTr, Text, - Title, - Tooltip + Title } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconEdit, IconPlus, IconSearch, IconTrash } from '@tabler/icons-react'; @@ -79,20 +78,18 @@ function ListJenisPengaduan({ search }: { search: string }) { Daftar Jenis Pengaduan - - - + diff --git a/src/app/admin/(dashboard)/inovasi/layanan-online-desa/pengaduan-masyarakat/[id]/page.tsx b/src/app/admin/(dashboard)/inovasi/layanan-online-desa/pengaduan-masyarakat/[id]/page.tsx index a9a9ad3e..9ab1109e 100644 --- a/src/app/admin/(dashboard)/inovasi/layanan-online-desa/pengaduan-masyarakat/[id]/page.tsx +++ b/src/app/admin/(dashboard)/inovasi/layanan-online-desa/pengaduan-masyarakat/[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, IconTrash } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; import { useState } from 'react'; +import { useProxy } from 'valtio/utils'; import { ModalKonfirmasiHapus } from '@/app/admin/(dashboard)/_com/modalKonfirmasiHapus'; import layananonlineDesa from '@/app/admin/(dashboard)/_state/inovasi/layanan-online-desa'; @@ -129,21 +129,19 @@ function DetailPengaduanMasyarakat() { {/* Action Button */} - - - + diff --git a/src/app/admin/(dashboard)/inovasi/layanan-online-desa/pengaduan-masyarakat/page.tsx b/src/app/admin/(dashboard)/inovasi/layanan-online-desa/pengaduan-masyarakat/page.tsx index 11140fff..429bc44f 100644 --- a/src/app/admin/(dashboard)/inovasi/layanan-online-desa/pengaduan-masyarakat/page.tsx +++ b/src/app/admin/(dashboard)/inovasi/layanan-online-desa/pengaduan-masyarakat/page.tsx @@ -16,8 +16,7 @@ import { TableThead, TableTr, Text, - Title, - Tooltip, + Title } from '@mantine/core'; import { IconDeviceImac, IconSearch } from '@tabler/icons-react'; @@ -99,18 +98,16 @@ function ListPengaduanMasyarakat({ search }: { search: string }) { {item.nomorTelepon} - - - + )) diff --git a/src/app/admin/(dashboard)/inovasi/program-kreatif-desa/[id]/page.tsx b/src/app/admin/(dashboard)/inovasi/program-kreatif-desa/[id]/page.tsx index e402bf15..f681a429 100644 --- a/src/app/admin/(dashboard)/inovasi/program-kreatif-desa/[id]/page.tsx +++ b/src/app/admin/(dashboard)/inovasi/program-kreatif-desa/[id]/page.tsx @@ -1,6 +1,6 @@ 'use client' import colors from '@/con/colors'; -import { Box, Button, Flex, Paper, Skeleton, Stack, Text, Tooltip } from '@mantine/core'; +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'; @@ -95,40 +95,36 @@ function DetailProgramKreatifDesa() { - - - + - - - + diff --git a/src/app/admin/(dashboard)/inovasi/program-kreatif-desa/create/page.tsx b/src/app/admin/(dashboard)/inovasi/program-kreatif-desa/create/page.tsx index 4d318f33..2609b036 100644 --- a/src/app/admin/(dashboard)/inovasi/program-kreatif-desa/create/page.tsx +++ b/src/app/admin/(dashboard)/inovasi/program-kreatif-desa/create/page.tsx @@ -8,15 +8,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 CreateEditor from '../../../_com/createEditor'; -import programKreatifState from '../../../_state/inovasi/program-kreatif'; import SelectIconProgram from '../../../_com/selectIcon'; +import programKreatifState from '../../../_state/inovasi/program-kreatif'; function CreateProgramKreatifDesa() { const stateCreate = useProxy(programKreatifState); @@ -33,23 +32,21 @@ function CreateProgramKreatifDesa() { const handleSubmit = async () => { const success = await stateCreate.create.create(); - + if (success) { resetForm(); router.push("/admin/inovasi/program-kreatif-desa"); } }; - + return ( {/* Tombol kembali */} - - - + Tambah Program Kreatif Desa diff --git a/src/app/admin/(dashboard)/inovasi/program-kreatif-desa/page.tsx b/src/app/admin/(dashboard)/inovasi/program-kreatif-desa/page.tsx index 5ead6694..7b7a647b 100644 --- a/src/app/admin/(dashboard)/inovasi/program-kreatif-desa/page.tsx +++ b/src/app/admin/(dashboard)/inovasi/program-kreatif-desa/page.tsx @@ -18,8 +18,7 @@ import { TableThead, TableTr, Text, - Title, - Tooltip + Title } from '@mantine/core'; import { IconCash, @@ -117,20 +116,18 @@ function ListProgramKreatifDesa({ search }: { search: string }) { Daftar Program Kreatif Desa - - - +
@@ -164,20 +161,18 @@ function ListProgramKreatifDesa({ search }: { search: string }) { > Daftar Program Kreatif Desa - - - +
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 ec13e669..581ffa9c 100644 --- a/src/app/admin/(dashboard)/landing-page/apbdes/create/page.tsx +++ b/src/app/admin/(dashboard)/landing-page/apbdes/create/page.tsx @@ -221,7 +221,7 @@ function CreateAPBDes() { /> (stateAPBDes.create.form.jumlah = e.target.value)} required diff --git a/src/app/admin/(dashboard)/landing-page/apbdes/page.tsx b/src/app/admin/(dashboard)/landing-page/apbdes/page.tsx index e0fd60e5..6c72569e 100644 --- a/src/app/admin/(dashboard)/landing-page/apbdes/page.tsx +++ b/src/app/admin/(dashboard)/landing-page/apbdes/page.tsx @@ -57,57 +57,60 @@ function ListAPBDes({ search }: { search: string }) { Daftar APBDes - + - +
- Nama APBDes - Jumlah + Nama APBDes + Jumlah Dokumen - Aksi + Aksi {filteredData.length > 0 ? ( filteredData.map((item) => ( - + {item.name} - + Rp. {item.jumlah} - - {item.file?.link ? ( - - ) : ( - Tidak ada dokumen - )} + + + {item.file?.link ? ( + + ) : ( + Tidak ada dokumen + )} + - - + )) @@ -134,7 +138,7 @@ function ListAPBDes({ search }: { search: string }) {
- +
- - - + Edit Data Lingkungan Desa diff --git a/src/app/admin/(dashboard)/lingkungan/data-lingkungan-desa/[id]/page.tsx b/src/app/admin/(dashboard)/lingkungan/data-lingkungan-desa/[id]/page.tsx index 4e985dce..cab104f6 100644 --- a/src/app/admin/(dashboard)/lingkungan/data-lingkungan-desa/[id]/page.tsx +++ b/src/app/admin/(dashboard)/lingkungan/data-lingkungan-desa/[id]/page.tsx @@ -1,7 +1,7 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ '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, @@ -136,32 +136,28 @@ function DetailDataLingkunganDesa() { {/* Action Buttons */} - - - + - - - + diff --git a/src/app/admin/(dashboard)/lingkungan/data-lingkungan-desa/create/page.tsx b/src/app/admin/(dashboard)/lingkungan/data-lingkungan-desa/create/page.tsx index c2bff29e..4fb19016 100644 --- a/src/app/admin/(dashboard)/lingkungan/data-lingkungan-desa/create/page.tsx +++ b/src/app/admin/(dashboard)/lingkungan/data-lingkungan-desa/create/page.tsx @@ -8,8 +8,7 @@ import { Stack, Text, TextInput, - Title, - Tooltip, + Title } from '@mantine/core'; import { IconArrowBack } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; @@ -41,16 +40,14 @@ function CreateDataLingkunganDesa() { {/* Header */} - - - + Tambah Data Lingkungan Desa diff --git a/src/app/admin/(dashboard)/lingkungan/data-lingkungan-desa/page.tsx b/src/app/admin/(dashboard)/lingkungan/data-lingkungan-desa/page.tsx index b7addeaf..e87e10ca 100644 --- a/src/app/admin/(dashboard)/lingkungan/data-lingkungan-desa/page.tsx +++ b/src/app/admin/(dashboard)/lingkungan/data-lingkungan-desa/page.tsx @@ -5,8 +5,7 @@ import colors from '@/con/colors'; import { Box, Button, Center, Group, Pagination, Paper, Skeleton, Stack, Table, TableTbody, TableTd, TableTh, TableThead, TableTr, Text, - Title, - Tooltip + Title } from '@mantine/core'; import { IconChartLine, IconChristmasTreeFilled, IconClipboardTextFilled, @@ -83,11 +82,9 @@ function ListDataLingkunganDesa({ search }: { search: string }) { Daftar Data Lingkungan Desa - - - + @@ -114,11 +111,9 @@ function ListDataLingkunganDesa({ search }: { search: string }) { Daftar Data Lingkungan Desa - - - +
diff --git a/src/app/admin/(dashboard)/lingkungan/edukasi-lingkungan/_lib/layouTabs.tsx b/src/app/admin/(dashboard)/lingkungan/edukasi-lingkungan/_lib/layouTabs.tsx index 53d91f8c..db1dcba1 100644 --- a/src/app/admin/(dashboard)/lingkungan/edukasi-lingkungan/_lib/layouTabs.tsx +++ b/src/app/admin/(dashboard)/lingkungan/edukasi-lingkungan/_lib/layouTabs.tsx @@ -1,7 +1,7 @@ /* eslint-disable react-hooks/exhaustive-deps */ 'use client' import colors from '@/con/colors'; -import { Box, ScrollArea, Stack, Tabs, TabsList, TabsPanel, TabsTab, Title, Tooltip } from '@mantine/core'; +import { Box, ScrollArea, Stack, Tabs, TabsList, TabsPanel, TabsTab, Title } from '@mantine/core'; import { IconBook, IconLeaf, IconSchool } from '@tabler/icons-react'; import { usePathname, useRouter } from 'next/navigation'; import React, { useEffect, useState } from 'react'; @@ -15,21 +15,18 @@ function LayoutTabs({ children }: { children: React.ReactNode }) { label: "Tujuan Edukasi Lingkungan", value: "tujuanedukasilingkungan", href: "/admin/lingkungan/edukasi-lingkungan/tujuan-edukasi-lingkungan", - tooltip: "Lihat tujuan edukasi lingkungan", icon: }, { label: "Materi Edukasi Yang Diberikan", value: "materiedukasiyangdiberikan", href: "/admin/lingkungan/edukasi-lingkungan/materi-edukasi-yang-diberikan", - tooltip: "Kelola materi edukasi yang diberikan", icon: }, { label: "Contoh Kegiatan Di Desa Darmasaba", value: "contohkegiatan", href: "/admin/lingkungan/edukasi-lingkungan/contoh-kegiatan-desa-darmasaba", - tooltip: "Lihat contoh kegiatan desa Darmasaba", icon: }, ]; @@ -76,27 +73,26 @@ function LayoutTabs({ children }: { children: React.ReactNode }) { }} > {tabs.map((tab, i) => ( - - - - {tab.label} - - - + + + {tab.label} + + ))} @@ -109,7 +105,7 @@ function LayoutTabs({ children }: { children: React.ReactNode }) { ))} - + ) } diff --git a/src/app/admin/(dashboard)/lingkungan/gotong-royong/_lib/layoutTabs.tsx b/src/app/admin/(dashboard)/lingkungan/gotong-royong/_lib/layoutTabs.tsx index d9aec0eb..0eb63690 100644 --- a/src/app/admin/(dashboard)/lingkungan/gotong-royong/_lib/layoutTabs.tsx +++ b/src/app/admin/(dashboard)/lingkungan/gotong-royong/_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 { IconClipboardList, IconTags } from '@tabler/icons-react'; import { usePathname, useRouter } from 'next/navigation'; import React, { useEffect, useState } from 'react'; -import { IconClipboardList, IconTags } from '@tabler/icons-react'; function LayoutTabs({ children }: { children: React.ReactNode }) { const router = useRouter(); @@ -16,14 +16,12 @@ function LayoutTabs({ children }: { children: React.ReactNode }) { value: "kegiatanDesa", href: "/admin/lingkungan/gotong-royong/kegiatan-desa", icon: , - tooltip: "Lihat dan kelola kegiatan desa", }, { label: "Kategori Kegiatan", value: "kategoriKegiatan", href: "/admin/lingkungan/gotong-royong/kategori-kegiatan", icon: , - tooltip: "Kelola kategori kegiatan desa", }, ]; @@ -75,25 +73,18 @@ function LayoutTabs({ children }: { children: React.ReactNode }) { }} > {tabs.map((tab, i) => ( - - - {tab.label} - - + {tab.label} + ))} diff --git a/src/app/admin/(dashboard)/lingkungan/gotong-royong/kategori-kegiatan/[id]/page.tsx b/src/app/admin/(dashboard)/lingkungan/gotong-royong/kategori-kegiatan/[id]/page.tsx index dd2e34a7..e5b6d2f6 100644 --- a/src/app/admin/(dashboard)/lingkungan/gotong-royong/kategori-kegiatan/[id]/page.tsx +++ b/src/app/admin/(dashboard)/lingkungan/gotong-royong/kategori-kegiatan/[id]/page.tsx @@ -3,7 +3,7 @@ import gotongRoyongState from '@/app/admin/(dashboard)/_state/lingkungan/gotong-royong'; 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'; @@ -72,11 +72,9 @@ function EditKategoriKegiatan() { return ( - - - + Edit Kategori Kegiatan diff --git a/src/app/admin/(dashboard)/lingkungan/gotong-royong/kategori-kegiatan/create/page.tsx b/src/app/admin/(dashboard)/lingkungan/gotong-royong/kategori-kegiatan/create/page.tsx index 46d44b95..d74cf703 100644 --- a/src/app/admin/(dashboard)/lingkungan/gotong-royong/kategori-kegiatan/create/page.tsx +++ b/src/app/admin/(dashboard)/lingkungan/gotong-royong/kategori-kegiatan/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, 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'; @@ -32,11 +32,9 @@ function CreateKategoriKegiatan() { {/* Header */} - - - + Tambah Kategori Kegiatan diff --git a/src/app/admin/(dashboard)/lingkungan/gotong-royong/kategori-kegiatan/page.tsx b/src/app/admin/(dashboard)/lingkungan/gotong-royong/kategori-kegiatan/page.tsx index ff03a0e5..2086850e 100644 --- a/src/app/admin/(dashboard)/lingkungan/gotong-royong/kategori-kegiatan/page.tsx +++ b/src/app/admin/(dashboard)/lingkungan/gotong-royong/kategori-kegiatan/page.tsx @@ -16,8 +16,7 @@ import { TableThead, TableTr, Text, - Title, - Tooltip, + Title } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconEdit, IconPlus, IconSearch, IconTrash } from '@tabler/icons-react'; @@ -85,16 +84,14 @@ function ListKategoriKegiatan({ search }: { search: string }) { Daftar Kategori Kegiatan - - - + diff --git a/src/app/admin/(dashboard)/lingkungan/gotong-royong/kegiatan-desa/[id]/edit/page.tsx b/src/app/admin/(dashboard)/lingkungan/gotong-royong/kegiatan-desa/[id]/edit/page.tsx index 15b5c48a..f46191cc 100644 --- a/src/app/admin/(dashboard)/lingkungan/gotong-royong/kegiatan-desa/[id]/edit/page.tsx +++ b/src/app/admin/(dashboard)/lingkungan/gotong-royong/kegiatan-desa/[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'; @@ -124,11 +123,9 @@ export default function EditKegiatanDesa() { return ( - - - + Edit Kegiatan Desa diff --git a/src/app/admin/(dashboard)/lingkungan/gotong-royong/kegiatan-desa/[id]/page.tsx b/src/app/admin/(dashboard)/lingkungan/gotong-royong/kegiatan-desa/[id]/page.tsx index 11090d90..a73c1f32 100644 --- a/src/app/admin/(dashboard)/lingkungan/gotong-royong/kegiatan-desa/[id]/page.tsx +++ b/src/app/admin/(dashboard)/lingkungan/gotong-royong/kegiatan-desa/[id]/page.tsx @@ -1,14 +1,14 @@ 'use client' -import { useProxy } from 'valtio/utils'; -import { Box, Button, Flex, Image, Paper, Skeleton, Stack, Text, Tooltip } from '@mantine/core'; +import { Box, Button, Flex, 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 gotongRoyongState from '@/app/admin/(dashboard)/_state/lingkungan/gotong-royong'; import { ModalKonfirmasiHapus } from '@/app/admin/(dashboard)/_com/modalKonfirmasiHapus'; +import gotongRoyongState from '@/app/admin/(dashboard)/_state/lingkungan/gotong-royong'; +import colors from '@/con/colors'; function DetailKegiatanDesa() { const kegiatanDesaState = useProxy(gotongRoyongState.kegiatanDesa); @@ -132,32 +132,28 @@ function DetailKegiatanDesa() { {/* Tombol Hapus & Edit */} - - - + - - - + diff --git a/src/app/admin/(dashboard)/lingkungan/gotong-royong/kegiatan-desa/create/page.tsx b/src/app/admin/(dashboard)/lingkungan/gotong-royong/kegiatan-desa/create/page.tsx index 2c4fbc49..2644fb76 100644 --- a/src/app/admin/(dashboard)/lingkungan/gotong-royong/kegiatan-desa/create/page.tsx +++ b/src/app/admin/(dashboard)/lingkungan/gotong-royong/kegiatan-desa/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'; @@ -78,16 +77,14 @@ function CreateKegiatanDesa() { {/* Header */} - - - + Tambah Kegiatan Desa @@ -159,7 +156,7 @@ function CreateKegiatanDesa() { onChange={(e) => (stateKegiatanDesa.create.form.judul = e.target.value)} required /> - + Deskripsi Singkat diff --git a/src/app/admin/(dashboard)/lingkungan/konservasi-adat-bali/_lib/layoutTabs.tsx b/src/app/admin/(dashboard)/lingkungan/konservasi-adat-bali/_lib/layoutTabs.tsx index f391660c..badcf110 100644 --- a/src/app/admin/(dashboard)/lingkungan/konservasi-adat-bali/_lib/layoutTabs.tsx +++ b/src/app/admin/(dashboard)/lingkungan/konservasi-adat-bali/_lib/layoutTabs.tsx @@ -1,7 +1,7 @@ /* eslint-disable react-hooks/exhaustive-deps */ 'use client' import colors from '@/con/colors'; -import { Box, ScrollArea, Stack, Tabs, TabsList, TabsPanel, TabsTab, Title, Tooltip } from '@mantine/core'; +import { Box, ScrollArea, Stack, Tabs, TabsList, TabsPanel, TabsTab, Title } from '@mantine/core'; import { IconBook, IconLeaf, IconSchool } from '@tabler/icons-react'; import { usePathname, useRouter } from 'next/navigation'; import React, { useEffect, useState } from 'react'; @@ -15,21 +15,18 @@ function LayoutTabs({ children }: { children: React.ReactNode }) { label: "Filosofi Tri Hita", value: "filosofi-tri-hita", href: "/admin/lingkungan/konservasi-adat-bali/filosofi-tri-hita-karana", - tooltip: "Lihat filosofi Tri Hita Karana", icon: }, { label: "Nilai Konservasi Adat", value: "nilai-konservasi-adat", href: "/admin/lingkungan/konservasi-adat-bali/nilai-konservasi-adat", - tooltip: "Kelola nilai konservasi adat", icon: }, { label: "Bentuk Konservasi Berdasarkan Adat", value: "bentuk-konservasi-berdasarkan-adat", href: "/admin/lingkungan/konservasi-adat-bali/bentuk-konservasi-berdasarkan-adat", - tooltip: "Lihat bentuk konservasi berdasarkan adat", icon: }, ]; @@ -76,27 +73,26 @@ function LayoutTabs({ children }: { children: React.ReactNode }) { }} > {tabs.map((tab, i) => ( - - - - {tab.label} - - - + + + {tab.label} + + ))} diff --git a/src/app/admin/(dashboard)/lingkungan/pengelolaan-sampah-bank-sampah/keterangan-bank-sampah-terdekat/[id]/edit/page.tsx b/src/app/admin/(dashboard)/lingkungan/pengelolaan-sampah-bank-sampah/keterangan-bank-sampah-terdekat/[id]/edit/page.tsx index 56c9035d..72555ecf 100644 --- a/src/app/admin/(dashboard)/lingkungan/pengelolaan-sampah-bank-sampah/keterangan-bank-sampah-terdekat/[id]/edit/page.tsx +++ b/src/app/admin/(dashboard)/lingkungan/pengelolaan-sampah-bank-sampah/keterangan-bank-sampah-terdekat/[id]/edit/page.tsx @@ -3,7 +3,7 @@ import pengelolaanSampahState from '@/app/admin/(dashboard)/_state/lingkungan/pengelolaan-sampah'; 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 dynamic from 'next/dynamic'; import { useParams, useRouter } from 'next/navigation'; @@ -90,11 +90,9 @@ function EditKeteranganBankSampahTerdekat() { return ( - - - + Edit Bank Sampah Terdekat diff --git a/src/app/admin/(dashboard)/lingkungan/pengelolaan-sampah-bank-sampah/keterangan-bank-sampah-terdekat/create/page.tsx b/src/app/admin/(dashboard)/lingkungan/pengelolaan-sampah-bank-sampah/keterangan-bank-sampah-terdekat/create/page.tsx index ad8ae867..3bf71f3d 100644 --- a/src/app/admin/(dashboard)/lingkungan/pengelolaan-sampah-bank-sampah/keterangan-bank-sampah-terdekat/create/page.tsx +++ b/src/app/admin/(dashboard)/lingkungan/pengelolaan-sampah-bank-sampah/keterangan-bank-sampah-terdekat/create/page.tsx @@ -2,12 +2,12 @@ import pengelolaanSampahState from '@/app/admin/(dashboard)/_state/lingkungan/pengelolaan-sampah'; 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 { toast } from 'react-toastify'; import dynamic from 'next/dynamic'; import { useRouter } from 'next/navigation'; import { useState } from 'react'; +import { toast } from 'react-toastify'; import { useProxy } from 'valtio/utils'; const LeafletMap = dynamic(() => import('@/app/admin/(dashboard)/_com/leafletMapCreate'), { ssr: false }); @@ -33,14 +33,14 @@ function CreateKeteranganBankSampahTerdekat() { if (!keteranganState.create.form.name) { return toast.error('Nama bank sampah harus diisi'); } - + if (markerPosition) { keteranganState.create.form.lat = markerPosition.lat; keteranganState.create.form.lng = markerPosition.lng; } else { return toast.error('Silakan pilih lokasi di peta'); } - + await keteranganState.create.create(); toast.success('Data bank sampah berhasil ditambahkan'); resetForm(); @@ -54,11 +54,9 @@ function CreateKeteranganBankSampahTerdekat() { return ( - - - + Tambah Bank Sampah Terdekat diff --git a/src/app/admin/(dashboard)/lingkungan/pengelolaan-sampah-bank-sampah/keterangan-bank-sampah-terdekat/page.tsx b/src/app/admin/(dashboard)/lingkungan/pengelolaan-sampah-bank-sampah/keterangan-bank-sampah-terdekat/page.tsx index 318b297e..4be0d401 100644 --- a/src/app/admin/(dashboard)/lingkungan/pengelolaan-sampah-bank-sampah/keterangan-bank-sampah-terdekat/page.tsx +++ b/src/app/admin/(dashboard)/lingkungan/pengelolaan-sampah-bank-sampah/keterangan-bank-sampah-terdekat/page.tsx @@ -1,11 +1,11 @@ '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 { 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 pengelolaanSampahState from '../../../_state/lingkungan/pengelolaan-sampah'; @@ -56,16 +56,14 @@ function ListKeteranganBankSampahTerdekat({ search }: { search: string }) { Daftar Bank Sampah Terdekat - - - @@ -98,15 +96,13 @@ function ListKeteranganBankSampahTerdekat({ search }: { search: string }) { - - - )) diff --git a/src/app/admin/(dashboard)/lingkungan/pengelolaan-sampah-bank-sampah/list-pengelolaan-sampah-bank-sampah/[id]/page.tsx b/src/app/admin/(dashboard)/lingkungan/pengelolaan-sampah-bank-sampah/list-pengelolaan-sampah-bank-sampah/[id]/page.tsx index 683c410a..f07cfb6d 100644 --- a/src/app/admin/(dashboard)/lingkungan/pengelolaan-sampah-bank-sampah/list-pengelolaan-sampah-bank-sampah/[id]/page.tsx +++ b/src/app/admin/(dashboard)/lingkungan/pengelolaan-sampah-bank-sampah/list-pengelolaan-sampah-bank-sampah/[id]/page.tsx @@ -1,9 +1,9 @@ /* eslint-disable react-hooks/exhaustive-deps */ 'use client' -import pengelolaanSampahState from '@/app/admin/(dashboard)/_state/lingkungan/pengelolaan-sampah'; import SelectIconProgramEdit from '@/app/admin/(dashboard)/_com/selectIconEdit'; +import pengelolaanSampahState from '@/app/admin/(dashboard)/_state/lingkungan/pengelolaan-sampah'; 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'; @@ -71,11 +71,9 @@ function EditProgramKreatifDesa() { return ( - - - + Edit Pengelolaan Sampah Bank Sampah diff --git a/src/app/admin/(dashboard)/lingkungan/pengelolaan-sampah-bank-sampah/list-pengelolaan-sampah-bank-sampah/create/page.tsx b/src/app/admin/(dashboard)/lingkungan/pengelolaan-sampah-bank-sampah/list-pengelolaan-sampah-bank-sampah/create/page.tsx index a413905b..365c97bd 100644 --- a/src/app/admin/(dashboard)/lingkungan/pengelolaan-sampah-bank-sampah/list-pengelolaan-sampah-bank-sampah/create/page.tsx +++ b/src/app/admin/(dashboard)/lingkungan/pengelolaan-sampah-bank-sampah/list-pengelolaan-sampah-bank-sampah/create/page.tsx @@ -1,8 +1,8 @@ 'use client'; -import pengelolaanSampahState from '@/app/admin/(dashboard)/_state/lingkungan/pengelolaan-sampah'; import SelectIconProgram from '@/app/admin/(dashboard)/_com/selectIcon'; +import pengelolaanSampahState from '@/app/admin/(dashboard)/_state/lingkungan/pengelolaan-sampah'; 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'; @@ -34,7 +34,6 @@ function CreatePengelolaanSampahBankSampah() { return ( - - Tambah Pengelolaan Sampah Bank Sampah diff --git a/src/app/admin/(dashboard)/lingkungan/pengelolaan-sampah-bank-sampah/list-pengelolaan-sampah-bank-sampah/page.tsx b/src/app/admin/(dashboard)/lingkungan/pengelolaan-sampah-bank-sampah/list-pengelolaan-sampah-bank-sampah/page.tsx index cfba2c11..1b64d087 100644 --- a/src/app/admin/(dashboard)/lingkungan/pengelolaan-sampah-bank-sampah/list-pengelolaan-sampah-bank-sampah/page.tsx +++ b/src/app/admin/(dashboard)/lingkungan/pengelolaan-sampah-bank-sampah/list-pengelolaan-sampah-bank-sampah/page.tsx @@ -1,15 +1,14 @@ '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 { IconChartLine, IconClipboardTextFilled, IconEdit, IconLeaf, IconPlus, IconRecycle, IconScale, IconSearch, IconTent, IconTrashFilled, IconTrophy, IconTruckFilled } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; -import { useState } from 'react'; +import React, { useState } from 'react'; import { useProxy } from 'valtio/utils'; import HeaderSearch from '../../../_com/header'; import { ModalKonfirmasiHapus } from '../../../_com/modalKonfirmasiHapus'; import pengelolaanSampahState from '../../../_state/lingkungan/pengelolaan-sampah'; -import React from 'react'; function PengelolaanSampahBankSampah() { @@ -82,16 +81,14 @@ function ListPengelolaanSampahBankSampah({ search }: { search: string }) { Daftar Pengelolaan Sampah Bank Sampah - - - + @@ -113,44 +110,38 @@ function ListPengelolaanSampahBankSampah({ search }: { search: string }) { {iconMap[item.icon] ? ( - - - {React.createElement(iconMap[item.icon], { - size: 24, - style: { color: colors['blue-button'] } - })} - - + + {React.createElement(iconMap[item.icon], { + size: 24, + style: { color: colors['blue-button'] } + })} + ) : ( - )} - - - + - - - + )) diff --git a/src/app/admin/(dashboard)/lingkungan/program-penghijauan/[id]/edit/page.tsx b/src/app/admin/(dashboard)/lingkungan/program-penghijauan/[id]/edit/page.tsx index 141f920f..161aef97 100644 --- a/src/app/admin/(dashboard)/lingkungan/program-penghijauan/[id]/edit/page.tsx +++ b/src/app/admin/(dashboard)/lingkungan/program-penghijauan/[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'; @@ -105,16 +104,14 @@ function EditProgramPenghijauan() { {/* Header */} - - - + Edit Program Penghijauan diff --git a/src/app/admin/(dashboard)/lingkungan/program-penghijauan/[id]/page.tsx b/src/app/admin/(dashboard)/lingkungan/program-penghijauan/[id]/page.tsx index a2857cfc..ff29a6ba 100644 --- a/src/app/admin/(dashboard)/lingkungan/program-penghijauan/[id]/page.tsx +++ b/src/app/admin/(dashboard)/lingkungan/program-penghijauan/[id]/page.tsx @@ -1,7 +1,7 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ '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, IconChartLine, IconChristmasTreeFilled, IconClipboard, @@ -117,32 +117,28 @@ function DetailProgramPenghijauan() { {/* Tombol aksi */} - - - + - - - + @@ -155,7 +151,7 @@ function DetailProgramPenghijauan() { onClose={() => setModalHapus(false)} onConfirm={handleHapus} text="Apakah Anda yakin ingin menghapus program penghijauan ini?" - /> + /> ); } diff --git a/src/app/admin/(dashboard)/lingkungan/program-penghijauan/create/page.tsx b/src/app/admin/(dashboard)/lingkungan/program-penghijauan/create/page.tsx index 5b8e1ce5..3031d35d 100644 --- a/src/app/admin/(dashboard)/lingkungan/program-penghijauan/create/page.tsx +++ b/src/app/admin/(dashboard)/lingkungan/program-penghijauan/create/page.tsx @@ -8,8 +8,7 @@ import { Stack, Text, TextInput, - Title, - Tooltip, + Title } from '@mantine/core'; import { IconArrowBack } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; @@ -41,16 +40,14 @@ function CreateProgramPenghijauan() { {/* Tombol back + title */} - - - + Tambah Program Penghijauan diff --git a/src/app/admin/(dashboard)/lingkungan/program-penghijauan/page.tsx b/src/app/admin/(dashboard)/lingkungan/program-penghijauan/page.tsx index daa3a543..da424701 100644 --- a/src/app/admin/(dashboard)/lingkungan/program-penghijauan/page.tsx +++ b/src/app/admin/(dashboard)/lingkungan/program-penghijauan/page.tsx @@ -17,8 +17,7 @@ import { TableThead, TableTr, Text, - Title, - Tooltip + Title } from '@mantine/core'; import { IconChartLine, @@ -27,6 +26,7 @@ import { IconDeviceImac, IconHomeEco, IconLeaf, + IconPlus, IconRecycle, IconScale, IconSearch, @@ -36,7 +36,6 @@ import { IconTrendingUp, IconTrophy, IconTruckFilled, - IconPlus, } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; import React, { useEffect, useState } from 'react'; @@ -101,16 +100,14 @@ function ListProgramPenghijauan({ search }: { search: string }) { {/* Header Section */} Daftar Program Penghijauan - - - + {/* Table Section */} diff --git a/src/app/admin/(dashboard)/pendidikan/beasiswa-desa/_lib/layoutTabs.tsx b/src/app/admin/(dashboard)/pendidikan/beasiswa-desa/_lib/layoutTabs.tsx index 2f2d3997..b4fa8877 100644 --- a/src/app/admin/(dashboard)/pendidikan/beasiswa-desa/_lib/layoutTabs.tsx +++ b/src/app/admin/(dashboard)/pendidikan/beasiswa-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, Tooltip } from '@mantine/core'; +import { ScrollArea, Stack, Tabs, TabsList, TabsPanel, TabsTab, Title } from '@mantine/core'; +import { IconSchool, IconStar } from '@tabler/icons-react'; import { usePathname, useRouter } from 'next/navigation'; import React, { useEffect, useState } from 'react'; -import { IconSchool, IconStar } from '@tabler/icons-react'; function LayoutTabs({ children }: { children: React.ReactNode }) { const router = useRouter(); @@ -15,15 +15,13 @@ function LayoutTabs({ children }: { children: React.ReactNode }) { label: "Beasiswa Pendaftar", value: "beasiswa-pendaftar", href: "/admin/pendidikan/beasiswa-desa/beasiswa-pendaftar", - icon: , - tooltip: "Kelola data pendaftar beasiswa desa", + icon: }, { label: "Keunggulan Program", value: "keunggulan-program", href: "/admin/pendidikan/beasiswa-desa/keunggulan-program", - icon: , - tooltip: "Lihat keunggulan dan detail program beasiswa", + icon: }, ]; @@ -69,28 +67,21 @@ function LayoutTabs({ children }: { children: React.ReactNode }) { flexWrap: "nowrap", gap: "0.5rem", paddingInline: "0.5rem", // ✅ biar nggak nempel ke tepi - }} + }} > {tabs.map((tab, i) => ( - - - {tab.label} - - + {tab.label} + ))} diff --git a/src/app/admin/(dashboard)/pendidikan/beasiswa-desa/beasiswa-pendaftar/[id]/page.tsx b/src/app/admin/(dashboard)/pendidikan/beasiswa-desa/beasiswa-pendaftar/[id]/page.tsx index f72394f9..3ee48259 100644 --- a/src/app/admin/(dashboard)/pendidikan/beasiswa-desa/beasiswa-pendaftar/[id]/page.tsx +++ b/src/app/admin/(dashboard)/pendidikan/beasiswa-desa/beasiswa-pendaftar/[id]/page.tsx @@ -2,7 +2,7 @@ import { ModalKonfirmasiHapus } from '@/app/admin/(dashboard)/_com/modalKonfirmasiHapus'; import beasiswaDesaState from '@/app/admin/(dashboard)/_state/pendidikan/beasiswa-desa'; 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, IconTrash } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; @@ -121,20 +121,18 @@ function DetailBeasiswaPendaftar() { - - - + diff --git a/src/app/admin/(dashboard)/pendidikan/beasiswa-desa/keunggulan-program/[id]/page.tsx b/src/app/admin/(dashboard)/pendidikan/beasiswa-desa/keunggulan-program/[id]/page.tsx index 3a745c50..9fac6d28 100644 --- a/src/app/admin/(dashboard)/pendidikan/beasiswa-desa/keunggulan-program/[id]/page.tsx +++ b/src/app/admin/(dashboard)/pendidikan/beasiswa-desa/keunggulan-program/[id]/page.tsx @@ -3,7 +3,7 @@ import EditEditor from '@/app/admin/(dashboard)/_com/editEditor'; import beasiswaDesaState from '@/app/admin/(dashboard)/_state/pendidikan/beasiswa-desa'; 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'; @@ -58,7 +58,7 @@ function EditProgramKreatifDesa() { judul: formData.judul.trim(), deskripsi: formData.deskripsi.trim(), }; - + await state.update.update(); toast.success('Data keunggulan program berhasil diperbarui!'); router.push("/admin/pendidikan/beasiswa-desa/keunggulan-program"); @@ -70,16 +70,14 @@ function EditProgramKreatifDesa() { return ( - - - + Edit Keunggulan Program diff --git a/src/app/admin/(dashboard)/pendidikan/beasiswa-desa/keunggulan-program/create/page.tsx b/src/app/admin/(dashboard)/pendidikan/beasiswa-desa/keunggulan-program/create/page.tsx index f7fb5f93..2206cef2 100644 --- a/src/app/admin/(dashboard)/pendidikan/beasiswa-desa/keunggulan-program/create/page.tsx +++ b/src/app/admin/(dashboard)/pendidikan/beasiswa-desa/keunggulan-program/create/page.tsx @@ -2,7 +2,7 @@ import CreateEditor from '@/app/admin/(dashboard)/_com/createEditor'; import beasiswaDesaState from '@/app/admin/(dashboard)/_state/pendidikan/beasiswa-desa'; 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'; @@ -34,16 +34,14 @@ function CreateKeunggulanProgram() { return ( - - - + Tambah Keunggulan Program diff --git a/src/app/admin/(dashboard)/pendidikan/beasiswa-desa/keunggulan-program/page.tsx b/src/app/admin/(dashboard)/pendidikan/beasiswa-desa/keunggulan-program/page.tsx index f2f18216..1aed7859 100644 --- a/src/app/admin/(dashboard)/pendidikan/beasiswa-desa/keunggulan-program/page.tsx +++ b/src/app/admin/(dashboard)/pendidikan/beasiswa-desa/keunggulan-program/page.tsx @@ -16,8 +16,7 @@ import { TableThead, TableTr, Text, - Title, - Tooltip + Title } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconEdit, IconPlus, IconSearch, IconTrashFilled } from '@tabler/icons-react'; @@ -25,8 +24,8 @@ import { useRouter } from 'next/navigation'; import { useState } from 'react'; import { useProxy } from 'valtio/utils'; import HeaderSearch from '../../../_com/header'; -import beasiswaDesaState from '../../../_state/pendidikan/beasiswa-desa'; import { ModalKonfirmasiHapus } from '../../../_com/modalKonfirmasiHapus'; +import beasiswaDesaState from '../../../_state/pendidikan/beasiswa-desa'; function KeunggulanProgram() { const [search, setSearch] = useState(""); @@ -79,30 +78,28 @@ function ListKeunggulanProgram({ search }: { search: string }) { Daftar Keunggulan Program - - - +
- Nama Keunggulan Program - Deskripsi - Edit - Delete + Nama Keunggulan Program + Deskripsi + Edit + Delete @@ -123,35 +120,31 @@ function ListKeunggulanProgram({ search }: { search: string }) { /> - - - + - - - + )) diff --git a/src/app/admin/(dashboard)/pendidikan/bimbingan-belajar-desa/_lib/layoutTabs.tsx b/src/app/admin/(dashboard)/pendidikan/bimbingan-belajar-desa/_lib/layoutTabs.tsx index 83e7d239..179de0fb 100644 --- a/src/app/admin/(dashboard)/pendidikan/bimbingan-belajar-desa/_lib/layoutTabs.tsx +++ b/src/app/admin/(dashboard)/pendidikan/bimbingan-belajar-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, Tooltip } from '@mantine/core'; +import { ScrollArea, Stack, Tabs, TabsList, TabsPanel, TabsTab, Title } from '@mantine/core'; +import { IconBuildingCommunity, IconCalendar, IconSchool } from '@tabler/icons-react'; import { usePathname, useRouter } from 'next/navigation'; import React, { useEffect, useState } from 'react'; -import { IconSchool, IconCalendar, IconBuildingCommunity } from '@tabler/icons-react'; function LayoutTabs({ children }: { children: React.ReactNode }) { const router = useRouter(); @@ -15,22 +15,19 @@ function LayoutTabs({ children }: { children: React.ReactNode }) { label: "Tujuan Program", value: "tujuan-program", href: "/admin/pendidikan/bimbingan-belajar-desa/tujuan-program", - icon: , - tooltip: "Lihat tujuan utama program bimbingan belajar", + icon: }, { label: "Lokasi dan Jadwal", value: "lokasi-dan-jadwal", href: "/admin/pendidikan/bimbingan-belajar-desa/lokasi-dan-jadwal", icon: , - tooltip: "Atur lokasi pelaksanaan dan jadwal bimbingan", }, { label: "Fasilitas yang Disediakan", value: "fasilitas-yang-disediakan", href: "/admin/pendidikan/bimbingan-belajar-desa/fasilitas-yang-disediakan", - icon: , - tooltip: "Kelola fasilitas yang tersedia untuk peserta", + icon: }, ]; @@ -76,28 +73,21 @@ function LayoutTabs({ children }: { children: React.ReactNode }) { flexWrap: "nowrap", gap: "0.5rem", paddingInline: "0.5rem", // ✅ biar nggak nempel ke tepi - }} + }} > {tabs.map((tab, i) => ( - - - {tab.label} - - + {tab.label} + ))} diff --git a/src/app/admin/(dashboard)/pendidikan/bimbingan-belajar-desa/fasilitas-yang-disediakan/edit/page.tsx b/src/app/admin/(dashboard)/pendidikan/bimbingan-belajar-desa/fasilitas-yang-disediakan/edit/page.tsx index 3e446e1e..09a00b71 100644 --- a/src/app/admin/(dashboard)/pendidikan/bimbingan-belajar-desa/fasilitas-yang-disediakan/edit/page.tsx +++ b/src/app/admin/(dashboard)/pendidikan/bimbingan-belajar-desa/fasilitas-yang-disediakan/edit/page.tsx @@ -11,16 +11,15 @@ import { Stack, Text, TextInput, - Title, - Tooltip + 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 { toast } from 'react-toastify'; +import { useProxy } from 'valtio/utils'; const BimbinganBelajarDesaTextEditor = dynamic( () => @@ -103,16 +102,14 @@ function EditFasilitasYangDisediakan() { - - - + Edit Fasilitas Yang Disediakan diff --git a/src/app/admin/(dashboard)/pendidikan/bimbingan-belajar-desa/fasilitas-yang-disediakan/page.tsx b/src/app/admin/(dashboard)/pendidikan/bimbingan-belajar-desa/fasilitas-yang-disediakan/page.tsx index b568cefa..05fa285e 100644 --- a/src/app/admin/(dashboard)/pendidikan/bimbingan-belajar-desa/fasilitas-yang-disediakan/page.tsx +++ b/src/app/admin/(dashboard)/pendidikan/bimbingan-belajar-desa/fasilitas-yang-disediakan/page.tsx @@ -1,6 +1,6 @@ 'use client' import colors from '@/con/colors'; -import { Box, Button, Divider, Grid, GridCol, Paper, Skeleton, Stack, Text, Title, Tooltip } from '@mantine/core'; +import { Box, Button, Divider, Grid, GridCol, Paper, Skeleton, Stack, Text, Title } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconEdit } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; @@ -36,21 +36,19 @@ function Page() { - - - + diff --git a/src/app/admin/(dashboard)/pendidikan/bimbingan-belajar-desa/lokasi-dan-jadwal/edit/page.tsx b/src/app/admin/(dashboard)/pendidikan/bimbingan-belajar-desa/lokasi-dan-jadwal/edit/page.tsx index 5e871dea..31ac6352 100644 --- a/src/app/admin/(dashboard)/pendidikan/bimbingan-belajar-desa/lokasi-dan-jadwal/edit/page.tsx +++ b/src/app/admin/(dashboard)/pendidikan/bimbingan-belajar-desa/lokasi-dan-jadwal/edit/page.tsx @@ -11,16 +11,15 @@ import { Stack, Text, TextInput, - Title, - Tooltip + 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 { toast } from 'react-toastify'; +import { useProxy } from 'valtio/utils'; const BimbinganBelajarDesaTextEditor = dynamic( () => @@ -102,13 +101,15 @@ function EditLokasiDanJadwal() { return ( - {/* Header */} - - - + Edit Lokasi & Jadwal diff --git a/src/app/admin/(dashboard)/pendidikan/bimbingan-belajar-desa/lokasi-dan-jadwal/page.tsx b/src/app/admin/(dashboard)/pendidikan/bimbingan-belajar-desa/lokasi-dan-jadwal/page.tsx index f9de4d6a..c2a83d5d 100644 --- a/src/app/admin/(dashboard)/pendidikan/bimbingan-belajar-desa/lokasi-dan-jadwal/page.tsx +++ b/src/app/admin/(dashboard)/pendidikan/bimbingan-belajar-desa/lokasi-dan-jadwal/page.tsx @@ -1,6 +1,6 @@ 'use client' import colors from '@/con/colors'; -import { Box, Button, Divider, Grid, GridCol, Paper, Skeleton, Stack, Text, Title, Tooltip } from '@mantine/core'; +import { Box, Button, Divider, Grid, GridCol, Paper, Skeleton, Stack, Text, Title } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconEdit } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; @@ -36,21 +36,19 @@ function Page() { - - - + diff --git a/src/app/admin/(dashboard)/pendidikan/bimbingan-belajar-desa/tujuan-program/edit/page.tsx b/src/app/admin/(dashboard)/pendidikan/bimbingan-belajar-desa/tujuan-program/edit/page.tsx index 55a0d1c6..3ddddbd1 100644 --- a/src/app/admin/(dashboard)/pendidikan/bimbingan-belajar-desa/tujuan-program/edit/page.tsx +++ b/src/app/admin/(dashboard)/pendidikan/bimbingan-belajar-desa/tujuan-program/edit/page.tsx @@ -11,16 +11,15 @@ import { Stack, Text, TextInput, - Title, - Tooltip, + 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 { toast } from 'react-toastify'; +import { useProxy } from 'valtio/utils'; const BimbinganBelajarDesaTextEditor = dynamic( () => @@ -99,11 +98,9 @@ function EditTujuanProgram() { - - - + Edit Tujuan Program diff --git a/src/app/admin/(dashboard)/pendidikan/bimbingan-belajar-desa/tujuan-program/page.tsx b/src/app/admin/(dashboard)/pendidikan/bimbingan-belajar-desa/tujuan-program/page.tsx index 45b1c4db..a7429917 100644 --- a/src/app/admin/(dashboard)/pendidikan/bimbingan-belajar-desa/tujuan-program/page.tsx +++ b/src/app/admin/(dashboard)/pendidikan/bimbingan-belajar-desa/tujuan-program/page.tsx @@ -10,8 +10,7 @@ import { Skeleton, Stack, Text, - Title, - Tooltip, + Title } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconEdit } from '@tabler/icons-react'; @@ -48,21 +47,19 @@ function Page() { - - - + diff --git a/src/app/admin/(dashboard)/pendidikan/data-pendidikan/[id]/page.tsx b/src/app/admin/(dashboard)/pendidikan/data-pendidikan/[id]/page.tsx index 114d6c66..ff3d1e37 100644 --- a/src/app/admin/(dashboard)/pendidikan/data-pendidikan/[id]/page.tsx +++ b/src/app/admin/(dashboard)/pendidikan/data-pendidikan/[id]/page.tsx @@ -2,7 +2,7 @@ '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 { useParams, useRouter } from 'next/navigation'; import { useEffect, useState } from 'react'; @@ -51,11 +51,9 @@ export default function EditDataPendidikan() { return ( - - - + Edit Data Pendidikan diff --git a/src/app/admin/(dashboard)/pendidikan/data-pendidikan/create/page.tsx b/src/app/admin/(dashboard)/pendidikan/data-pendidikan/create/page.tsx index 52f8e1f7..6cd346a8 100644 --- a/src/app/admin/(dashboard)/pendidikan/data-pendidikan/create/page.tsx +++ b/src/app/admin/(dashboard)/pendidikan/data-pendidikan/create/page.tsx @@ -1,7 +1,7 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ '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 { useState } from 'react'; @@ -31,11 +31,9 @@ export default function CreateDataPendidikan() { return ( - - - + Tambah Data Pendidikan diff --git a/src/app/admin/(dashboard)/pendidikan/data-pendidikan/page.tsx b/src/app/admin/(dashboard)/pendidikan/data-pendidikan/page.tsx index 0f3e9285..8485cc9d 100644 --- a/src/app/admin/(dashboard)/pendidikan/data-pendidikan/page.tsx +++ b/src/app/admin/(dashboard)/pendidikan/data-pendidikan/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 { IconDatabase, IconEdit, IconPlus, IconSearch, IconTrash } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; @@ -80,13 +80,11 @@ function ListDataPendidikan({ search }: { search: string }) { - + Daftar Data Pendidikan - - - + {filteredData.length === 0 ? ( @@ -111,32 +109,28 @@ function ListDataPendidikan({ search }: { search: string }) { {item.name} {item.jumlah} - - - + - - - + ))} diff --git a/src/app/admin/(dashboard)/pendidikan/info-sekolah/_lib/layoutTabs.tsx b/src/app/admin/(dashboard)/pendidikan/info-sekolah/_lib/layoutTabs.tsx index e7991d96..e8de7280 100644 --- a/src/app/admin/(dashboard)/pendidikan/info-sekolah/_lib/layoutTabs.tsx +++ b/src/app/admin/(dashboard)/pendidikan/info-sekolah/_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 { IconBuilding, IconChalkboard, IconMicroscope, IconSchool } from '@tabler/icons-react'; import { usePathname, useRouter } from 'next/navigation'; import React, { useEffect, useState } from 'react'; @@ -15,29 +15,25 @@ function LayoutTabs({ children }: { children: React.ReactNode }) { label: "Jenjang Pendidikan", value: "jenjangPendidikan", href: "/admin/pendidikan/info-sekolah/jenjang-pendidikan", - icon: , - tooltip: "Lihat dan kelola jenjang pendidikan", + icon: }, { label: "Lembaga", value: "lembaga", href: "/admin/pendidikan/info-sekolah/lembaga", icon: , - tooltip: "Lihat dan kelola lembaga", }, { label: "Siswa", value: "siswa", href: "/admin/pendidikan/info-sekolah/siswa", icon: , - tooltip: "Lihat dan kelola siswa", }, { label: "Pengajar", value: "pengajar", href: "/admin/pendidikan/info-sekolah/pengajar", icon: , - tooltip: "Lihat dan kelola pengajar", } ]; @@ -83,22 +79,21 @@ function LayoutTabs({ children }: { children: React.ReactNode }) { flexWrap: "nowrap", gap: "0.5rem", paddingInline: "0.5rem", // ✅ biar nggak nempel ke tepi - }} + }} > {tabs.map((tab, i) => ( - - - {tab.label} - - + + {tab.label} + ))} diff --git a/src/app/admin/(dashboard)/pendidikan/info-sekolah/jenjang-pendidikan/[id]/page.tsx b/src/app/admin/(dashboard)/pendidikan/info-sekolah/jenjang-pendidikan/[id]/page.tsx index 02b1003b..5e9395c6 100644 --- a/src/app/admin/(dashboard)/pendidikan/info-sekolah/jenjang-pendidikan/[id]/page.tsx +++ b/src/app/admin/(dashboard)/pendidikan/info-sekolah/jenjang-pendidikan/[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'; @@ -80,11 +79,9 @@ function EditJenjangPendidikan() { {/* Header */} - - - + Edit Jenjang Pendidikan diff --git a/src/app/admin/(dashboard)/pendidikan/info-sekolah/jenjang-pendidikan/create/page.tsx b/src/app/admin/(dashboard)/pendidikan/info-sekolah/jenjang-pendidikan/create/page.tsx index fe8b30d5..e66fa92f 100644 --- a/src/app/admin/(dashboard)/pendidikan/info-sekolah/jenjang-pendidikan/create/page.tsx +++ b/src/app/admin/(dashboard)/pendidikan/info-sekolah/jenjang-pendidikan/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'; @@ -46,16 +45,14 @@ function CreateJenjangPendidikan() { {/* Back button + Title */} - - - + Tambah Jenjang Pendidikan diff --git a/src/app/admin/(dashboard)/pendidikan/info-sekolah/jenjang-pendidikan/page.tsx b/src/app/admin/(dashboard)/pendidikan/info-sekolah/jenjang-pendidikan/page.tsx index 24fd0d1f..d48b0a4a 100644 --- a/src/app/admin/(dashboard)/pendidikan/info-sekolah/jenjang-pendidikan/page.tsx +++ b/src/app/admin/(dashboard)/pendidikan/info-sekolah/jenjang-pendidikan/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, IconX } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; @@ -68,16 +68,14 @@ function ListJenjangPendidikan() { Daftar Jenjang Pendidikan - - - + diff --git a/src/app/admin/(dashboard)/pendidikan/info-sekolah/lembaga/[id]/edit/page.tsx b/src/app/admin/(dashboard)/pendidikan/info-sekolah/lembaga/[id]/edit/page.tsx index e644a878..d5b322a1 100644 --- a/src/app/admin/(dashboard)/pendidikan/info-sekolah/lembaga/[id]/edit/page.tsx +++ b/src/app/admin/(dashboard)/pendidikan/info-sekolah/lembaga/[id]/edit/page.tsx @@ -1,8 +1,8 @@ /* eslint-disable react-hooks/exhaustive-deps */ 'use client'; -import { useEffect, useState } from 'react'; -import { useParams, useRouter } from 'next/navigation'; +import infoSekolahPaud from '@/app/admin/(dashboard)/_state/pendidikan/info-sekolah-paud'; +import colors from '@/con/colors'; import { Box, Button, @@ -11,14 +11,13 @@ import { Select, Stack, TextInput, - Title, - Tooltip, + Title } from '@mantine/core'; +import { IconArrowBack } 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 infoSekolahPaud from '@/app/admin/(dashboard)/_state/pendidikan/info-sekolah-paud'; -import colors from '@/con/colors'; -import { IconArrowBack } from '@tabler/icons-react'; export default function EditLembaga() { const router = useRouter(); @@ -73,16 +72,14 @@ export default function EditLembaga() { {/* Header */} - - - + Edit Lembaga Pendidikan diff --git a/src/app/admin/(dashboard)/pendidikan/info-sekolah/lembaga/[id]/page.tsx b/src/app/admin/(dashboard)/pendidikan/info-sekolah/lembaga/[id]/page.tsx index 3a70dbe5..8861f852 100644 --- a/src/app/admin/(dashboard)/pendidikan/info-sekolah/lembaga/[id]/page.tsx +++ b/src/app/admin/(dashboard)/pendidikan/info-sekolah/lembaga/[id]/page.tsx @@ -1,14 +1,14 @@ 'use client' -import { useProxy } from 'valtio/utils'; -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 { useState } from 'react'; +import { useProxy } from 'valtio/utils'; -import colors from '@/con/colors'; import { ModalKonfirmasiHapus } from '@/app/admin/(dashboard)/_com/modalKonfirmasiHapus'; import infoSekolahPaud from '@/app/admin/(dashboard)/_state/pendidikan/info-sekolah-paud'; +import colors from '@/con/colors'; function DetailLembaga() { const detailState = useProxy(infoSekolahPaud.lembagaPendidikan); @@ -87,34 +87,30 @@ function DetailLembaga() { - - - + - - - + diff --git a/src/app/admin/(dashboard)/pendidikan/info-sekolah/lembaga/create/page.tsx b/src/app/admin/(dashboard)/pendidikan/info-sekolah/lembaga/create/page.tsx index cbf52bca..bfbd79fc 100644 --- a/src/app/admin/(dashboard)/pendidikan/info-sekolah/lembaga/create/page.tsx +++ b/src/app/admin/(dashboard)/pendidikan/info-sekolah/lembaga/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'; @@ -45,11 +44,9 @@ function CreateLembaga() { {/* Header */} - - - + Tambah Lembaga Pendidikan diff --git a/src/app/admin/(dashboard)/pendidikan/info-sekolah/lembaga/page.tsx b/src/app/admin/(dashboard)/pendidikan/info-sekolah/lembaga/page.tsx index a4c24f38..eadabed2 100644 --- a/src/app/admin/(dashboard)/pendidikan/info-sekolah/lembaga/page.tsx +++ b/src/app/admin/(dashboard)/pendidikan/info-sekolah/lembaga/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,16 +73,14 @@ function ListLembaga({ search }: { search: string }) { Daftar Lembaga - - - +
diff --git a/src/app/admin/(dashboard)/pendidikan/info-sekolah/pengajar/[id]/edit/page.tsx b/src/app/admin/(dashboard)/pendidikan/info-sekolah/pengajar/[id]/edit/page.tsx index 2cf22993..6d2a91bb 100644 --- a/src/app/admin/(dashboard)/pendidikan/info-sekolah/pengajar/[id]/edit/page.tsx +++ b/src/app/admin/(dashboard)/pendidikan/info-sekolah/pengajar/[id]/edit/page.tsx @@ -11,8 +11,7 @@ import { Select, Stack, TextInput, - Title, - Tooltip + Title } from '@mantine/core'; import { IconArrowBack } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; @@ -83,11 +82,9 @@ function EditPengajar() { {/* Header Back + Title */} - - - + Edit Pengajar diff --git a/src/app/admin/(dashboard)/pendidikan/info-sekolah/pengajar/[id]/page.tsx b/src/app/admin/(dashboard)/pendidikan/info-sekolah/pengajar/[id]/page.tsx index f97d19c4..b78a3edc 100644 --- a/src/app/admin/(dashboard)/pendidikan/info-sekolah/pengajar/[id]/page.tsx +++ b/src/app/admin/(dashboard)/pendidikan/info-sekolah/pengajar/[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'; @@ -77,34 +77,30 @@ function DetailPengajar() { - - - + - - - + diff --git a/src/app/admin/(dashboard)/pendidikan/info-sekolah/pengajar/create/page.tsx b/src/app/admin/(dashboard)/pendidikan/info-sekolah/pengajar/create/page.tsx index 22e683e7..3049368b 100644 --- a/src/app/admin/(dashboard)/pendidikan/info-sekolah/pengajar/create/page.tsx +++ b/src/app/admin/(dashboard)/pendidikan/info-sekolah/pengajar/create/page.tsx @@ -11,14 +11,13 @@ import { Stack, Text, TextInput, - Title, - Tooltip, + Title } from '@mantine/core'; import { IconArrowBack } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; import { useEffect } from 'react'; -import { useProxy } from 'valtio/utils'; import { toast } from 'react-toastify'; +import { useProxy } from 'valtio/utils'; function CreatePengajar() { const router = useRouter(); @@ -51,11 +50,9 @@ function CreatePengajar() { {/* Header Back + Title */} - - - + Tambah Pengajar diff --git a/src/app/admin/(dashboard)/pendidikan/info-sekolah/pengajar/page.tsx b/src/app/admin/(dashboard)/pendidikan/info-sekolah/pengajar/page.tsx index 20342fea..7ea5a217 100644 --- a/src/app/admin/(dashboard)/pendidikan/info-sekolah/pengajar/page.tsx +++ b/src/app/admin/(dashboard)/pendidikan/info-sekolah/pengajar/page.tsx @@ -1,9 +1,9 @@ /* 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 +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'; @@ -59,16 +59,14 @@ function ListPengajar({ search }: { search: string }) { Daftar Pengajar - - - + diff --git a/src/app/admin/(dashboard)/pendidikan/info-sekolah/siswa/[id]/edit/page.tsx b/src/app/admin/(dashboard)/pendidikan/info-sekolah/siswa/[id]/edit/page.tsx index 96818201..c22b8792 100644 --- a/src/app/admin/(dashboard)/pendidikan/info-sekolah/siswa/[id]/edit/page.tsx +++ b/src/app/admin/(dashboard)/pendidikan/info-sekolah/siswa/[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'; @@ -89,11 +88,9 @@ function EditSiswa() { {/* Header */} - - - + Edit Siswa diff --git a/src/app/admin/(dashboard)/pendidikan/info-sekolah/siswa/[id]/page.tsx b/src/app/admin/(dashboard)/pendidikan/info-sekolah/siswa/[id]/page.tsx index 519d2590..0f29a36f 100644 --- a/src/app/admin/(dashboard)/pendidikan/info-sekolah/siswa/[id]/page.tsx +++ b/src/app/admin/(dashboard)/pendidikan/info-sekolah/siswa/[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' @@ -79,34 +79,30 @@ function DetailSiswa() { - - - + - - - + diff --git a/src/app/admin/(dashboard)/pendidikan/info-sekolah/siswa/create/page.tsx b/src/app/admin/(dashboard)/pendidikan/info-sekolah/siswa/create/page.tsx index 9ebe3f57..34ef5442 100644 --- a/src/app/admin/(dashboard)/pendidikan/info-sekolah/siswa/create/page.tsx +++ b/src/app/admin/(dashboard)/pendidikan/info-sekolah/siswa/create/page.tsx @@ -11,8 +11,7 @@ import { Stack, Text, TextInput, - Title, - Tooltip, + Title } from '@mantine/core'; import { IconArrowBack } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; @@ -46,11 +45,9 @@ function CreateSiswa() { {/* Header + Back Button */} - - - + Tambah Siswa diff --git a/src/app/admin/(dashboard)/pendidikan/info-sekolah/siswa/page.tsx b/src/app/admin/(dashboard)/pendidikan/info-sekolah/siswa/page.tsx index 0e336ba6..7d1c28da 100644 --- a/src/app/admin/(dashboard)/pendidikan/info-sekolah/siswa/page.tsx +++ b/src/app/admin/(dashboard)/pendidikan/info-sekolah/siswa/page.tsx @@ -6,8 +6,8 @@ import { Button, Center, Group, - Paper, Pagination, + Paper, Skeleton, Stack, Table, @@ -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'; @@ -68,16 +67,14 @@ function ListSiswa({ search }: { search: string }) { Daftar Siswa - - - + diff --git a/src/app/admin/(dashboard)/pendidikan/pendidikan-non-formal/_lib/layoutTabs.tsx b/src/app/admin/(dashboard)/pendidikan/pendidikan-non-formal/_lib/layoutTabs.tsx index e83af8ac..57da173d 100644 --- a/src/app/admin/(dashboard)/pendidikan/pendidikan-non-formal/_lib/layoutTabs.tsx +++ b/src/app/admin/(dashboard)/pendidikan/pendidikan-non-formal/_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 { IconBook2, IconMapPin, IconSchool } from '@tabler/icons-react'; import { usePathname, useRouter } from 'next/navigation'; import React, { useEffect, useState } from 'react'; -import { IconSchool, IconMapPin, IconBook2 } from '@tabler/icons-react'; function LayoutTabs({ children }: { children: React.ReactNode }) { const router = useRouter(); @@ -15,22 +15,19 @@ function LayoutTabs({ children }: { children: React.ReactNode }) { label: "Tujuan Program", value: "tujuan-program", href: "/admin/pendidikan/pendidikan-non-formal/tujuan-program", - icon: , - tooltip: "Atur tujuan program pendidikan non formal", + icon: }, { label: "Tempat Kegiatan", value: "tempat-kegiatan", href: "/admin/pendidikan/pendidikan-non-formal/tempat-kegiatan", - icon: , - tooltip: "Kelola daftar tempat kegiatan", + icon: }, { label: "Jenis Program yang Diselenggarakan", value: "jenis-program-yang-diselenggarakan", href: "/admin/pendidikan/pendidikan-non-formal/jenis-program-yang-diselenggarakan", - icon: , - tooltip: "Lihat & atur jenis program yang tersedia", + icon: }, ]; @@ -77,28 +74,21 @@ function LayoutTabs({ children }: { children: React.ReactNode }) { flexWrap: "nowrap", gap: "0.5rem", paddingInline: "0.5rem", // ✅ biar nggak nempel ke tepi - }} + }} > {tabs.map((tab, i) => ( - - - {tab.label} - - + {tab.label} + ))} diff --git a/src/app/admin/(dashboard)/pendidikan/pendidikan-non-formal/jenis-program-yang-diselenggarakan/edit/page.tsx b/src/app/admin/(dashboard)/pendidikan/pendidikan-non-formal/jenis-program-yang-diselenggarakan/edit/page.tsx index 0fb6dd5f..5c459e6e 100644 --- a/src/app/admin/(dashboard)/pendidikan/pendidikan-non-formal/jenis-program-yang-diselenggarakan/edit/page.tsx +++ b/src/app/admin/(dashboard)/pendidikan/pendidikan-non-formal/jenis-program-yang-diselenggarakan/edit/page.tsx @@ -10,16 +10,15 @@ import { Stack, Text, TextInput, - Title, - Tooltip, + 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 { toast } from 'react-toastify'; +import { useProxy } from 'valtio/utils'; const JenisProgramYangDiselenggarakanTextEditor = dynamic( () => @@ -104,11 +103,9 @@ function EditJenisProgramYangDiselenggarakan() { {/* Back Button + Title */} - - - + Edit Jenis Program Yang Diselenggarakan diff --git a/src/app/admin/(dashboard)/pendidikan/pendidikan-non-formal/jenis-program-yang-diselenggarakan/page.tsx b/src/app/admin/(dashboard)/pendidikan/pendidikan-non-formal/jenis-program-yang-diselenggarakan/page.tsx index d7afd755..1a7b12bc 100644 --- a/src/app/admin/(dashboard)/pendidikan/pendidikan-non-formal/jenis-program-yang-diselenggarakan/page.tsx +++ b/src/app/admin/(dashboard)/pendidikan/pendidikan-non-formal/jenis-program-yang-diselenggarakan/page.tsx @@ -10,8 +10,7 @@ import { Skeleton, Stack, Text, - Title, - Tooltip, + Title } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconEdit } from '@tabler/icons-react'; @@ -48,21 +47,19 @@ function Page() { - - - + diff --git a/src/app/admin/(dashboard)/pendidikan/pendidikan-non-formal/tempat-kegiatan/edit/page.tsx b/src/app/admin/(dashboard)/pendidikan/pendidikan-non-formal/tempat-kegiatan/edit/page.tsx index 7fe96497..f4a46c19 100644 --- a/src/app/admin/(dashboard)/pendidikan/pendidikan-non-formal/tempat-kegiatan/edit/page.tsx +++ b/src/app/admin/(dashboard)/pendidikan/pendidikan-non-formal/tempat-kegiatan/edit/page.tsx @@ -11,16 +11,15 @@ import { Stack, Text, TextInput, - Title, - Tooltip, + 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 { toast } from 'react-toastify'; +import { useProxy } from 'valtio/utils'; const TempatKegiatanTextEditor = dynamic( () => @@ -108,11 +107,9 @@ function EditTempatKegiatan() { {/* Back Button + Title */} - - - + Edit Tempat Kegiatan diff --git a/src/app/admin/(dashboard)/pendidikan/pendidikan-non-formal/tempat-kegiatan/page.tsx b/src/app/admin/(dashboard)/pendidikan/pendidikan-non-formal/tempat-kegiatan/page.tsx index d56908cf..a377409e 100644 --- a/src/app/admin/(dashboard)/pendidikan/pendidikan-non-formal/tempat-kegiatan/page.tsx +++ b/src/app/admin/(dashboard)/pendidikan/pendidikan-non-formal/tempat-kegiatan/page.tsx @@ -1,6 +1,6 @@ 'use client' import colors from '@/con/colors'; -import { Box, Button, Divider, Grid, GridCol, Paper, Skeleton, Stack, Text, Title, Tooltip } from '@mantine/core'; +import { Box, Button, Divider, Grid, GridCol, Paper, Skeleton, Stack, Text, Title } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconEdit } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; @@ -36,21 +36,19 @@ function Page() { - - - + diff --git a/src/app/admin/(dashboard)/pendidikan/pendidikan-non-formal/tujuan-program/edit/page.tsx b/src/app/admin/(dashboard)/pendidikan/pendidikan-non-formal/tujuan-program/edit/page.tsx index fe91defd..48d3d1db 100644 --- a/src/app/admin/(dashboard)/pendidikan/pendidikan-non-formal/tujuan-program/edit/page.tsx +++ b/src/app/admin/(dashboard)/pendidikan/pendidikan-non-formal/tujuan-program/edit/page.tsx @@ -11,16 +11,15 @@ import { Stack, Text, TextInput, - Title, - Tooltip + 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 { toast } from 'react-toastify'; +import { useProxy } from 'valtio/utils'; const PendidikanNonFormalTextEditor = dynamic( () => import('../../_lib/pendidikanNonFormalTextEditor').then(mod => mod.PendidikanNonFormalTextEditor), @@ -98,11 +97,9 @@ function EditTujuanProgram() { - - - + Edit Tujuan Program diff --git a/src/app/admin/(dashboard)/pendidikan/pendidikan-non-formal/tujuan-program/page.tsx b/src/app/admin/(dashboard)/pendidikan/pendidikan-non-formal/tujuan-program/page.tsx index dcc6470e..00b36c7a 100644 --- a/src/app/admin/(dashboard)/pendidikan/pendidikan-non-formal/tujuan-program/page.tsx +++ b/src/app/admin/(dashboard)/pendidikan/pendidikan-non-formal/tujuan-program/page.tsx @@ -10,8 +10,7 @@ import { Skeleton, Stack, Text, - Title, - Tooltip, + Title } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconEdit } from '@tabler/icons-react'; @@ -50,21 +49,19 @@ function Page() { - - - + diff --git a/src/app/admin/(dashboard)/pendidikan/perpustakaan-digital/_lib/layoutTabs.tsx b/src/app/admin/(dashboard)/pendidikan/perpustakaan-digital/_lib/layoutTabs.tsx index 3954de64..3c89d5ea 100644 --- a/src/app/admin/(dashboard)/pendidikan/perpustakaan-digital/_lib/layoutTabs.tsx +++ b/src/app/admin/(dashboard)/pendidikan/perpustakaan-digital/_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 { IconBook2, IconCategory, IconUser } from '@tabler/icons-react'; import { usePathname, useRouter } from 'next/navigation'; import React, { useEffect, useState } from 'react'; -import { IconBook2, IconCategory, IconUser } from '@tabler/icons-react'; function LayoutTabs({ children }: { children: React.ReactNode }) { const router = useRouter(); @@ -15,22 +15,19 @@ function LayoutTabs({ children }: { children: React.ReactNode }) { label: "Data Perpustakaan", value: "data-perpustakaan", href: "/admin/pendidikan/perpustakaan-digital/data-perpustakaan", - icon: , - tooltip: "Kelola data koleksi perpustakaan digital", + icon: }, { label: "Kategori Buku", value: "kategori-buku", href: "/admin/pendidikan/perpustakaan-digital/kategori-buku", - icon: , - tooltip: "Atur kategori untuk buku digital", + icon: }, { label: "Peminjam", value: "peminjam", href: "/admin/pendidikan/perpustakaan-digital/peminjam", - icon: , - tooltip: "Data Peminjam Buku", + icon: }, ]; @@ -76,28 +73,21 @@ function LayoutTabs({ children }: { children: React.ReactNode }) { flexWrap: "nowrap", gap: "0.5rem", paddingInline: "0.5rem", // ✅ biar nggak nempel ke tepi - }} + }} > {tabs.map((tab, i) => ( - - - {tab.label} - - + {tab.label} + ))} diff --git a/src/app/admin/(dashboard)/pendidikan/perpustakaan-digital/data-perpustakaan/[id]/edit/page.tsx b/src/app/admin/(dashboard)/pendidikan/perpustakaan-digital/data-perpustakaan/[id]/edit/page.tsx index a77b956e..1f14cc05 100644 --- a/src/app/admin/(dashboard)/pendidikan/perpustakaan-digital/data-perpustakaan/[id]/edit/page.tsx +++ b/src/app/admin/(dashboard)/pendidikan/perpustakaan-digital/data-perpustakaan/[id]/edit/page.tsx @@ -1,13 +1,13 @@ /* eslint-disable react-hooks/exhaustive-deps */ 'use client' -import { useEffect, useState } from 'react'; -import { useParams, useRouter } from 'next/navigation'; -import { useProxy } from 'valtio/utils'; -import { toast } from 'react-toastify'; -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 EditEditor from '@/app/admin/(dashboard)/_com/editEditor'; import perpustakaanDigitalState from '@/app/admin/(dashboard)/_state/pendidikan/perpustakaan-digital'; @@ -88,11 +88,9 @@ function EditPerpustakaanDigital() { {/* Header */} - - - + Edit Data Perpustakaan Digital diff --git a/src/app/admin/(dashboard)/pendidikan/perpustakaan-digital/data-perpustakaan/[id]/page.tsx b/src/app/admin/(dashboard)/pendidikan/perpustakaan-digital/data-perpustakaan/[id]/page.tsx index 437c2da4..469211c1 100644 --- a/src/app/admin/(dashboard)/pendidikan/perpustakaan-digital/data-perpustakaan/[id]/page.tsx +++ b/src/app/admin/(dashboard)/pendidikan/perpustakaan-digital/data-perpustakaan/[id]/page.tsx @@ -2,7 +2,7 @@ import { ModalKonfirmasiHapus } from '@/app/admin/(dashboard)/_com/modalKonfirmasiHapus'; import perpustakaanDigitalState from '@/app/admin/(dashboard)/_state/pendidikan/perpustakaan-digital'; 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,32 +98,28 @@ function DetailDataPerpustakaan() { - - - + - - - + diff --git a/src/app/admin/(dashboard)/pendidikan/perpustakaan-digital/data-perpustakaan/create/page.tsx b/src/app/admin/(dashboard)/pendidikan/perpustakaan-digital/data-perpustakaan/create/page.tsx index 00cfed3d..e5eec0d7 100644 --- a/src/app/admin/(dashboard)/pendidikan/perpustakaan-digital/data-perpustakaan/create/page.tsx +++ b/src/app/admin/(dashboard)/pendidikan/perpustakaan-digital/data-perpustakaan/create/page.tsx @@ -3,7 +3,7 @@ import CreateEditor from '@/app/admin/(dashboard)/_com/createEditor'; import perpustakaanDigitalState from '@/app/admin/(dashboard)/_state/pendidikan/perpustakaan-digital'; 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'; @@ -57,11 +57,9 @@ function CreateDataPerpustakaan() { {/* Tombol Kembali */} - - - + Tambah Data Perpustakaan diff --git a/src/app/admin/(dashboard)/pendidikan/perpustakaan-digital/data-perpustakaan/page.tsx b/src/app/admin/(dashboard)/pendidikan/perpustakaan-digital/data-perpustakaan/page.tsx index 90275fbc..c28486ee 100644 --- a/src/app/admin/(dashboard)/pendidikan/perpustakaan-digital/data-perpustakaan/page.tsx +++ b/src/app/admin/(dashboard)/pendidikan/perpustakaan-digital/data-perpustakaan/page.tsx @@ -1,11 +1,11 @@ /* eslint-disable react-hooks/exhaustive-deps */ 'use client' import colors from '@/con/colors'; -import { Box, Button, Center, Group, Paper, Skeleton, Stack, Table, TableTbody, TableTd, TableTh, TableThead, TableTr, Text, Title, Tooltip, Pagination } 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'; import { useProxy } from 'valtio/utils'; -import { IconDeviceImacCog, IconPlus, IconSearch } from '@tabler/icons-react'; import HeaderSearch from '../../../_com/header'; import perpustakaanDigitalState from '../../../_state/pendidikan/perpustakaan-digital'; @@ -50,16 +50,14 @@ function ListDataPerpustakaan({ search }: { search: string }) { List Data Perpustakaan - - - +
@@ -87,7 +85,7 @@ function ListDataPerpustakaan({ search }: { search: string }) { - + diff --git a/src/app/admin/(dashboard)/pendidikan/perpustakaan-digital/kategori-buku/[id]/page.tsx b/src/app/admin/(dashboard)/pendidikan/perpustakaan-digital/kategori-buku/[id]/page.tsx index 627e023d..b29b3156 100644 --- a/src/app/admin/(dashboard)/pendidikan/perpustakaan-digital/kategori-buku/[id]/page.tsx +++ b/src/app/admin/(dashboard)/pendidikan/perpustakaan-digital/kategori-buku/[id]/page.tsx @@ -3,7 +3,7 @@ import perpustakaanDigitalState from '@/app/admin/(dashboard)/_state/pendidikan/perpustakaan-digital'; 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'; @@ -59,11 +59,9 @@ function EditKategoriBuku() { return ( - - - + Edit Kategori Buku diff --git a/src/app/admin/(dashboard)/pendidikan/perpustakaan-digital/kategori-buku/create/page.tsx b/src/app/admin/(dashboard)/pendidikan/perpustakaan-digital/kategori-buku/create/page.tsx index 73ce3608..c82b184c 100644 --- a/src/app/admin/(dashboard)/pendidikan/perpustakaan-digital/kategori-buku/create/page.tsx +++ b/src/app/admin/(dashboard)/pendidikan/perpustakaan-digital/kategori-buku/create/page.tsx @@ -1,7 +1,7 @@ 'use client' import perpustakaanDigitalState from '@/app/admin/(dashboard)/_state/pendidikan/perpustakaan-digital'; 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'; @@ -26,11 +26,9 @@ function CreateKategoriBuku() { {/* Header */} - - - + Tambah Kategori Buku diff --git a/src/app/admin/(dashboard)/pendidikan/perpustakaan-digital/kategori-buku/page.tsx b/src/app/admin/(dashboard)/pendidikan/perpustakaan-digital/kategori-buku/page.tsx index 8d22b0b3..a5ff8cac 100644 --- a/src/app/admin/(dashboard)/pendidikan/perpustakaan-digital/kategori-buku/page.tsx +++ b/src/app/admin/(dashboard)/pendidikan/perpustakaan-digital/kategori-buku/page.tsx @@ -1,8 +1,8 @@ '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, IconTrash, IconSearch } from '@tabler/icons-react'; +import { IconEdit, IconPlus, IconSearch, IconTrash } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; import { useState } from 'react'; import { useProxy } from 'valtio/utils'; @@ -68,16 +68,14 @@ function ListKategoriBuku({ search }: { search: string }) { Daftar Kategori Buku - - - +
diff --git a/src/app/admin/(dashboard)/pendidikan/perpustakaan-digital/peminjam/[id]/edit/page.tsx b/src/app/admin/(dashboard)/pendidikan/perpustakaan-digital/peminjam/[id]/edit/page.tsx index d0ce3fb8..48463e0a 100644 --- a/src/app/admin/(dashboard)/pendidikan/perpustakaan-digital/peminjam/[id]/edit/page.tsx +++ b/src/app/admin/(dashboard)/pendidikan/perpustakaan-digital/peminjam/[id]/edit/page.tsx @@ -13,8 +13,7 @@ import { Stack, Text, TextInput, - Title, - Tooltip, + Title } from '@mantine/core'; import { DateInput } from '@mantine/dates'; import { useShallowEffect } from '@mantine/hooks'; @@ -120,11 +119,9 @@ function EditPeminjam() { {/* Header */} - - - + Edit Peminjam Buku diff --git a/src/app/admin/(dashboard)/pendidikan/perpustakaan-digital/peminjam/[id]/page.tsx b/src/app/admin/(dashboard)/pendidikan/perpustakaan-digital/peminjam/[id]/page.tsx index ed599d33..bfb5c458 100644 --- a/src/app/admin/(dashboard)/pendidikan/perpustakaan-digital/peminjam/[id]/page.tsx +++ b/src/app/admin/(dashboard)/pendidikan/perpustakaan-digital/peminjam/[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'; @@ -43,21 +42,21 @@ function DetailDataPeminjaman() { }; const renderStatusBadge = (status: string) => { - const normalized = status?.toUpperCase(); - - switch (normalized) { - case 'DIPINJAM': - return Dipinjam; - case 'DIKEMBALIKAN': - return Dikembalikan; - case 'TERLAMBAT': - return Terlambat; - case 'DIBATALKAN': - return Dibatalkan; - default: - return Tidak diketahui; - } - }; + const normalized = status?.toUpperCase(); + + switch (normalized) { + case 'DIPINJAM': + return Dipinjam; + case 'DIKEMBALIKAN': + return Dikembalikan; + case 'TERLAMBAT': + return Terlambat; + case 'DIBATALKAN': + return Dibatalkan; + default: + return Tidak diketahui; + } + }; if (!data) { return ( @@ -189,35 +188,31 @@ function DetailDataPeminjaman() { - - - + - - - + diff --git a/src/app/admin/(dashboard)/pendidikan/program-pendidikan-anak/_lib/layoutTabs.tsx b/src/app/admin/(dashboard)/pendidikan/program-pendidikan-anak/_lib/layoutTabs.tsx index 9c76abe1..9b5b10b7 100644 --- a/src/app/admin/(dashboard)/pendidikan/program-pendidikan-anak/_lib/layoutTabs.tsx +++ b/src/app/admin/(dashboard)/pendidikan/program-pendidikan-anak/_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 { IconSchool, IconTarget } from '@tabler/icons-react'; import { usePathname, useRouter } from 'next/navigation'; import React, { useEffect, useState } from 'react'; -import { IconSchool, IconTarget } from '@tabler/icons-react'; function LayoutTabs({ children }: { children: React.ReactNode }) { const router = useRouter(); @@ -15,15 +15,13 @@ function LayoutTabs({ children }: { children: React.ReactNode }) { label: "Tujuan Program", value: "tujuan-program", href: "/admin/pendidikan/program-pendidikan-anak/tujuan-program", - icon: , - tooltip: "Atur tujuan program pendidikan anak", + icon: }, { label: "Program Unggulan", value: "program-unggulan", href: "/admin/pendidikan/program-pendidikan-anak/program-unggulan", - icon: , - tooltip: "Lihat dan kelola program unggulan pendidikan anak", + icon: } ]; @@ -70,28 +68,21 @@ function LayoutTabs({ children }: { children: React.ReactNode }) { flexWrap: "nowrap", gap: "0.5rem", paddingInline: "0.5rem", // ✅ biar nggak nempel ke tepi - }} + }} > {tabs.map((tab, i) => ( - - - {tab.label} - - + {tab.label} + ))} diff --git a/src/app/admin/(dashboard)/pendidikan/program-pendidikan-anak/program-unggulan/edit/page.tsx b/src/app/admin/(dashboard)/pendidikan/program-pendidikan-anak/program-unggulan/edit/page.tsx index 22d4cba7..7e7e0d9d 100644 --- a/src/app/admin/(dashboard)/pendidikan/program-pendidikan-anak/program-unggulan/edit/page.tsx +++ b/src/app/admin/(dashboard)/pendidikan/program-pendidikan-anak/program-unggulan/edit/page.tsx @@ -11,14 +11,13 @@ import { Stack, Text, TextInput, - Title, - Tooltip + 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, useCallback } from 'react'; +import { useCallback, useEffect, useState } from 'react'; import { toast } from 'react-toastify'; import { useProxy } from 'valtio/utils'; @@ -112,11 +111,9 @@ function EditTujuanProgram() { - - - + Edit Program Unggulan diff --git a/src/app/admin/(dashboard)/pendidikan/program-pendidikan-anak/program-unggulan/page.tsx b/src/app/admin/(dashboard)/pendidikan/program-pendidikan-anak/program-unggulan/page.tsx index 57a19af4..e264957e 100644 --- a/src/app/admin/(dashboard)/pendidikan/program-pendidikan-anak/program-unggulan/page.tsx +++ b/src/app/admin/(dashboard)/pendidikan/program-pendidikan-anak/program-unggulan/page.tsx @@ -1,6 +1,6 @@ 'use client' import colors from '@/con/colors'; -import { Box, Button, Divider, Grid, GridCol, Paper, Skeleton, Stack, Text, Title, Tooltip } from '@mantine/core'; +import { Box, Button, Divider, Grid, GridCol, Paper, Skeleton, Stack, Text, Title } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconEdit } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; @@ -36,21 +36,19 @@ function Page() { - - - + diff --git a/src/app/admin/(dashboard)/pendidikan/program-pendidikan-anak/tujuan-program/edit/page.tsx b/src/app/admin/(dashboard)/pendidikan/program-pendidikan-anak/tujuan-program/edit/page.tsx index 6929f9f2..5d3c2e87 100644 --- a/src/app/admin/(dashboard)/pendidikan/program-pendidikan-anak/tujuan-program/edit/page.tsx +++ b/src/app/admin/(dashboard)/pendidikan/program-pendidikan-anak/tujuan-program/edit/page.tsx @@ -10,16 +10,15 @@ import { Stack, Text, TextInput, - Title, - Tooltip, + 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 { toast } from 'react-toastify'; +import { useProxy } from 'valtio/utils'; const ProgramPendidikanAnakTextEditor = dynamic( () => import('../../_lib/programPendidikanAnakTextEditor').then(mod => mod.ProgramPendidikanAnakTextEditor), @@ -99,11 +98,9 @@ function EditTujuanProgram() { {/* Back Button + Title */} - - - + Edit Tujuan Program diff --git a/src/app/admin/(dashboard)/pendidikan/program-pendidikan-anak/tujuan-program/page.tsx b/src/app/admin/(dashboard)/pendidikan/program-pendidikan-anak/tujuan-program/page.tsx index d003433d..c8ab9b53 100644 --- a/src/app/admin/(dashboard)/pendidikan/program-pendidikan-anak/tujuan-program/page.tsx +++ b/src/app/admin/(dashboard)/pendidikan/program-pendidikan-anak/tujuan-program/page.tsx @@ -1,6 +1,6 @@ 'use client' import colors from '@/con/colors'; -import { Box, Button, Divider, Grid, GridCol, Paper, Skeleton, Stack, Text, Title, Tooltip } from '@mantine/core'; +import { Box, Button, Divider, Grid, GridCol, Paper, Skeleton, Stack, Text, Title } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconEdit } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; @@ -36,21 +36,19 @@ function Page() { - - - + 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/[id]/edit/page.tsx similarity index 98% rename from src/app/admin/(dashboard)/ppid/daftar-informasi-publik-desa-darmasaba/[id]/edit/page.tsx rename to src/app/admin/(dashboard)/ppid/daftar-informasi-publik/[id]/edit/page.tsx index 86196775..3f0a0c06 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/[id]/edit/page.tsx @@ -71,7 +71,7 @@ function EditDaftarInformasiPublik() { tanggal: formData.tanggal.trim(), }; await daftarInformasi.edit.update(); - router.push('/admin/ppid/daftar-informasi-publik-desa-darmasaba'); + router.push('/admin/ppid/daftar-informasi-publik'); } catch (error) { console.error('Error updating berita:', error); toast.error('Terjadi kesalahan saat memperbarui berita'); 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/[id]/page.tsx similarity index 97% rename from src/app/admin/(dashboard)/ppid/daftar-informasi-publik-desa-darmasaba/[id]/page.tsx rename to src/app/admin/(dashboard)/ppid/daftar-informasi-publik/[id]/page.tsx index 69f1da44..55f9878a 100644 --- a/src/app/admin/(dashboard)/ppid/daftar-informasi-publik-desa-darmasaba/[id]/page.tsx +++ b/src/app/admin/(dashboard)/ppid/daftar-informasi-publik/[id]/page.tsx @@ -25,7 +25,7 @@ function DetailDaftarInformasiPublik() { stateDaftarInformasi.delete.byId(selectedId) setModalHapus(false) setSelectedId(null) - router.push("/admin/ppid/daftar-informasi-publik-desa-darmasaba") + router.push("/admin/ppid/daftar-informasi-publik") } } @@ -97,7 +97,7 @@ function DetailDaftarInformasiPublik() { variant="light" color="green" leftSection={} - onClick={() => router.push(`/admin/ppid/daftar-informasi-publik-desa-darmasaba/${data.id}/edit`)} + onClick={() => router.push(`/admin/ppid/daftar-informasi-publik/${data.id}/edit`)} disabled={!data} > Edit 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/create/page.tsx similarity index 98% rename from src/app/admin/(dashboard)/ppid/daftar-informasi-publik-desa-darmasaba/create/page.tsx rename to src/app/admin/(dashboard)/ppid/daftar-informasi-publik/create/page.tsx index 45495a93..7f8918bb 100644 --- a/src/app/admin/(dashboard)/ppid/daftar-informasi-publik-desa-darmasaba/create/page.tsx +++ b/src/app/admin/(dashboard)/ppid/daftar-informasi-publik/create/page.tsx @@ -33,7 +33,7 @@ export default function CreateDaftarInformasi() { try { await daftarInformasi.create.create(); resetForm(); - router.push("/admin/ppid/daftar-informasi-publik-desa-darmasaba"); + router.push("/admin/ppid/daftar-informasi-publik"); } catch (error) { console.error('Error creating informasi publik:', error); alert('Terjadi kesalahan saat menyimpan data'); diff --git a/src/app/admin/(dashboard)/ppid/daftar-informasi-publik-desa-darmasaba/page.tsx b/src/app/admin/(dashboard)/ppid/daftar-informasi-publik/page.tsx similarity index 95% rename from src/app/admin/(dashboard)/ppid/daftar-informasi-publik-desa-darmasaba/page.tsx rename to src/app/admin/(dashboard)/ppid/daftar-informasi-publik/page.tsx index 8562b7c8..89076806 100644 --- a/src/app/admin/(dashboard)/ppid/daftar-informasi-publik-desa-darmasaba/page.tsx +++ b/src/app/admin/(dashboard)/ppid/daftar-informasi-publik/page.tsx @@ -14,7 +14,7 @@ function DaftarInformasiPublik() { return ( } value={search} @@ -51,12 +51,12 @@ function ListDaftarInformasi({ search }: { search: string }) { - Daftar Informasi Publik + List Daftar Informasi Publik @@ -109,7 +109,7 @@ function ListDaftarInformasi({ search }: { search: string }) { variant="light" color="blue" leftSection={} - onClick={() => router.push(`/admin/ppid/daftar-informasi-publik-desa-darmasaba/${item.id}`)} + onClick={() => router.push(`/admin/ppid/daftar-informasi-publik/${item.id}`)} > Detail diff --git a/src/app/admin/(dashboard)/ppid/ikm-desa-darmasaba/_lib/layoutTabs.tsx b/src/app/admin/(dashboard)/ppid/indeks-kepuasan-masyarakat/_lib/layoutTabs.tsx similarity index 91% rename from src/app/admin/(dashboard)/ppid/ikm-desa-darmasaba/_lib/layoutTabs.tsx rename to src/app/admin/(dashboard)/ppid/indeks-kepuasan-masyarakat/_lib/layoutTabs.tsx index 1cd27336..9b6604dd 100644 --- a/src/app/admin/(dashboard)/ppid/ikm-desa-darmasaba/_lib/layoutTabs.tsx +++ b/src/app/admin/(dashboard)/ppid/indeks-kepuasan-masyarakat/_lib/layoutTabs.tsx @@ -11,17 +11,17 @@ function LayoutTabsIKM({ children }: { children: React.ReactNode }) { const pathname = usePathname() const tabs = [ { - label: "Indeks Kepuasan Masyarakat", - description: "Lihat dan kelola indeks kepuasan masyarakat", - value: "indekskepuasannamasyarakat", - href: "/admin/ppid/ikm-desa-darmasaba/indeks-kepuasan-masyarakat", + label: "Grafik Kepuasan Masyarakat", + description: "Lihat dan kelola Grafik Kepuasan Masyarakat", + value: "grafikkepuasannamasyarakat", + href: "/admin/ppid/indeks-kepuasan-masyarakat/grafik-kepuasan-masyarakat", icon: }, { label: "Responden", description: "Kelola dan tinjau data responden", value: "responden", - href: "/admin/ppid/ikm-desa-darmasaba/responden", + href: "/admin/ppid/indeks-kepuasan-masyarakat/responden", icon: }, ]; @@ -46,7 +46,7 @@ function LayoutTabsIKM({ children }: { children: React.ReactNode }) { return ( - IKM Desa Darmasaba + Indeks Kepuasan Masyarakat MOTO PPID DESA DARMASABA - + MEMBERIKAN INFORMASI YANG CEPAT, MUDAH, TEPAT DAN TRANSPARAN diff --git a/src/app/admin/(dashboard)/user&role/layout.tsx b/src/app/admin/(dashboard)/user&role/layout.tsx index 5e662e33..c8e9802a 100644 --- a/src/app/admin/(dashboard)/user&role/layout.tsx +++ b/src/app/admin/(dashboard)/user&role/layout.tsx @@ -1,7 +1,7 @@ /* eslint-disable react-hooks/exhaustive-deps */ 'use client' import colors from '@/con/colors'; -import { Stack, Tabs, TabsList, TabsPanel, TabsTab, Title, Tooltip } from '@mantine/core'; +import { Stack, Tabs, TabsList, TabsPanel, TabsTab, Title } from '@mantine/core'; import { IconForms, IconUser } from '@tabler/icons-react'; import { usePathname, useRouter } from 'next/navigation'; import React, { useEffect, useState } from 'react'; @@ -16,14 +16,12 @@ function LayoutTabs({ children }: { children: React.ReactNode }) { value: "user", href: "/admin/user&role/user", icon: , - tooltip: "Lihat dan kelola user", }, { label: "Role", value: "role", href: "/admin/user&role/role", icon: , - tooltip: "Kelola data role", }, ]; @@ -67,19 +65,18 @@ function LayoutTabs({ children }: { children: React.ReactNode }) { }} > {tabs.map((tab, i) => ( - - - {tab.label} - - + + {tab.label} + ))} diff --git a/src/app/admin/(dashboard)/user&role/role/[id]/page.tsx b/src/app/admin/(dashboard)/user&role/role/[id]/page.tsx index 35bfc56c..b31a0ff3 100644 --- a/src/app/admin/(dashboard)/user&role/role/[id]/page.tsx +++ b/src/app/admin/(dashboard)/user&role/role/[id]/page.tsx @@ -1,10 +1,10 @@ 'use client' import colors from '@/con/colors'; -import { Box, Button, Group, MultiSelect, Paper, Stack, Text, TextInput, Title, Tooltip } from '@mantine/core'; +import { Box, Button, Group, MultiSelect, Paper, Stack, Text, 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'; import user from '../../../_state/user/user-state'; @@ -72,11 +72,9 @@ function EditRole() { return ( - - - + Edit Role diff --git a/src/app/admin/(dashboard)/user&role/role/create/page.tsx b/src/app/admin/(dashboard)/user&role/role/create/page.tsx index 7b342f2c..40644b2a 100644 --- a/src/app/admin/(dashboard)/user&role/role/create/page.tsx +++ b/src/app/admin/(dashboard)/user&role/role/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'; @@ -29,7 +28,7 @@ export default function CreateRole() { const resetForm = () => { stateRole.create.form = { name: '', - permissions: [] , + permissions: [], }; }; @@ -43,11 +42,9 @@ export default function CreateRole() { return ( - - - + Tambah Role @@ -83,8 +80,8 @@ export default function CreateRole() { .flat() ) ) - .filter((p): p is string => typeof p === 'string') - .map((p) => ({ label: p, value: p })) + .filter((p): p is string => typeof p === 'string') + .map((p) => ({ label: p, value: p })) } value={stateRole.create.form.permissions} onChange={(value) => (stateRole.create.form.permissions = value)} diff --git a/src/app/admin/(dashboard)/user&role/role/page.tsx b/src/app/admin/(dashboard)/user&role/role/page.tsx index c71d9343..d57ab4e7 100644 --- a/src/app/admin/(dashboard)/user&role/role/page.tsx +++ b/src/app/admin/(dashboard)/user&role/role/page.tsx @@ -1,7 +1,7 @@ /* eslint-disable react-hooks/exhaustive-deps */ 'use client' import colors from '@/con/colors'; -import { Box, Button, Group, Paper, Skeleton, Stack, Table, TableTbody, TableTd, TableTh, TableThead, TableTr, Title, Tooltip } from '@mantine/core'; +import { Box, Button, Group, Paper, Skeleton, Stack, Table, TableTbody, TableTd, TableTh, TableThead, TableTr, Title } from '@mantine/core'; import { IconEdit, IconPlus, IconSearch, IconTrash } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; import { useEffect, useState } from 'react'; @@ -68,48 +68,46 @@ function ListRole({ search }: { search: string }) { Daftar Role - - - + - -
- - - Role - Edit - Hapus + +
+ + + Role + Edit + Hapus + + + + {filteredData.map((item) => ( + + {item.name} + + + + + + - - - {filteredData.map((item) => ( - - {item.name} - - - - - - - - ))} - -
-
- + ))} + + + + {/* Modal Konfirmasi Hapus */} []>([]); + type SdgsDesa = { + id: string + name: string + jumlah: number + }; + const [chartData, setChartData] = useState([]) + const [mounted, setMounted] = useState(false); + const state = useProxy(sdgsDesa.findManyAll) const [loading, setLoading] = useState(true); + // Definisikan urutan goal SDGs Desa (sesuai nomor 1-18) + const sdgsOrder = [ + "Desa Tanpa Kemiskinan", + "Desa Tanpa Kelaparan", + "Desa Sehat dan Sejahtera", + "Pendidikan Desa Berkualitas", + "Keterlibatan Perempuan Desa", + "Desa Layak Air Bersih dan Sanitasi", + "Desa Berenergi Bersih dan Terbarukan", + "Pertumbuhan Ekonomi Desa Merata", + "Infrastruktur dan Inovasi Desa Sesuai Kebutuhan", + "Desa Tanpa Kesenjangan", + "Kawasan Permukiman Desa Aman dan Nyaman", + "Konsumsi dan Produksi Desa Sadar Lingkungan", + "Desa Tanggap Perubahan Iklim", + "Desa Peduli Lingkungan Laut", + "Desa Peduli Lingkungan Darat", + "Desa Damai Berkeadilan", + "Kemitraan untuk Pembangunan Desa", + "Kelembagaan Desa Dinamis dan Budaya Desa Adaptif" + ]; + + useEffect(() => { - const fetchSdgsDesa = async () => { + if (state.data) { + // Urutkan data sesuai urutan goal 1-18 + const sortedData = [...state.data].sort((a, b) => { + const indexA = sdgsOrder.indexOf(a.name); + const indexB = sdgsOrder.indexOf(b.name); + return indexA - indexB; + }); + + setChartData(sortedData.map((item: any) => ({ + id: item.id, + name: item.name, + jumlah: item.jumlah, + }))); + } + }, [state.data]); + + useEffect(() => { + const loadData = async () => { try { - const response = await fetch('/api/landingpage/sdgsdesa/findMany?limit=50&page=1'); - if (!response.ok) throw new Error(`HTTP error! status: ${response.status}`); - const result = await response.json(); - let data = []; - if (Array.isArray(result.data)) { - data = result.data; - } else if (Array.isArray(result)) { - data = result; - } else { - console.error('Format data tidak valid:', result); - } - setSdgsDesa(data); + setMounted(true); + setLoading(true) + await state.load() } catch (error) { - console.error('Gagal mengambil data sdgs desa:', error); + console.error('Error loading data:', error) } finally { - setLoading(false); + setLoading(false) } - }; - fetchSdgsDesa(); - }, []); + } + loadData() + }, []) + + const averageScore = useMemo(() => { + if (!state.data?.length) return 0; + const total = state.data.reduce((sum: number, item: any) => { + const val = typeof item.jumlah === 'string' + ? parseFloat(item.jumlah.replace(',', '.')) + : Number(item.jumlah); + return isNaN(val) ? sum : sum + val; + }, 0); + return parseFloat((total / state.data.length).toFixed(2)); + }, [state.data]); return ( @@ -53,13 +106,13 @@ function Page() { - SDGs Desa adalah upaya terpadu pemerintah dalam percepatan pencapaian tujuan pembangunan berkelanjutan di tingkat desa. - Ini merupakan adaptasi dari SDGs global dalam konteks pembangunan desa di Indonesia, yang bertujuan menciptakan desa + SDGs Desa adalah upaya terpadu pemerintah dalam percepatan pencapaian tujuan pembangunan berkelanjutan di tingkat desa. + Ini merupakan adaptasi dari SDGs global dalam konteks pembangunan desa di Indonesia, yang bertujuan menciptakan desa inklusif, berkelanjutan, dan tangguh menghadapi tantangan masa depan. - Berdasarkan Permendesa Nomor 21 Tahun 2020, SDGs Desa mencakup 18 tujuan yang harus dicapai pada tahun 2030. - Tujuan-tujuan tersebut meliputi pengentasan kemiskinan, peningkatan kesehatan dan pendidikan, kesetaraan gender, + Berdasarkan Permendesa Nomor 21 Tahun 2020, SDGs Desa mencakup 18 tujuan yang harus dicapai pada tahun 2030. + Tujuan-tujuan tersebut meliputi pengentasan kemiskinan, peningkatan kesehatan dan pendidikan, kesetaraan gender, pertumbuhan ekonomi, pembangunan infrastruktur, hingga pelestarian lingkungan. @@ -67,9 +120,24 @@ function Page() { - {!loading && sdgsDesa.length > 0 ? ( + + {!loading && state.data && state.data.length > 0 && ( +
+ + Rata-Rata SDGs Desa : + + {averageScore} % + + + Diambil dari rata-rata 18 Goals SDGs Desa dari Desa Darmasaba + + +
+ )} + + {!loading && state.data && state.data.length > 0 ? ( - {sdgsDesa.map((item) => ( + {state.data?.map((item) => (
- - {item.name} - + + {item.name} +
) : null} + + {/* Chart */} + + + + + Grafik APBDes + + {mounted && chartData.length > 0 ? ( + {/* Tambahkan padding horizontal agar label tidak keluar */} + value, + formatter: (value) => `${value}%`, + }} + xAxisProps={{ + angle: -45, + textAnchor: 'end', + interval: 0, + fontSize: 12, + dy: 10, + }} + yAxisProps={{ + domain: [0, 100], + tickCount: 6, + }} + style={{ + overflowX: 'visible', + paddingBottom: 40, // Tambahkan ruang di bawah untuk label + }} + // Hilangkan legend secara eksplisit + withLegend={false} // ⭐ Ini yang menghilangkan kotak biru + teks "Jumlah" + /> + + ) : ( + Belum ada data untuk ditampilkan dalam grafik + )} + + +
diff --git a/src/app/darmasaba/_com/ModernNeewsNotification.tsx b/src/app/darmasaba/_com/ModernNeewsNotification.tsx index c03e9ec1..2741289c 100644 --- a/src/app/darmasaba/_com/ModernNeewsNotification.tsx +++ b/src/app/darmasaba/_com/ModernNeewsNotification.tsx @@ -3,7 +3,7 @@ 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 +import { usePathname, useRouter } from "next/navigation"; // 👉 tambahkan ini interface NewsItem { id: string | number; @@ -27,9 +27,9 @@ function stripHtml(html: string): string { .trim(); } -export default function ModernNewsNotification({ +export default function ModernNewsNotification({ news = [], - autoShowDelay = 2000 + autoShowDelay = 2000 }: ModernNewsNotificationProps) { const router = useRouter(); // 👉 router Next.js const [toastVisible, setToastVisible] = useState(false); @@ -37,6 +37,9 @@ export default function ModernNewsNotification({ const [hasNewNotifications, setHasNewNotifications] = useState(true); const [hasShownToast, setHasShownToast] = useState(false); const [iconVisible, setIconVisible] = useState(true); + const pathname = usePathname(); + + useEffect(() => { if (news.length > 0 && !toastVisible && !hasShownToast) { @@ -57,25 +60,32 @@ export default function ModernNewsNotification({ } }, [toastVisible]); + // Ganti useEffect scroll yang lama dengan versi berikut: + useEffect(() => { let lastScrollY = window.scrollY; const handleScroll = () => { const currentScrollY = window.scrollY; - + + // Kontrol ikon lonceng if (currentScrollY > lastScrollY && currentScrollY > 100) { setIconVisible(false); - } - else if (currentScrollY < lastScrollY) { + } else if (currentScrollY < lastScrollY) { setIconVisible(true); } - + + // 🔴 BARU: Sembunyikan toast saat scroll ke bawah melewati 150px + if (currentScrollY > 150 && toastVisible) { + setToastVisible(false); + } + lastScrollY = currentScrollY; }; window.addEventListener('scroll', handleScroll, { passive: true }); return () => window.removeEventListener('scroll', handleScroll); - }, []); + }, [toastVisible]); // 👈 tambahkan toastVisible sebagai dependency const currentNews = news[0]; @@ -95,6 +105,11 @@ export default function ModernNewsNotification({ setHasNewNotifications(false); }; + // Ganti dengan path landing page Anda + if (pathname !== '/darmasaba') { + return null; + } + return ( <> @@ -174,7 +189,7 @@ export default function ModernNewsNotification({ Berita & Pengumuman - setWidgetOpen(false)} variant="transparent" c="white" @@ -283,16 +298,16 @@ export default function ModernNewsNotification({ > {currentNews?.type === "berita" ? "Berita Terbaru" : "Pengumuman"} - setToastVisible(false)} size="sm" /> - + {currentNews?.title || "Informasi Terbaru"} - + {stripHtml(currentNews?.content || "")} diff --git a/src/app/darmasaba/_com/RunningText.tsx b/src/app/darmasaba/_com/RunningText.tsx deleted file mode 100644 index c670818e..00000000 --- a/src/app/darmasaba/_com/RunningText.tsx +++ /dev/null @@ -1,185 +0,0 @@ -"use client"; - -import { Box } from "@mantine/core"; -import { IconBell } from "@tabler/icons-react"; -import { useMemo, useState, useEffect } from "react"; - -interface RunningTextProps { - news?: string[]; - speed?: number; // dalam detik (jika mau manual) - autoSpeed?: boolean; // otomatis sesuaikan speed dengan panjang text - bgColor?: string; - textColor?: string; - maxLength?: number; // max karakter per item -} - -// Utility function untuk strip HTML (works on both server and client) -function stripHtmlTags(html: string): string { - const text = html - .replace(/]*>.*?<\/style>/gi, '') - .replace(/]*>.*?<\/script>/gi, '') - .replace(/<[^>]+>/g, '') - .replace(/ /gi, ' ') - .replace(/&/gi, '&') - .replace(/</gi, '<') - .replace(/>/gi, '>') - .replace(/"/gi, '"') - .replace(/'/gi, "'") - .replace(/’/gi, "'") - .replace(/—/gi, '—') - .replace(/–/gi, '–') - .replace(/\s+/g, ' ') - .trim(); - - return text; -} - -export default function RunningText({ - news = [ - "Selamat datang di Portal Desa Darmasaba", - "Jam operasional kantor: Senin - Jumat 08:00 - 17:00", - ], - speed = 20, - autoSpeed = true, - bgColor = "#1e5a7e", - textColor = "white", - maxLength = 200 // default max 200 karakter per item -}: RunningTextProps) { - - const [isMounted, setIsMounted] = useState(false); - - useEffect(() => { - setIsMounted(true); - }, []); - - // Process news data - const processedNews = useMemo(() => { - return news - .filter(item => item && item.trim() !== "") - .map(item => { - let text = stripHtmlTags(item); - // Limit panjang per item - if (text.length > maxLength) { - text = text.substring(0, maxLength) + "..."; - } - return text; - }) - .filter(item => item.length > 0); - }, [news, maxLength]); - - const allNews = processedNews.length > 0 - ? processedNews.join(" • ") - : "Tidak ada pengumuman"; - - // Hitung speed berdasarkan mode - const calculatedSpeed = useMemo(() => { - if (!autoSpeed) { - return speed; // Gunakan speed manual - } - - // Auto speed: berdasarkan panjang text - const textLength = allNews.length; - - // Formula yang lebih natural: - // - Text pendek (< 100 char): 15 detik - // - Text sedang (100-300 char): 20-30 detik - // - Text panjang (> 300 char): 30-45 detik - let calculatedTime; - - if (textLength < 100) { - calculatedTime = 15; - } else if (textLength < 300) { - calculatedTime = 15 + ((textLength - 100) / 200) * 15; // 15-30 detik - } else { - calculatedTime = 30 + Math.min(((textLength - 300) / 500) * 15, 15); // 30-45 detik max - } - - return Math.round(calculatedTime); - }, [allNews, speed, autoSpeed]); - - // Prevent hydration mismatch - if (!isMounted) { - return ( - -
- - - Memuat pengumuman... - -
-
- ); - } - - return ( - -