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;