'use client' import colors from '@/con/colors'; import { Box, Button, Group, Paper, Stack, Text, TextInput, Title, Tooltip, } from '@mantine/core'; import { IconArrowBack } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; import { useProxy } from 'valtio/utils'; import CreateEditor from '../../../_com/createEditor'; import pencegahanKriminalitasState from '../../../_state/keamanan/pencegahan-kriminalitas'; import { useState } from 'react'; import { convertYoutubeUrlToEmbed } from '../../../desa/gallery/lib/youtube-utils'; import { toast } from 'react-toastify'; function CreatePencegahanKriminalitas() { const router = useRouter(); const kriminalitasState = useProxy(pencegahanKriminalitasState); const [link, setLink] = useState(''); const embedLink = convertYoutubeUrlToEmbed(link); const resetForm = () => { kriminalitasState.create.form = { judul: "", deskripsi: "", deskripsiSingkat: "", linkVideo: "", }; setLink(''); }; const handleSubmit = async () => { if (!embedLink) { toast.error('Link YouTube tidak valid. Pastikan formatnya benar.'); return; } kriminalitasState.create.form.linkVideo = embedLink; await kriminalitasState.create.create(); resetForm(); router.push('/admin/keamanan/pencegahan-kriminalitas'); }; return ( {/* Header Back Button + Title */} Tambah Pencegahan Kriminalitas {/* Card Form */} {/* Judul */} { kriminalitasState.create.form.judul = e.currentTarget.value; }} required /> {/* Deskripsi Singkat */} Deskripsi Singkat { kriminalitasState.create.form.deskripsiSingkat = val; }} /> {/* Deskripsi Panjang */} Deskripsi { kriminalitasState.create.form.deskripsi = val; }} /> {/* Link YouTube */} setLink(e.currentTarget.value)} required /> {/* Preview Video */} {embedLink && ( )} {/* Button Submit */} ); } export default CreatePencegahanKriminalitas;