import { Badge, Box, Card, Grid, GridCol, Group, List, Stack, Text, ThemeIcon, Title, useMantineColorScheme, } from "@mantine/core"; import { IconAlertTriangle, IconCamera, IconClock, IconEye, IconMapPin, IconShieldLock, } from "@tabler/icons-react"; import { useState } from "react"; const KeamananPage = () => { const { colorScheme } = useMantineColorScheme(); const dark = colorScheme === "dark"; // Sample data for KPI cards const kpiData = [ { title: "CCTV Aktif", value: 20, subtitle: "Kamera Online", icon: , color: "darmasaba-success", }, { title: "Laporan Keamanan", value: 15, subtitle: "Minggu ini", icon: , color: "darmasaba-danger", }, ]; // Sample data for CCTV locations const cctvLocations = [ { id: "CCTV-01", lat: -8.5, lng: 115.2, status: "active", lastSeen: "2 jam yang lalu", location: "Balai Desa", }, { id: "CCTV-02", lat: -8.6, lng: 115.3, status: "active", lastSeen: "1 jam yang lalu", location: "Pintu Masuk Desa", }, { id: "CCTV-03", lat: -8.4, lng: 115.1, status: "offline", lastSeen: "1 hari yang lalu", location: "Taman Desa", }, { id: "CCTV-04", lat: -8.7, lng: 115.4, status: "active", lastSeen: "30 menit yang lalu", location: "Pasar Desa", }, ]; // Sample data for security reports const securityReports = [ { id: "REP-001", title: "Pencurian Motor", reportedAt: "2 jam yang lalu", date: "12 Feb 2026, 14:30", location: "Jl. Kecubung 20", status: "baru", }, { id: "REP-002", title: "Kerusuhan Antar Warga", reportedAt: "4 jam yang lalu", date: "12 Feb 2026, 12:15", location: "RT 05 RW 02", status: "baru", }, { id: "REP-003", title: "Kebakaran Rumah", reportedAt: "1 hari yang lalu", date: "11 Feb 2026, 08:45", location: "Jl. Flamboyan 15", status: "diproses", }, { id: "REP-004", title: "Kehilangan Barang", reportedAt: "2 hari yang lalu", date: "10 Feb 2026, 16:20", location: "Taman Desa", status: "selesai", }, ]; return ( {/* Page Header */} Keamanan Lingkungan Desa {/* KPI Cards */} {kpiData.map((kpi, index) => ( {kpi.subtitle} {kpi.value} {kpi.title} {kpi.icon} ))} {/* Peta Keamanan CCTV */} Peta Keamanan CCTV Titik Lokasi CCTV {/* Placeholder for map */} Peta Lokasi CCTV Integrasi dengan Google Maps atau Mapbox akan ditampilkan di sini {/* CCTV Locations List */} Daftar CCTV {cctvLocations.map((cctv, index) => ( {cctv.id} {cctv.status === "active" ? "Online" : "Offline"} {cctv.location} {cctv.lastSeen} ))} {/* Daftar Laporan Keamanan */} Laporan Keamanan Lingkungan {securityReports.map((report, index) => ( {report.title} {report.status} {report.location} {report.reportedAt} {report.date} ))} ); }; export default KeamananPage;