From fced7d4c1c35bc42aec9d209f502312f278f9ded Mon Sep 17 00:00:00 2001 From: amaliadwiy Date: Tue, 12 May 2026 14:10:29 +0800 Subject: [PATCH] feat: show isDummy flag on village detail and list pages --- .../apps.$appId.villages.$villageId.tsx | 32 ++++++++++++++++--- .../routes/apps.$appId.villages.index.tsx | 20 ++++++++++-- 2 files changed, 45 insertions(+), 7 deletions(-) diff --git a/src/frontend/routes/apps.$appId.villages.$villageId.tsx b/src/frontend/routes/apps.$appId.villages.$villageId.tsx index 7e3e5b9..a34abc4 100644 --- a/src/frontend/routes/apps.$appId.villages.$villageId.tsx +++ b/src/frontend/routes/apps.$appId.villages.$villageId.tsx @@ -1,5 +1,6 @@ import { AreaChart } from '@mantine/charts' import { + Badge, Box, Button, Card, @@ -10,6 +11,7 @@ import { SegmentedControl, SimpleGrid, Stack, + Switch, Text, Textarea, TextInput, @@ -31,6 +33,7 @@ import { TbLayoutKanban, TbMapPin, TbPower, + TbTestPipe, TbUser, TbUsers, TbUsersGroup, @@ -153,7 +156,7 @@ function VillageDetailPage() { const [editModalOpened, { open: openEditModal, close: closeEditModal }] = useDisclosure(false) const [isUpdating, setIsUpdating] = useState(false) const [isEditing, setIsEditing] = useState(false) - const [editForm, setEditForm] = useState({ name: '', desc: '' }) + const [editForm, setEditForm] = useState({ name: '', desc: '', isDummy: false }) const village = infoRes?.data const stats = gridRes?.data @@ -161,7 +164,8 @@ function VillageDetailPage() { const openEdit = () => { setEditForm({ name: village?.name || '', - desc: village?.desc || '' + desc: village?.desc || '', + isDummy: village?.isDummy ?? false, }) openEditModal() } @@ -188,7 +192,8 @@ function VillageDetailPage() { body: JSON.stringify({ id: village.id, name: editForm.name, - desc: editForm.desc + desc: editForm.desc, + isDummy: editForm.isDummy, }) }) @@ -361,7 +366,20 @@ function VillageDetailPage() { - {village.name} + + {village.name} + {village.isDummy && ( + } + style={{ textTransform: 'none' }} + > + Dummy + + )} + @@ -526,6 +544,12 @@ function VillageDetailPage() { value={editForm.desc} onChange={(e) => setEditForm(prev => ({ ...prev, desc: e.currentTarget.value }))} /> + setEditForm(prev => ({ ...prev, isDummy: e.currentTarget.checked }))} + />