refactor(kependudukan): improve TypeScript types and clean up code

- Add proper TypeScript interfaces for seeder files
- Rename MigrasiPendudukForm interface for consistency
- Separate asal/tujuan fields in MigrasiPenduduk API based on jenis
- Remove unnecessary eslint-disable comments
- Add local type definitions for public kependudukan pages
- Clean up unused imports (React, Flex, IconBuilding)
- Improve type safety in form handlers (handleChangeText vs handleChangeSelect)
- Add explicit type casting where needed to fix type errors

Co-authored-by: Qwen Code

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
2026-04-13 15:00:33 +08:00
parent d84edc44f5
commit 80186bf493
28 changed files with 213 additions and 134 deletions

View File

@@ -1,8 +1,7 @@
'use client'
import colors from '@/con/colors';
import { Stack, Box, Paper, Text, Title, SimpleGrid, Skeleton, Group, Badge, Center, Image } from '@mantine/core';
import { Stack, Box, Paper, Text, Title, SimpleGrid, Skeleton, Group, Badge, Center } from '@mantine/core';
import { IconUsers, IconHome, IconBasket, IconCoin, IconDatabaseOff } from '@tabler/icons-react';
import React from 'react';
import BackButton from '../../desa/layanan/_com/BackButto';
import { useProxy } from 'valtio/utils';
import kependudukanDashboard from '@/app/admin/(dashboard)/_state/kependudukan/dashboard';

View File

@@ -2,7 +2,6 @@
import colors from '@/con/colors';
import { Stack, Box, Paper, Text, Title, Skeleton, Table, Center } from '@mantine/core';
import { IconDatabaseOff } from '@tabler/icons-react';
import React from 'react';
import BackButton from '../../desa/layanan/_com/BackButto';
import { useProxy } from 'valtio/utils';
import dataBanjar from '@/app/admin/(dashboard)/_state/kependudukan/data-banjar';
@@ -15,7 +14,16 @@ function Page() {
state.findMany.load()
}, [])
const data = state.findMany.data || [];
interface DataBanjarItem {
id: string;
nama: string;
penduduk: number;
kk: number;
miskin: number;
tahun: number;
}
const data = (state.findMany.data as DataBanjarItem[]) || [];
if (state.findMany.loading) {
return (

View File

@@ -2,7 +2,6 @@
import colors from '@/con/colors';
import { Stack, Box, Paper, Text, Title, Skeleton, Flex, ColorSwatch, Center } from '@mantine/core';
import { IconDatabaseOff } from '@tabler/icons-react';
import React from 'react';
import BackButton from '../../desa/layanan/_com/BackButto';
import { useProxy } from 'valtio/utils';
import distribusiAgama from '@/app/admin/(dashboard)/_state/kependudukan/distribusi-agama';
@@ -16,7 +15,14 @@ function Page() {
state.findMany.load()
}, [])
const data = state.findMany.data || [];
interface DistribusiAgamaItem {
id: string;
agama: string;
jumlah: number;
tahun: number;
}
const data = (state.findMany.data as DistribusiAgamaItem[]) || [];
if (state.findMany.loading) {
return (

View File

@@ -2,7 +2,6 @@
import colors from '@/con/colors';
import { Stack, Box, Paper, Text, Title, Skeleton, Center } from '@mantine/core';
import { IconDatabaseOff } from '@tabler/icons-react';
import React from 'react';
import BackButton from '../../desa/layanan/_com/BackButto';
import { useProxy } from 'valtio/utils';
import distribusiUmur from '@/app/admin/(dashboard)/_state/kependudukan/distribusi-umur';
@@ -16,7 +15,14 @@ function Page() {
state.findMany.load()
}, [])
const data = state.findMany.data || [];
interface DistribusiUmurItem {
id: string;
rentangUmur: string;
jumlah: number;
tahun: number;
}
const data = (state.findMany.data as DistribusiUmurItem[]) || [];
if (state.findMany.loading) {
return (