Seed data menu ekonomi - lingkungan
fix iconmap
This commit is contained in:
@@ -40,6 +40,13 @@ function PengaduanMasyarakat() {
|
||||
};
|
||||
};
|
||||
|
||||
const resetAll = () => {
|
||||
resetForm();
|
||||
setFile(null);
|
||||
setPreviewImage(null);
|
||||
};
|
||||
|
||||
|
||||
const handleSubmit = async () => {
|
||||
if (!file) {
|
||||
return toast.error("Silahkan pilih file gambar terlebih dahulu")
|
||||
@@ -64,7 +71,7 @@ function PengaduanMasyarakat() {
|
||||
const success = await state.pengaduanMasyarakat.create.create()
|
||||
|
||||
if (success) {
|
||||
resetForm()
|
||||
resetAll()
|
||||
close()
|
||||
}
|
||||
} catch (error) {
|
||||
@@ -190,7 +197,7 @@ function PengaduanMasyarakat() {
|
||||
</Group>
|
||||
</Dropzone>
|
||||
{previewImage ? (
|
||||
<Image alt="" src={previewImage} w={200} h={200} loading="lazy"/>
|
||||
<Image alt="" src={previewImage} w={200} h={200} loading="lazy" />
|
||||
) : (
|
||||
<Center w={200} h={200} bg={"gray"}>
|
||||
<IconImageInPicture />
|
||||
|
||||
@@ -124,7 +124,6 @@ function ListPencegahanKriminalitas({ search }: { search: string }) {
|
||||
)}
|
||||
</Stack>
|
||||
|
||||
{totalPages > 1 && (
|
||||
<Center>
|
||||
<Pagination
|
||||
value={page}
|
||||
@@ -138,7 +137,6 @@ function ListPencegahanKriminalitas({ search }: { search: string }) {
|
||||
radius="lg"
|
||||
/>
|
||||
</Center>
|
||||
)}
|
||||
</Box>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -179,7 +179,6 @@ export default function Page() {
|
||||
))}
|
||||
</SimpleGrid>
|
||||
|
||||
{totalPages > 1 && (
|
||||
<Center>
|
||||
<Pagination
|
||||
value={page}
|
||||
@@ -191,7 +190,6 @@ export default function Page() {
|
||||
mt="md"
|
||||
/>
|
||||
</Center>
|
||||
)}
|
||||
|
||||
<Stack gap="sm">
|
||||
<Flex align="center" gap="xs">
|
||||
|
||||
@@ -225,7 +225,6 @@ export default function Page() {
|
||||
))}
|
||||
</SimpleGrid>
|
||||
|
||||
{totalPages > 1 && (
|
||||
<Center>
|
||||
<Pagination
|
||||
value={page}
|
||||
@@ -242,7 +241,6 @@ export default function Page() {
|
||||
}}
|
||||
/>
|
||||
</Center>
|
||||
)}
|
||||
</Box>
|
||||
|
||||
<Box px={{ base: "md", md: 100 }} py="xl">
|
||||
|
||||
@@ -127,7 +127,6 @@ function Page() {
|
||||
)}
|
||||
</Box>
|
||||
|
||||
{totalPages > 1 && (
|
||||
<Center>
|
||||
<Pagination
|
||||
value={page}
|
||||
@@ -138,7 +137,6 @@ function Page() {
|
||||
mt="lg"
|
||||
/>
|
||||
</Center>
|
||||
)}
|
||||
</Stack>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ import dataLingkunganDesaState from '@/app/admin/(dashboard)/_state/lingkungan/d
|
||||
import colors from '@/con/colors';
|
||||
import { Badge, Box, Center, Group, Pagination, Paper, SimpleGrid, Skeleton, Stack, Text, TextInput, Tooltip } from '@mantine/core';
|
||||
import { useDebouncedValue, useShallowEffect } from '@mantine/hooks';
|
||||
import { Icon, IconChartLine, IconChristmasTreeFilled, IconClipboardTextFilled, IconDroplet, IconHome, IconHomeEco, IconLeaf, IconRecycle, IconScale, IconSearch, IconShieldFilled, IconTent, IconTrashFilled, IconTree, IconTrendingUp, IconTrophy, IconTruckFilled } from '@tabler/icons-react';
|
||||
import { Icon, IconAlertTriangle, IconAmbulance, IconBook, IconBuilding, IconBuildingCommunity, IconCash, IconChartLine, IconChristmasTreeFilled, IconClipboard, IconDroplet, IconFileText, IconFiretruck, IconFirstAidKit, IconHome, IconHomeEco, IconHospital, IconInfoCircle, IconLeaf, IconLifebuoy, IconMessageReport, IconPhoneCall, IconRecycle, IconRun, IconScale, IconSchool, IconSearch, IconShield, IconShieldFilled, IconShoppingCart, IconStethoscope, IconTent, IconTrash, IconTree, IconTrendingUp, IconTrophy, IconTruck, IconUsers } from '@tabler/icons-react';
|
||||
import React, { useState } from 'react';
|
||||
import { useProxy } from 'valtio/utils';
|
||||
import BackButton from '../../desa/layanan/_com/BackButto';
|
||||
@@ -21,24 +21,51 @@ function Page() {
|
||||
} = state
|
||||
|
||||
const iconMap: Record<string, Icon> = {
|
||||
ekowisata: IconLeaf,
|
||||
kompetisi: IconTrophy,
|
||||
wisata: IconTent,
|
||||
ekonomi: IconChartLine,
|
||||
sampah: IconRecycle,
|
||||
truck: IconTruckFilled,
|
||||
scale: IconScale,
|
||||
clipboard: IconClipboardTextFilled,
|
||||
trash: IconTrashFilled,
|
||||
lingkunganSehat: IconHomeEco,
|
||||
sumberOksigen: IconChristmasTreeFilled,
|
||||
ekonomiBerkelanjutan: IconTrendingUp,
|
||||
mencegahBencana: IconShieldFilled,
|
||||
rumah: IconHome,
|
||||
pohon: IconTree,
|
||||
air: IconDroplet
|
||||
ekowisata: IconLeaf,
|
||||
kompetisi: IconTrophy,
|
||||
wisata: IconTent,
|
||||
ekonomi: IconChartLine,
|
||||
sampah: IconRecycle,
|
||||
truck: IconTruck,
|
||||
scale: IconScale,
|
||||
clipboard: IconClipboard,
|
||||
trash: IconTrash,
|
||||
lingkunganSehat: IconHomeEco,
|
||||
sumberOksigen: IconChristmasTreeFilled,
|
||||
ekonomiBerkelanjutan: IconTrendingUp,
|
||||
mencegahBencana: IconShieldFilled,
|
||||
rumah: IconHome,
|
||||
pohon: IconTree,
|
||||
air: IconDroplet,
|
||||
bantuan: IconCash,
|
||||
pelatihan: IconSchool,
|
||||
subsidi: IconShoppingCart,
|
||||
layananKesehatan: IconHospital,
|
||||
|
||||
};
|
||||
// ===== Keamanan & Darurat =====
|
||||
polisi: IconShieldFilled,
|
||||
ambulans: IconAmbulance,
|
||||
pemadam: IconFiretruck,
|
||||
darurat: IconAlertTriangle,
|
||||
sar: IconLifebuoy,
|
||||
evakuasi: IconRun,
|
||||
keamanan: IconShield,
|
||||
teleponDarurat: IconPhoneCall,
|
||||
|
||||
// ===== Kesehatan =====
|
||||
rumahSakit: IconHospital,
|
||||
puskesmas: IconFirstAidKit,
|
||||
klinik: IconStethoscope,
|
||||
|
||||
// ===== Pemerintahan =====
|
||||
bangunan: IconBuilding,
|
||||
kantorDesa: IconBuildingCommunity,
|
||||
administrasi: IconFileText,
|
||||
informasi: IconInfoCircle,
|
||||
pengaduan: IconMessageReport,
|
||||
layananPublik: IconUsers,
|
||||
book: IconBook
|
||||
};
|
||||
|
||||
useShallowEffect(() => {
|
||||
load(page, 6, debouncedSearch)
|
||||
|
||||
@@ -3,11 +3,11 @@ import pengelolaanSampahState from '@/app/admin/(dashboard)/_state/lingkungan/pe
|
||||
import colors from '@/con/colors';
|
||||
import { Box, Center, Flex, Group, Pagination, Paper, SimpleGrid, Skeleton, Stack, Text, TextInput } from '@mantine/core';
|
||||
import { useDebouncedValue, useShallowEffect } from '@mantine/hooks';
|
||||
import { Icon, IconChartLine, IconClipboardTextFilled, IconLeaf, IconRecycle, IconRoute, IconScale, IconSearch, IconTent, IconTrashFilled, IconTrophy, IconTruckFilled } from '@tabler/icons-react';
|
||||
import { Icon, IconAlertTriangle, IconAmbulance, IconBook, IconBuilding, IconBuildingCommunity, IconCash, IconChartLine, IconChristmasTreeFilled, IconClipboard, IconDroplet, IconFileText, IconFiretruck, IconFirstAidKit, IconHome, IconHomeEco, IconHospital, IconInfoCircle, IconLeaf, IconLifebuoy, IconMessageReport, IconPhoneCall, IconRecycle, IconRoute, IconRun, IconScale, IconSchool, IconSearch, IconShield, IconShieldFilled, IconShoppingCart, IconStethoscope, IconTent, IconTrash, IconTree, IconTrendingUp, IconTrophy, IconTruck, IconUsers } from '@tabler/icons-react';
|
||||
import dynamic from 'next/dynamic';
|
||||
import React, { useState } from 'react';
|
||||
import { useProxy } from 'valtio/utils';
|
||||
import BackButton from '../../desa/layanan/_com/BackButto';
|
||||
import dynamic from 'next/dynamic';
|
||||
|
||||
// Dynamically import the map component to avoid SSR issues with Leaflet
|
||||
const LeafletMultiMarkerMap = dynamic(
|
||||
@@ -42,16 +42,51 @@ function Page() {
|
||||
}, [page, debouncedSearch])
|
||||
|
||||
const iconMap: Record<string, Icon> = {
|
||||
ekowisata: IconLeaf,
|
||||
kompetisi: IconTrophy,
|
||||
wisata: IconTent,
|
||||
ekonomi: IconChartLine,
|
||||
sampah: IconRecycle,
|
||||
truck: IconTruckFilled,
|
||||
scale: IconScale,
|
||||
clipboard: IconClipboardTextFilled,
|
||||
trash: IconTrashFilled,
|
||||
};
|
||||
ekowisata: IconLeaf,
|
||||
kompetisi: IconTrophy,
|
||||
wisata: IconTent,
|
||||
ekonomi: IconChartLine,
|
||||
sampah: IconRecycle,
|
||||
truck: IconTruck,
|
||||
scale: IconScale,
|
||||
clipboard: IconClipboard,
|
||||
trash: IconTrash,
|
||||
lingkunganSehat: IconHomeEco,
|
||||
sumberOksigen: IconChristmasTreeFilled,
|
||||
ekonomiBerkelanjutan: IconTrendingUp,
|
||||
mencegahBencana: IconShieldFilled,
|
||||
rumah: IconHome,
|
||||
pohon: IconTree,
|
||||
air: IconDroplet,
|
||||
bantuan: IconCash,
|
||||
pelatihan: IconSchool,
|
||||
subsidi: IconShoppingCart,
|
||||
layananKesehatan: IconHospital,
|
||||
|
||||
// ===== Keamanan & Darurat =====
|
||||
polisi: IconShieldFilled,
|
||||
ambulans: IconAmbulance,
|
||||
pemadam: IconFiretruck,
|
||||
darurat: IconAlertTriangle,
|
||||
sar: IconLifebuoy,
|
||||
evakuasi: IconRun,
|
||||
keamanan: IconShield,
|
||||
teleponDarurat: IconPhoneCall,
|
||||
|
||||
// ===== Kesehatan =====
|
||||
rumahSakit: IconHospital,
|
||||
puskesmas: IconFirstAidKit,
|
||||
klinik: IconStethoscope,
|
||||
|
||||
// ===== Pemerintahan =====
|
||||
bangunan: IconBuilding,
|
||||
kantorDesa: IconBuildingCommunity,
|
||||
administrasi: IconFileText,
|
||||
informasi: IconInfoCircle,
|
||||
pengaduan: IconMessageReport,
|
||||
layananPublik: IconUsers,
|
||||
book: IconBook
|
||||
};
|
||||
|
||||
if (state.findMany.loading || !data) {
|
||||
return (
|
||||
|
||||
@@ -4,10 +4,21 @@ import programPenghijauanState from '@/app/admin/(dashboard)/_state/lingkungan/p
|
||||
import { Box, Button, Paper, Skeleton, Stack, Text, ThemeIcon } from '@mantine/core';
|
||||
import { useShallowEffect } from '@mantine/hooks';
|
||||
import {
|
||||
IconArrowLeft, IconChartLine, IconChristmasTreeFilled, IconClipboard,
|
||||
IconHomeEco, IconLeaf, IconRecycle, IconScale,
|
||||
IconShieldFilled, IconTent, IconTrash,
|
||||
IconTrendingUp, IconTrophy, IconTruck
|
||||
IconAlertTriangle,
|
||||
IconAmbulance,
|
||||
IconArrowLeft, IconBook, IconBuilding, IconBuildingCommunity, IconCash, IconChartLine, IconChristmasTreeFilled, IconClipboard,
|
||||
IconDroplet,
|
||||
IconFileText,
|
||||
IconFiretruck,
|
||||
IconFirstAidKit,
|
||||
IconHome,
|
||||
IconHomeEco, IconHospital, IconInfoCircle, IconLeaf, IconLifebuoy, IconMessageReport, IconPhoneCall, IconRecycle, IconRun, IconScale,
|
||||
IconSchool,
|
||||
IconShield,
|
||||
IconShieldFilled, IconShoppingCart, IconStethoscope, IconTent, IconTrash,
|
||||
IconTree,
|
||||
IconTrendingUp, IconTrophy, IconTruck,
|
||||
IconUsers
|
||||
} from '@tabler/icons-react';
|
||||
import { useParams, useRouter } from 'next/navigation';
|
||||
import React from 'react';
|
||||
@@ -32,6 +43,37 @@ function Page() {
|
||||
sumberOksigen: IconChristmasTreeFilled,
|
||||
ekonomiBerkelanjutan: IconTrendingUp,
|
||||
mencegahBencana: IconShieldFilled,
|
||||
rumah: IconHome,
|
||||
pohon: IconTree,
|
||||
air: IconDroplet,
|
||||
bantuan: IconCash,
|
||||
pelatihan: IconSchool,
|
||||
subsidi: IconShoppingCart,
|
||||
layananKesehatan: IconHospital,
|
||||
|
||||
// ===== Keamanan & Darurat =====
|
||||
polisi: IconShieldFilled,
|
||||
ambulans: IconAmbulance,
|
||||
pemadam: IconFiretruck,
|
||||
darurat: IconAlertTriangle,
|
||||
sar: IconLifebuoy,
|
||||
evakuasi: IconRun,
|
||||
keamanan: IconShield,
|
||||
teleponDarurat: IconPhoneCall,
|
||||
|
||||
// ===== Kesehatan =====
|
||||
rumahSakit: IconHospital,
|
||||
puskesmas: IconFirstAidKit,
|
||||
klinik: IconStethoscope,
|
||||
|
||||
// ===== Pemerintahan =====
|
||||
bangunan: IconBuilding,
|
||||
kantorDesa: IconBuildingCommunity,
|
||||
administrasi: IconFileText,
|
||||
informasi: IconInfoCircle,
|
||||
pengaduan: IconMessageReport,
|
||||
layananPublik: IconUsers,
|
||||
book: IconBook
|
||||
};
|
||||
|
||||
useShallowEffect(() => {
|
||||
|
||||
@@ -4,11 +4,11 @@ import programPenghijauanState from '@/app/admin/(dashboard)/_state/lingkungan/p
|
||||
import colors from '@/con/colors';
|
||||
import { Box, Center, Group, Pagination, Paper, SimpleGrid, Skeleton, Stack, Text, TextInput, Title, Tooltip } from '@mantine/core';
|
||||
import { useDebouncedValue, useShallowEffect } from '@mantine/hooks';
|
||||
import { IconChartLine, IconChristmasTreeFilled, IconClipboardTextFilled, IconHomeEco, IconLeaf, IconRecycle, IconScale, IconSearch, IconShieldFilled, IconTent, IconTrashFilled, IconTrendingUp, IconTrophy, IconTruckFilled } from '@tabler/icons-react';
|
||||
import { IconAlertTriangle, IconAmbulance, IconBook, IconBuilding, IconBuildingCommunity, IconCash, IconChartLine, IconChristmasTreeFilled, IconClipboard, IconDroplet, IconFileText, IconFiretruck, IconFirstAidKit, IconHome, IconHomeEco, IconHospital, IconInfoCircle, IconLeaf, IconLifebuoy, IconMessageReport, IconPhoneCall, IconRecycle, IconRun, IconScale, IconSchool, IconSearch, IconShield, IconShieldFilled, IconShoppingCart, IconStethoscope, IconTent, IconTrash, IconTree, IconTrendingUp, IconTrophy, IconTruck, IconUsers } from '@tabler/icons-react';
|
||||
import { useTransitionRouter } from 'next-view-transitions';
|
||||
import React, { useState } from 'react';
|
||||
import { useProxy } from 'valtio/utils';
|
||||
import BackButton from '../../desa/layanan/_com/BackButto';
|
||||
import { useTransitionRouter } from 'next-view-transitions';
|
||||
|
||||
function Page() {
|
||||
const state = useProxy(programPenghijauanState);
|
||||
@@ -22,20 +22,51 @@ function Page() {
|
||||
}, [page, debouncedSearch]);
|
||||
|
||||
const iconMap: Record<string, any> = {
|
||||
ekowisata: IconLeaf,
|
||||
kompetisi: IconTrophy,
|
||||
wisata: IconTent,
|
||||
ekonomi: IconChartLine,
|
||||
sampah: IconRecycle,
|
||||
truck: IconTruckFilled,
|
||||
scale: IconScale,
|
||||
clipboard: IconClipboardTextFilled,
|
||||
trash: IconTrashFilled,
|
||||
lingkunganSehat: IconHomeEco,
|
||||
sumberOksigen: IconChristmasTreeFilled,
|
||||
ekonomiBerkelanjutan: IconTrendingUp,
|
||||
mencegahBencana: IconShieldFilled,
|
||||
};
|
||||
ekowisata: IconLeaf,
|
||||
kompetisi: IconTrophy,
|
||||
wisata: IconTent,
|
||||
ekonomi: IconChartLine,
|
||||
sampah: IconRecycle,
|
||||
truck: IconTruck,
|
||||
scale: IconScale,
|
||||
clipboard: IconClipboard,
|
||||
trash: IconTrash,
|
||||
lingkunganSehat: IconHomeEco,
|
||||
sumberOksigen: IconChristmasTreeFilled,
|
||||
ekonomiBerkelanjutan: IconTrendingUp,
|
||||
mencegahBencana: IconShieldFilled,
|
||||
rumah: IconHome,
|
||||
pohon: IconTree,
|
||||
air: IconDroplet,
|
||||
bantuan: IconCash,
|
||||
pelatihan: IconSchool,
|
||||
subsidi: IconShoppingCart,
|
||||
layananKesehatan: IconHospital,
|
||||
|
||||
// ===== Keamanan & Darurat =====
|
||||
polisi: IconShieldFilled,
|
||||
ambulans: IconAmbulance,
|
||||
pemadam: IconFiretruck,
|
||||
darurat: IconAlertTriangle,
|
||||
sar: IconLifebuoy,
|
||||
evakuasi: IconRun,
|
||||
keamanan: IconShield,
|
||||
teleponDarurat: IconPhoneCall,
|
||||
|
||||
// ===== Kesehatan =====
|
||||
rumahSakit: IconHospital,
|
||||
puskesmas: IconFirstAidKit,
|
||||
klinik: IconStethoscope,
|
||||
|
||||
// ===== Pemerintahan =====
|
||||
bangunan: IconBuilding,
|
||||
kantorDesa: IconBuildingCommunity,
|
||||
administrasi: IconFileText,
|
||||
informasi: IconInfoCircle,
|
||||
pengaduan: IconMessageReport,
|
||||
layananPublik: IconUsers,
|
||||
book: IconBook
|
||||
};
|
||||
|
||||
if (loading || !data) {
|
||||
return (
|
||||
|
||||
Reference in New Issue
Block a user