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

99 lines
2.7 KiB
TypeScript

"use client";
import { RouterHome } from "@/app/lib/router_hipmi/router_home";
import { RouterVote } from "@/app/lib/router_hipmi/router_vote";
import { MainColor } from "@/app_modules/_global/color/color_pallet";
import { ComponentGlobal_NotifikasiPeringatan } from "@/app_modules/_global/notif_global/notifikasi_peringatan";
import UIGlobal_LayoutHeaderTamplate from "@/app_modules/_global/ui/ui_header_tamplate";
import UIGlobal_LayoutTamplate from "@/app_modules/_global/ui/ui_layout_tamplate";
import { ActionIcon, SimpleGrid, Stack, Text } from "@mantine/core";
import {
IconClick,
IconHistory,
IconHome,
IconReservedLine,
} from "@tabler/icons-react";
import { useAtom } from "jotai";
import { useRouter } from "next/navigation";
import React from "react";
import { gs_vote_hotMenu } from "../global_state";
export default function LayoutVote_Main({
children,
}: {
children: React.ReactNode;
}) {
const router = useRouter();
const [hotMenu, setHotMenu] = useAtom(gs_vote_hotMenu);
const listFooter = [
{
id: 1,
name: "Beranda",
path: RouterVote.beranda,
icon: <IconHome />,
},
{
id: 2,
name: "Status",
path: RouterVote.status({ id: "1" }),
icon: <IconReservedLine />,
},
{
id: 3,
name: "Kontribusi",
path: RouterVote.kontribusi,
icon: <IconClick />,
},
{
id: 4,
name: "Riwayat",
path: RouterVote.riwayat({ id: "1" }),
icon: <IconHistory />,
},
];
return (
<>
<UIGlobal_LayoutTamplate
header={
<UIGlobal_LayoutHeaderTamplate
title="Voting"
routerLeft={RouterHome.main_home}
/>
}
footer={
<SimpleGrid cols={4} h={"9vh"} mx={"xs"}>
{listFooter.map((e, i) => (
<Stack key={i} align="center" justify="center" spacing={0}>
<ActionIcon
// disabled={e.path === "" ? true : false}
variant="transparent"
c={hotMenu === e.id ? MainColor.yellow : "white"}
onClick={() =>
e.path === ""
? ComponentGlobal_NotifikasiPeringatan("Cooming Soon")
: (router.replace(e.path), setHotMenu(e.id))
}
>
{e.icon}
</ActionIcon>
<Text
c={hotMenu === e.id ? MainColor.yellow : "white"}
fz={"xs"}
lineClamp={1}
>
{e.name}
</Text>
</Stack>
))}
</SimpleGrid>
}
>
{children}
</UIGlobal_LayoutTamplate>
</>
);
}