Files
hipmi/src/app_modules/vote/component/card_view_status.tsx
Bagasbanuna02 e5e36a3889 Fix: voting status
Deskripsi:
- Perubahan router status & riwayat
2024-10-29 14:10:46 +08:00

69 lines
2.0 KiB
TypeScript

"use client";
import { AccentColor } from "@/app_modules/_global/color/color_pallet";
import { ComponentGlobal_NotifikasiPeringatan } from "@/app_modules/_global/notif_global/notifikasi_peringatan";
import { Badge, Card, Group, Stack, Text } from "@mantine/core";
import { useRouter } from "next/navigation";
import { MODEL_VOTING } from "../model/interface";
import { useState } from "react";
import { ComponentGlobal_CardLoadingOverlay, ComponentGlobal_CardStyles } from "@/app_modules/_global/component";
export default function ComponentVote_CardViewStatus({
path,
data,
}: {
path?: string;
data?: MODEL_VOTING;
}) {
const router = useRouter();
const [visible, setVisible] = useState(false);
return (
<>
<ComponentGlobal_CardStyles
onClickHandler={() => {
if (data?.id === undefined) {
ComponentGlobal_NotifikasiPeringatan("Path tidak ditemukan");
} else {
setVisible(true);
router.push((path as string) + data?.id);
}
}}
>
{/* Isi deskripsi */}
<Stack px={"xs"} align="center">
<Text fw={"bold"} lineClamp={1} align="center">
{data?.title}
</Text>
<Badge
// size="md"
styles={{
root: {
backgroundColor: AccentColor.blue,
border: `1px solid ${AccentColor.skyblue}`,
color: "white",
width: "80%",
},
}}
>
<Group>
<Text>
{data?.awalVote.toLocaleDateString(["id-ID"], {
dateStyle: "medium",
})}
</Text>
<Text>-</Text>
<Text>
{data?.akhirVote.toLocaleDateString(["id-ID"], {
dateStyle: "medium",
})}
</Text>
</Group>
</Badge>
</Stack>
{visible && <ComponentGlobal_CardLoadingOverlay />}
</ComponentGlobal_CardStyles>
</>
);
}