diff --git a/src/components/keamanan-page.tsx b/src/components/keamanan-page.tsx
index 8937a27..6453ae1 100644
--- a/src/components/keamanan-page.tsx
+++ b/src/components/keamanan-page.tsx
@@ -5,22 +5,18 @@ import {
Grid,
GridCol,
Group,
- List,
Stack,
Text,
ThemeIcon,
Title,
- useMantineColorScheme,
+ useMantineColorScheme
} from "@mantine/core";
import {
IconAlertTriangle,
IconCamera,
IconClock,
- IconEye,
- IconMapPin,
- IconShieldLock,
+ IconMapPin
} from "@tabler/icons-react";
-import { useState } from "react";
const KeamananPage = () => {
const { colorScheme } = useMantineColorScheme();
@@ -125,8 +121,6 @@ const KeamananPage = () => {
-
-
{/* Peta Keamanan CCTV */}
@@ -149,7 +143,11 @@ const KeamananPage = () => {
{kpi.subtitle}
-
+
{kpi.value}
@@ -265,10 +263,6 @@ const KeamananPage = () => {
style={{ borderColor: dark ? "#141D34" : "white" }}
h="100%"
>
-
- Laporan Keamanan Lingkungan
-
-
{securityReports.map((report, index) => (
{
return (
-
+
-
- Manajemen Tim
-
-
-
+ Manajemen Tim
+
+
- Daftar Anggota Teraktif
- 12 Anggota
+
+ Daftar Anggota Teraktif
+
+
+ 12 Anggota
+
-
- Hak Akses
-
+ Hak Akses
- Administrator
- 2 Orang
+
+ Administrator
+
+
+ 2 Orang
+
- Editor
- 5 Orang
+
+ Editor
+
+
+ 5 Orang
+
- Viewer
- 5 Orang
+
+ Viewer
+
+
+ 5 Orang
+
-
- Kolaborasi
-
+ Kolaborasi
- Izin Export Data
+
+ Izin Export Data
+
- Require Approval Untuk Perubahan
+
+ Require Approval Untuk Perubahan
+
diff --git a/src/components/pengaturan/keamanan.tsx b/src/components/pengaturan/keamanan.tsx
index 56b25dd..25cb68b 100644
--- a/src/components/pengaturan/keamanan.tsx
+++ b/src/components/pengaturan/keamanan.tsx
@@ -1,58 +1,57 @@
-import {
- Button,
- Box,
- Group,
- Stack,
- Switch,
- Text,
- Title
-} from "@mantine/core";
+import { Box, Button, Group, Stack, Switch, Text, Title } from "@mantine/core";
const KeamananSettings = () => {
return (
-
+
-
- Autentikasi
-
+ Autentikasi
- Two-Factor Authentication
+
+ Two-Factor Authentication
+
- Biometrik Login
+
+ Biometrik Login
+
- IP Whitelist
+
+ IP Whitelist
+
-
- Password
-
-
-
-
+ Password
+
+
+
-
- Audit & Log
-
+ Audit & Log
- Log Aktivitas
+
+ Log Aktivitas
+
-
+
diff --git a/src/components/pengaturan/notifikasi.tsx b/src/components/pengaturan/notifikasi.tsx
index 3b81c30..3f3adfd 100644
--- a/src/components/pengaturan/notifikasi.tsx
+++ b/src/components/pengaturan/notifikasi.tsx
@@ -20,30 +20,35 @@ const NotifikasiSettings = () => {
const { colorScheme } = useMantineColorScheme();
const dark = colorScheme === "dark";
return (
-
-
+
+
Metode Notifikasi
- Laporan Harian
+
+ Laporan Harian
+
- Alert Sistem
+
+ Alert Sistem
+
- Update Keamanan
+
+ Update Keamanan
+
- Newsletter Bulanan
+
+ Newsletter Bulanan
+
@@ -54,15 +59,21 @@ const NotifikasiSettings = () => {
Preferensi Alert
- Treshold Memori
+
+ Treshold Memori
+
- Treshold CPU
+
+ Treshold CPU
+
- Treshold Disk
+
+ Treshold Disk
+
@@ -73,19 +84,27 @@ const NotifikasiSettings = () => {
Notifikasi Push
- Alert Kritis
+
+ Alert Kritis
+
- Aktivitas Tim
+
+ Aktivitas Tim
+
- Komentar & Mention
+
+ Komentar & Mention
+
- Bunyi Notifikasi
+
+ Bunyi Notifikasi
+
diff --git a/src/components/pengaturan/umum.tsx b/src/components/pengaturan/umum.tsx
index f7482a5..582e045 100644
--- a/src/components/pengaturan/umum.tsx
+++ b/src/components/pengaturan/umum.tsx
@@ -1,19 +1,9 @@
-import {
- Box,
- Button,
- Group,
- Select,
- Switch,
- Text,
- Title,
-} from "@mantine/core";
+import { Box, Button, Group, Select, Switch, Text, Title } from "@mantine/core";
import { DateInput } from "@mantine/dates";
const UmumSettings = () => {
return (
-
+
Preferensi Tampilan
@@ -39,22 +29,23 @@ const UmumSettings = () => {
mb="md"
/>
-
+
Dashboard
- Refresh Otomatis
+
+ Refresh Otomatis
+
- Interval Refresh
+
+ Interval Refresh
+
- Tampilkan Grid
+
+ Tampilkan Grid
+
- Animasi Transisi
+
+ Animasi Transisi
+
diff --git a/src/components/sosial-page.tsx b/src/components/sosial-page.tsx
index 24c2fd6..fa86972 100644
--- a/src/components/sosial-page.tsx
+++ b/src/components/sosial-page.tsx
@@ -1,10 +1,10 @@
import { Grid, GridCol, Stack } from "@mantine/core";
-import { SummaryCards } from "./sosial/summary-cards";
-import { HealthStats } from "./sosial/health-stats";
-import { PosyanduSchedule } from "./sosial/posyandu-schedule";
-import { Pendidikan } from "./sosial/pendidikan";
import { Beasiswa } from "./sosial/beasiswa";
import { EventCalendar } from "./sosial/event-calendar";
+import { HealthStats } from "./sosial/health-stats";
+import { Pendidikan } from "./sosial/pendidikan";
+import { PosyanduSchedule } from "./sosial/posyandu-schedule";
+import { SummaryCards } from "./sosial/summary-cards";
const SosialPage = () => {
return (
diff --git a/src/components/sosial/beasiswa.tsx b/src/components/sosial/beasiswa.tsx
index 79ab93c..8b8905d 100644
--- a/src/components/sosial/beasiswa.tsx
+++ b/src/components/sosial/beasiswa.tsx
@@ -1,5 +1,12 @@
-import { Card, Group, Stack, Text, ThemeIcon, Title } from "@mantine/core";
-import { useMantineColorScheme } from "@mantine/core";
+import {
+ Card,
+ Group,
+ Stack,
+ Text,
+ ThemeIcon,
+ Title,
+ useMantineColorScheme,
+} from "@mantine/core";
import { IconAward } from "@tabler/icons-react";
interface ScholarshipData {
diff --git a/src/components/sosial/event-calendar.tsx b/src/components/sosial/event-calendar.tsx
index 92d72ee..fcd3aeb 100644
--- a/src/components/sosial/event-calendar.tsx
+++ b/src/components/sosial/event-calendar.tsx
@@ -1,5 +1,12 @@
-import { Card, Group, Stack, Text, Title, ThemeIcon } from "@mantine/core";
-import { useMantineColorScheme } from "@mantine/core";
+import {
+ Card,
+ Group,
+ Stack,
+ Text,
+ ThemeIcon,
+ Title,
+ useMantineColorScheme,
+} from "@mantine/core";
import { IconCalendarEvent } from "@tabler/icons-react";
interface EventItem {
diff --git a/src/components/sosial/health-stats.tsx b/src/components/sosial/health-stats.tsx
index 8dca29d..c165265 100644
--- a/src/components/sosial/health-stats.tsx
+++ b/src/components/sosial/health-stats.tsx
@@ -1,5 +1,12 @@
-import { Card, Group, Progress, Stack, Text, Title } from "@mantine/core";
-import { useMantineColorScheme } from "@mantine/core";
+import {
+ Card,
+ Group,
+ Progress,
+ Stack,
+ Text,
+ Title,
+ useMantineColorScheme,
+} from "@mantine/core";
interface HealthProgressItem {
label: string;
@@ -32,7 +39,7 @@ export const HealthStats = ({ data }: HealthStatsProps) => {
shadow="sm"
bg={dark ? "#141D34" : "white"}
style={{ borderColor: dark ? "#141D34" : "#e5e7eb" }}
- h={'100%'}
+ h={"100%"}
>
Statistik Kesehatan
diff --git a/src/components/sosial/pendidikan.tsx b/src/components/sosial/pendidikan.tsx
index b3afc60..c9c584f 100644
--- a/src/components/sosial/pendidikan.tsx
+++ b/src/components/sosial/pendidikan.tsx
@@ -1,5 +1,11 @@
-import { Card, Group, Stack, Text, Title } from "@mantine/core";
-import { useMantineColorScheme } from "@mantine/core";
+import {
+ Card,
+ Group,
+ Stack,
+ Text,
+ Title,
+ useMantineColorScheme,
+} from "@mantine/core";
interface EducationData {
siswa: {
diff --git a/src/components/sosial/posyandu-schedule.tsx b/src/components/sosial/posyandu-schedule.tsx
index e180c4d..6d86c3c 100644
--- a/src/components/sosial/posyandu-schedule.tsx
+++ b/src/components/sosial/posyandu-schedule.tsx
@@ -1,5 +1,12 @@
-import { Badge, Card, Group, Stack, Text, Title } from "@mantine/core";
-import { useMantineColorScheme } from "@mantine/core";
+import {
+ Badge,
+ Card,
+ Group,
+ Stack,
+ Text,
+ Title,
+ useMantineColorScheme,
+} from "@mantine/core";
interface PosyanduItem {
id: string;
diff --git a/src/components/sosial/summary-cards.tsx b/src/components/sosial/summary-cards.tsx
index 1268969..cb6bc19 100644
--- a/src/components/sosial/summary-cards.tsx
+++ b/src/components/sosial/summary-cards.tsx
@@ -1,5 +1,13 @@
-import { Card, Grid, GridCol, Group, Stack, Text, ThemeIcon } from "@mantine/core";
-import { useMantineColorScheme } from "@mantine/core";
+import {
+ Card,
+ Grid,
+ GridCol,
+ Group,
+ Stack,
+ Text,
+ ThemeIcon,
+ useMantineColorScheme,
+} from "@mantine/core";
import {
IconBabyCarriage,
IconHeartbeat,
@@ -93,8 +101,8 @@ export const SummaryCards = ({ data }: SummaryCardsProps) => {
value={displayData.ibuHamil}
subtitle="Aktif"
icon={}
- color= "white"
- backgroundColor= "#1E3A5F"
+ color="white"
+ backgroundColor="#1E3A5F"
/>
@@ -103,8 +111,8 @@ export const SummaryCards = ({ data }: SummaryCardsProps) => {
value={displayData.balita}
subtitle="Terdaftar"
icon={}
- color= "white"
- backgroundColor= "#1E3A5F"
+ color="white"
+ backgroundColor="#1E3A5F"
/>
@@ -113,8 +121,8 @@ export const SummaryCards = ({ data }: SummaryCardsProps) => {
value={displayData.alertStunting}
subtitle="Perhatian"
icon={}
- color= "white"
- backgroundColor= "#1E3A5F"
+ color="white"
+ backgroundColor="#1E3A5F"
/>
@@ -123,8 +131,8 @@ export const SummaryCards = ({ data }: SummaryCardsProps) => {
value={displayData.posyanduAktif}
subtitle="Aktif"
icon={}
- color= "white"
- backgroundColor= "#1E3A5F"
+ color="white"
+ backgroundColor="#1E3A5F"
/>
diff --git a/src/components/ui/help-card.tsx b/src/components/ui/help-card.tsx
index 30f1351..e17a01e 100644
--- a/src/components/ui/help-card.tsx
+++ b/src/components/ui/help-card.tsx
@@ -51,9 +51,7 @@ export const HelpCard = ({
{icon && (
{
+const KpiCard = ({
+ title,
+ value,
+ subtitle,
+ icon,
+ color,
+ backgroundColor,
+}: KpiCardProps) => {
const { colorScheme } = useMantineColorScheme();
const dark = colorScheme === "dark";
@@ -108,7 +115,7 @@ export const SummaryCards = ({ data }: SummaryCardsProps) => {
subtitle: "Beroperasi",
icon: ,
color: "white",
- backgroundColor: "#1E3A5F"
+ backgroundColor: "#1E3A5F",
},
{
title: "UMKM Terdaftar",
@@ -116,7 +123,7 @@ export const SummaryCards = ({ data }: SummaryCardsProps) => {
subtitle: "Total registrasi",
icon: ,
color: "white",
- backgroundColor: "#1E3A5F"
+ backgroundColor: "#1E3A5F",
},
{
title: "Omzet",
@@ -124,7 +131,7 @@ export const SummaryCards = ({ data }: SummaryCardsProps) => {
subtitle: "Omzet BUMDes per bulan",
icon: ,
color: "white",
- backgroundColor: "#1E3A5F"
+ backgroundColor: "#1E3A5F",
},
{
title: "UMKM Terbanyak",
@@ -132,7 +139,7 @@ export const SummaryCards = ({ data }: SummaryCardsProps) => {
subtitle: `Kategori ${displayData.kategoriTerbanyak.name}`,
icon: ,
color: "white",
- backgroundColor: "#1E3A5F"
+ backgroundColor: "#1E3A5F",
},
];