/* eslint-disable react-hooks/exhaustive-deps */
'use client'
import pencegahanKriminalitasState from '@/app/admin/(dashboard)/_state/keamanan/pencegahan-kriminalitas';
import colors from '@/con/colors';
import { Box, Button, Center, Paper, SimpleGrid, Skeleton, Stack, Text } from '@mantine/core';
import { useShallowEffect } from '@mantine/hooks';
import { IconArrowRight } from '@tabler/icons-react';
import { useTransitionRouter } from 'next-view-transitions';
import { useEffect } from 'react';
import { useProxy } from 'valtio/utils';
function Page() {
const kriminalitasState = useProxy(pencegahanKriminalitasState);
const findFirst = useProxy(pencegahanKriminalitasState.findFirst);
const router = useTransitionRouter();
const {
data,
loading,
page,
load,
} = kriminalitasState.findMany;
useEffect(() => {
if (!findFirst.data && !findFirst.loading) {
kriminalitasState.findFirst.load();
}
}, [findFirst.data, findFirst.loading]);
useShallowEffect(() => {
const LIMIT = 3;
load(page, LIMIT);
}, [page]);
if (loading || !data) {
return (
)
}
return (
Pencegahan Kriminalitas
Keamanan Komunitas & Pencegahan Kriminal
Program Keamanan Berjalan
{data.length > 0 ? (
data.map((item) => (
{item.judul}
))
) : (
Tidak ada data pencegahan kriminalitas yang cocok
)}
}
onClick={() => router.push(`/darmasaba/keamanan/pencegahan-kriminalitas/program-lainnya`)}
>
Jelajahi Program Lainnya
{findFirst.loading ? (
) : findFirst.data ? (
{findFirst.data?.linkVideo ? (
) : (
Tidak ada video
)}
{findFirst.data?.judul}
{findFirst.data?.deskripsiSingkat}
) : null}
);
function convertToEmbedUrl(youtubeUrl: string): string {
try {
const url = new URL(youtubeUrl);
const videoId = url.searchParams.get("v");
if (!videoId) return youtubeUrl;
return `https://www.youtube.com/embed/${videoId}`;
} catch (err) {
console.error("Error converting YouTube URL to embed:", err);
return youtubeUrl;
}
}
}
export default Page;