'use client' import beasiswaDesaState from '@/app/admin/(dashboard)/_state/pendidikan/beasiswa-desa'; import colors from '@/con/colors'; import { Box, Button, Center, Divider, Group, Image, Modal, Pagination, Paper, Select, SimpleGrid, Skeleton, Stack, Stepper, Text, TextInput, Title } from '@mantine/core'; import { useDisclosure, useShallowEffect } from '@mantine/hooks'; import { IconArrowRight, IconCoin, IconInfoCircle, IconSchool, IconUsers } from '@tabler/icons-react'; import { useTransitionRouter } from 'next-view-transitions'; import { useState } from 'react'; import { useProxy } from 'valtio/utils'; import BackButton from '../../desa/layanan/_com/BackButto'; const dataBeasiswa = [ { id: 1, nama: 'Penerima Beasiswa', jumlah: '250+', icon: IconUsers }, { id: 2, nama: 'Peluang Kelulusan', jumlah: '90%', icon: IconSchool }, { id: 3, nama: 'Dana Tersalurkan', jumlah: '1.5M', icon: IconCoin }, ]; function Page() { const beasiswaDesa = useProxy(beasiswaDesaState.beasiswaPendaftar) const ungggulanDesa = useProxy(beasiswaDesaState.keunggulanProgram) const [opened, { open, close }] = useDisclosure(false); const router = useTransitionRouter() const resetForm = () => { beasiswaDesa.create.form = { namaLengkap: "", nis: "", kelas: "", jenisKelamin: "", alamatDomisili: "", tempatLahir: "", tanggalLahir: "", namaOrtu: "", nik: "", pekerjaanOrtu: "", penghasilan: "", noHp: "", }; }; const { data, page, totalPages, loading, load } = ungggulanDesa.findMany; useShallowEffect(() => { load(page, 3, ""); }, [page]) const handleSubmit = async () => { await beasiswaDesa.create.create(); resetForm(); close(); }; const timeline = [ { label: "1 Maret 2025", desc: "Pembukaan Pendaftaran", date: new Date("2025-03-01") }, { label: "15 Maret 2025", desc: "Seleksi Administrasi", date: new Date("2025-03-15") }, { label: "1 April 2025", desc: "Tes Potensi Akademik", date: new Date("2025-04-01") }, { label: "15 April 2025", desc: "Wawancara", date: new Date("2025-04-15") }, { label: "1 Mei 2025", desc: "Pengumuman Hasil", date: new Date("2025-05-01") }, ]; const [active, setActive] = useState(1); useShallowEffect(() => { const today = new Date(); // cari berapa banyak tanggal yang sudah lewat const doneSteps = timeline.filter(item => today >= item.date).length; setActive(doneSteps); // active step diset sesuai tanggal }, []); if (loading || !data) { return ( ); } return ( Wujudkan Mimpi Pendidikanmu di Desa Darmasaba Program beasiswa untuk mendukung pendidikan berkualitas bagi generasi muda Desa Darmasaba. Beasiswa Desa {dataBeasiswa.map((v, k) => { const IconComp = v.icon; return ( {v.jumlah} {v.nama} ); })} Keunggulan Program {data.map((v, k) => ( {v.judul} ))}
{ load(newPage, 10); window.scrollTo({ top: 0, behavior: 'smooth' }); }} total={totalPages} mt="md" mb="md" color="blue" radius="md" />
Timeline Pendaftaran
{timeline.map((item, index) => ( ))}
Formulir Beasiswa } > { beasiswaDesa.create.form.namaLengkap = val.target.value }} /> { beasiswaDesa.create.form.nis = val.target.value }} /> { beasiswaDesa.create.form.kelas = val.target.value }} />