diff --git a/client/src/app/admin/page.tsx b/client/src/app/admin/page.tsx index 58d65577..910de29e 100644 --- a/client/src/app/admin/page.tsx +++ b/client/src/app/admin/page.tsx @@ -25,6 +25,7 @@ import AttendanceChart from "@/app/admin/AttendanceChart" interface DashboardData { totalUsers: number + communityUsers: number totalCommunities: number statistics: { weekly: { @@ -64,6 +65,11 @@ interface DashboardData { date: string memo: string }> + villagesWithoutAttendance: Array<{ + leader: { id: string; name: string } + villageId: number + villageName: string + }> lastUpdated: string } @@ -179,6 +185,26 @@ function index() { 등록된 인원 +
+ (장결 포함) +
+ + + + + + + + + + + + {dashboardData.communityUsers} + + + 등록된 인원 +
+ (장결 재외)
@@ -235,6 +261,46 @@ function index() { + + + 출석 미등록 마을 + + + {dashboardData.villagesWithoutAttendance.map((village) => ( + + + {village.villageName} + + + ))} + + {dashboardData.villagesWithoutAttendance.length === 0 && ( + + 없음 + + )} + + diff --git a/client/src/app/leader/newcomer/management/NewcomerFilter.tsx b/client/src/app/leader/newcomer/management/NewcomerFilter.tsx index 995ae49a..211e4d97 100644 --- a/client/src/app/leader/newcomer/management/NewcomerFilter.tsx +++ b/client/src/app/leader/newcomer/management/NewcomerFilter.tsx @@ -1,4 +1,4 @@ -import { Box, Button, MenuItem, Stack, TextField } from "@mui/material" +import { Box, Button, MenuItem, Select, Stack, TextField } from "@mui/material" interface NewcomerFilterProps { filterName: string @@ -36,15 +36,102 @@ export default function NewcomerFilter({ bgcolor="#fafafa" boxShadow="0 2px 4px rgba(0,0,0,0.1)" > - + - 필터 + 조회 조건 + + + + + 이름: + + setFilterName(e.target.value)} + variant="outlined" + sx={{ flex: 1 }} + /> + + + + + 성별: + + + + + + + 상태: + + + + + + + 생년: + + setFilterMinYear(e.target.value)} + variant="outlined" + type="number" + sx={{ width: "90px" }} + /> + + ~ + + setFilterMaxYear(e.target.value)} + variant="outlined" + type="number" + sx={{ width: "90px" }} + /> + +