fix ui event
This commit is contained in:
3
.gitignore
vendored
3
.gitignore
vendored
@@ -64,4 +64,5 @@ certificates/
|
|||||||
*.swo
|
*.swo
|
||||||
*.swn
|
*.swn
|
||||||
.DS_Store
|
.DS_Store
|
||||||
Thumbs.db
|
Thumbs.db
|
||||||
|
.qodo
|
||||||
|
|||||||
@@ -1,8 +1,15 @@
|
|||||||
import { LayoutEvent_Main } from "@/app_modules/event";
|
import { LayoutEvent_Main } from "@/app_modules/event";
|
||||||
|
import NewLayout_Event from "@/app_modules/event/main/new_layout_event";
|
||||||
import React from "react";
|
import React from "react";
|
||||||
|
|
||||||
export default async function Layout({children}:{children: React.ReactNode}) {
|
export default async function Layout({
|
||||||
return<>
|
children,
|
||||||
<LayoutEvent_Main>{children}</LayoutEvent_Main>
|
}: {
|
||||||
|
children: React.ReactNode;
|
||||||
|
}) {
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<NewLayout_Event>{children}</NewLayout_Event>
|
||||||
</>
|
</>
|
||||||
}
|
);
|
||||||
|
}
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
|
|
||||||
import {
|
import {
|
||||||
Badge,
|
Badge,
|
||||||
|
Box,
|
||||||
Button,
|
Button,
|
||||||
Card,
|
Card,
|
||||||
Group,
|
Group,
|
||||||
@@ -26,10 +27,16 @@ export default function ViewV2() {
|
|||||||
Aplikasi dengan layout yang dioptimalkan untuk tampilan mobile
|
Aplikasi dengan layout yang dioptimalkan untuk tampilan mobile
|
||||||
</Text>
|
</Text>
|
||||||
|
|
||||||
|
|
||||||
<Stack spacing="md">
|
<Stack spacing="md">
|
||||||
{[...Array(5)].map((_, index) => (
|
{[...Array(5)].map((_, index) => (
|
||||||
<Card opacity={0.3} key={index} shadow="sm" padding="md" radius="md" withBorder>
|
<Card
|
||||||
|
opacity={0.3}
|
||||||
|
key={index}
|
||||||
|
shadow="sm"
|
||||||
|
padding="md"
|
||||||
|
radius="md"
|
||||||
|
withBorder
|
||||||
|
>
|
||||||
<Card.Section>
|
<Card.Section>
|
||||||
<Image
|
<Image
|
||||||
src={`/api/placeholder/400/200`}
|
src={`/api/placeholder/400/200`}
|
||||||
@@ -63,6 +70,26 @@ export default function ViewV2() {
|
|||||||
))}
|
))}
|
||||||
</Stack>
|
</Stack>
|
||||||
|
|
||||||
|
<Stack spacing="md">
|
||||||
|
{[...Array(5)].map((_, index) => (
|
||||||
|
<Box key={index} mb="xl" h="100px" bg={"gray"}>
|
||||||
|
Test
|
||||||
|
</Box>
|
||||||
|
))}
|
||||||
|
</Stack>
|
||||||
|
|
||||||
|
{[...Array(5)].map((_, index) => (
|
||||||
|
<div
|
||||||
|
key={index}
|
||||||
|
style={{
|
||||||
|
backgroundColor: "gray",
|
||||||
|
marginBottom: "15px",
|
||||||
|
height: "100px",
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
Test
|
||||||
|
</div>
|
||||||
|
))}
|
||||||
|
|
||||||
<Paper
|
<Paper
|
||||||
shadow="md"
|
shadow="md"
|
||||||
@@ -84,7 +111,6 @@ export default function ViewV2() {
|
|||||||
Klaim Sekarang
|
Klaim Sekarang
|
||||||
</Button>
|
</Button>
|
||||||
</Paper>
|
</Paper>
|
||||||
|
|
||||||
</Stack>
|
</Stack>
|
||||||
</ClientLayout>
|
</ClientLayout>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
"use client"
|
||||||
|
|
||||||
import { ActionIcon, Box, Group, Title, Loader } from "@mantine/core";
|
import { ActionIcon, Box, Group, Title, Loader } from "@mantine/core";
|
||||||
import { useRouter } from "next/navigation";
|
import { useRouter } from "next/navigation";
|
||||||
import { useState } from "react";
|
import { useState } from "react";
|
||||||
@@ -41,7 +43,6 @@ export function Component_Header({
|
|||||||
w={"100%"}
|
w={"100%"}
|
||||||
h={"100%"}
|
h={"100%"}
|
||||||
position={posotion ? posotion : "apart"}
|
position={posotion ? posotion : "apart"}
|
||||||
px={"md"}
|
|
||||||
>
|
>
|
||||||
{hideButtonLeft ? (
|
{hideButtonLeft ? (
|
||||||
<ActionIcon disabled variant="transparent"></ActionIcon>
|
<ActionIcon disabled variant="transparent"></ActionIcon>
|
||||||
|
|||||||
@@ -49,12 +49,11 @@ export default function UIGlobal_LayoutHeaderTamplate({
|
|||||||
<>
|
<>
|
||||||
<Box
|
<Box
|
||||||
h={"8vh"}
|
h={"8vh"}
|
||||||
// w={"100%"}
|
style={{
|
||||||
// pos={"sticky"}
|
borderBottom: `1px solid ${AccentColor.blue}`,
|
||||||
// top={0}
|
borderBottomLeftRadius: "10px",
|
||||||
// style={{
|
borderBottomRightRadius: "10px",
|
||||||
// zIndex: 10,
|
}}
|
||||||
// }}
|
|
||||||
sx={{
|
sx={{
|
||||||
borderStyle: "none",
|
borderStyle: "none",
|
||||||
}}
|
}}
|
||||||
@@ -85,14 +84,9 @@ export default function UIGlobal_LayoutHeaderTamplate({
|
|||||||
) : (
|
) : (
|
||||||
<IconChevronLeft />
|
<IconChevronLeft />
|
||||||
)} */}
|
)} */}
|
||||||
|
|
||||||
|
|
||||||
{/* GA PAKE LOADING SAAT KLIK BACK */}
|
{/* GA PAKE LOADING SAAT KLIK BACK */}
|
||||||
{iconLeft ? (
|
{iconLeft ? iconLeft : <IconChevronLeft />}
|
||||||
iconLeft
|
|
||||||
) : (
|
|
||||||
<IconChevronLeft />
|
|
||||||
)}
|
|
||||||
</ActionIcon>
|
</ActionIcon>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
|
|||||||
@@ -32,17 +32,17 @@ export default function UIGlobal_LayoutTamplate({
|
|||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<Container mih={"100vh"} p={0} size={rem(500)} bg={MainColor.darkblue}>
|
<Container mih={"100vh"} p={0} size={rem(500)} bg={MainColor.darkblue}>
|
||||||
<BackgroundImage
|
{/* <BackgroundImage
|
||||||
src={"/aset/global/main_background.png"}
|
src={"/aset/global/main_background.png"}
|
||||||
h={"100vh"}
|
h={"100vh"}
|
||||||
style={{ position: "relative" }}
|
style={{ position: "relative" }}
|
||||||
>
|
> */}
|
||||||
<UIHeader header={header} />
|
<UIHeader header={header} />
|
||||||
|
|
||||||
<UIChildren footer={footer}>{children}</UIChildren>
|
<UIChildren footer={footer}>{children}</UIChildren>
|
||||||
|
|
||||||
<UIFooter footer={footer} />
|
<UIFooter footer={footer} />
|
||||||
</BackgroundImage>
|
{/* </BackgroundImage> */}
|
||||||
</Container>
|
</Container>
|
||||||
</Box>
|
</Box>
|
||||||
</>
|
</>
|
||||||
@@ -78,7 +78,7 @@ export function UIChildren({
|
|||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<Box style={{ zIndex: 0 }} h={footer ? "82vh" : "92vh"} pos={"static"}>
|
<Box style={{ zIndex: 0 }} h={footer ? "82vh" : "92vh"} pos={"static"}>
|
||||||
<ScrollArea h={"100%"} px={"md"}>
|
<ScrollArea h={"100%"} px={"md"} pt={"sm"}>
|
||||||
{children}
|
{children}
|
||||||
</ScrollArea>
|
</ScrollArea>
|
||||||
</Box>
|
</Box>
|
||||||
|
|||||||
@@ -1,28 +1,30 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import { API_RouteEvent } from "@/lib/api_user_router/route_api_event";
|
|
||||||
import { RouterEvent } from "@/lib/router_hipmi/router_event";
|
|
||||||
import { MainColor } from "@/app_modules/_global/color";
|
import { MainColor } from "@/app_modules/_global/color";
|
||||||
import { ComponentGlobal_CardStyles } from "@/app_modules/_global/component";
|
import { ComponentGlobal_CardStyles } from "@/app_modules/_global/component";
|
||||||
import {
|
import {
|
||||||
ComponentGlobal_NotifikasiBerhasil,
|
ComponentGlobal_NotifikasiBerhasil,
|
||||||
ComponentGlobal_NotifikasiGagal,
|
ComponentGlobal_NotifikasiGagal,
|
||||||
} from "@/app_modules/_global/notif_global";
|
} from "@/app_modules/_global/notif_global";
|
||||||
import { UIGlobal_LayoutDefault } from "@/app_modules/_global/ui";
|
import UI_NewLayoutTamplate, {
|
||||||
|
UI_NewChildren,
|
||||||
|
} from "@/app_modules/_global/ui/V2_layout_tamplate";
|
||||||
|
import { API_RouteEvent } from "@/lib/api_user_router/route_api_event";
|
||||||
|
import { RouterEvent } from "@/lib/router_hipmi/router_event";
|
||||||
|
import { clientLogger } from "@/util/clientLogger";
|
||||||
import { Button, Center, Group, Skeleton, Stack, Text } from "@mantine/core";
|
import { Button, Center, Group, Skeleton, Stack, Text } from "@mantine/core";
|
||||||
import { useShallowEffect } from "@mantine/hooks";
|
import { useShallowEffect } from "@mantine/hooks";
|
||||||
import { useAtom } from "jotai";
|
import { useAtom } from "jotai";
|
||||||
import moment from "moment";
|
import moment from "moment";
|
||||||
|
import "moment/locale/id";
|
||||||
import { useParams, useRouter } from "next/navigation";
|
import { useParams, useRouter } from "next/navigation";
|
||||||
import { useState } from "react";
|
import { useState } from "react";
|
||||||
|
import { apiGetEventDetailById } from "../_lib/api_event";
|
||||||
|
import { MODEL_EVENT } from "../_lib/interface";
|
||||||
import { event_funUpdateKehadiran } from "../fun";
|
import { event_funUpdateKehadiran } from "../fun";
|
||||||
import { Event_funJoinAndConfirmEvent } from "../fun/create/fun_join_and_confirm";
|
import { Event_funJoinAndConfirmEvent } from "../fun/create/fun_join_and_confirm";
|
||||||
import { gs_event_hotMenu } from "../global_state";
|
|
||||||
import { MODEL_EVENT } from "../_lib/interface";
|
|
||||||
import { Event_funJoinEvent } from "../fun/create/fun_join_event";
|
import { Event_funJoinEvent } from "../fun/create/fun_join_event";
|
||||||
import "moment/locale/id";
|
import { gs_event_hotMenu } from "../global_state";
|
||||||
import { apiGetEventDetailById } from "../_lib/api_event";
|
|
||||||
import { clientLogger } from "@/util/clientLogger";
|
|
||||||
|
|
||||||
export default function Ui_Konfirmasi({
|
export default function Ui_Konfirmasi({
|
||||||
userLoginId,
|
userLoginId,
|
||||||
@@ -83,15 +85,17 @@ export default function Ui_Konfirmasi({
|
|||||||
const data = await res.json();
|
const data = await res.json();
|
||||||
setIsPresent(data);
|
setIsPresent(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
console.log("Peserta >", isPresent)
|
||||||
// =========== CEK KEHADIRAN ===========//
|
// =========== CEK KEHADIRAN ===========//
|
||||||
|
|
||||||
// Jika data kosong
|
// Jika data kosong
|
||||||
if (data == null && isPresent == null) {
|
if (!data && !isPresent) {
|
||||||
return <SkeletonIsDataNull />;
|
return <SkeletonIsDataNull />;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Jika data tidak ada
|
// Jika data tidak ada
|
||||||
if (data == null) {
|
if (!data) {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<DataNotFound />
|
<DataNotFound />
|
||||||
@@ -173,32 +177,34 @@ function DataNotFound() {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<UIGlobal_LayoutDefault>
|
<UI_NewLayoutTamplate>
|
||||||
<Stack h={"100vh"} justify="center">
|
<UI_NewChildren>
|
||||||
<ComponentGlobal_CardStyles>
|
<Stack h={"100vh"} justify="center">
|
||||||
<Stack>
|
<ComponentGlobal_CardStyles>
|
||||||
<Text fw={"bold"} align="center">
|
<Stack>
|
||||||
Data Event Tidak Ditemukan
|
<Text fw={"bold"} align="center">
|
||||||
</Text>
|
Data Event Tidak Ditemukan
|
||||||
|
</Text>
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
loading={isLoading}
|
loading={isLoading}
|
||||||
loaderPosition="center"
|
loaderPosition="center"
|
||||||
radius={"xl"}
|
radius={"xl"}
|
||||||
color="green"
|
color="green"
|
||||||
c={"black"}
|
c={"black"}
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
setHotMenu(0);
|
setHotMenu(0);
|
||||||
setLoading(true);
|
setLoading(true);
|
||||||
router.push(RouterEvent.beranda, { scroll: false });
|
router.push(RouterEvent.beranda, { scroll: false });
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
Kembali Ke Beranda
|
Kembali Ke Beranda
|
||||||
</Button>
|
</Button>
|
||||||
</Stack>
|
</Stack>
|
||||||
</ComponentGlobal_CardStyles>
|
</ComponentGlobal_CardStyles>
|
||||||
</Stack>
|
</Stack>
|
||||||
</UIGlobal_LayoutDefault>
|
</UI_NewChildren>
|
||||||
|
</UI_NewLayoutTamplate>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -206,20 +212,22 @@ function DataNotFound() {
|
|||||||
function SkeletonIsDataNull() {
|
function SkeletonIsDataNull() {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<UIGlobal_LayoutDefault>
|
<UI_NewLayoutTamplate>
|
||||||
<Stack h={"100vh"} justify="center">
|
<UI_NewChildren>
|
||||||
<ComponentGlobal_CardStyles>
|
<Stack h={"100vh"} justify="center">
|
||||||
<Stack>
|
<ComponentGlobal_CardStyles>
|
||||||
<Skeleton height={20} width={"100%"} radius={"xl"} />{" "}
|
<Stack>
|
||||||
<Skeleton height={20} width={"100%"} radius={"xl"} />{" "}
|
<Skeleton height={20} width={"100%"} radius={"xl"} />{" "}
|
||||||
<Skeleton height={20} width={"100%"} radius={"xl"} />
|
<Skeleton height={20} width={"100%"} radius={"xl"} />{" "}
|
||||||
<Center>
|
<Skeleton height={20} width={"100%"} radius={"xl"} />
|
||||||
<Skeleton height={40} width={"40%"} radius={"sm"} />
|
<Center>
|
||||||
</Center>
|
<Skeleton height={40} width={"40%"} radius={"sm"} />
|
||||||
</Stack>
|
</Center>
|
||||||
</ComponentGlobal_CardStyles>
|
</Stack>
|
||||||
</Stack>
|
</ComponentGlobal_CardStyles>
|
||||||
</UIGlobal_LayoutDefault>
|
</Stack>
|
||||||
|
</UI_NewChildren>
|
||||||
|
</UI_NewLayoutTamplate>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -231,41 +239,44 @@ function UserJoinTrue({ title, tanggal }: { title: string; tanggal: Date }) {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<UIGlobal_LayoutDefault>
|
<UI_NewLayoutTamplate>
|
||||||
<Stack h={"100vh"} justify="center">
|
<UI_NewChildren>
|
||||||
<ComponentGlobal_CardStyles>
|
<Stack h={"100vh"} justify="center">
|
||||||
<Stack align="center" justify="center">
|
<ComponentGlobal_CardStyles>
|
||||||
<Text align="center">
|
<Stack align="center" justify="center">
|
||||||
Terima kasih, Bapak/Ibu, Anda telah berhasil bergabung dalam
|
<Text align="center">
|
||||||
acara{" "}
|
Terima kasih, Bapak/Ibu, Anda telah berhasil bergabung dalam
|
||||||
<Text inherit span fw={"bold"}>
|
acara{" "}
|
||||||
{title}
|
<Text inherit span fw={"bold"}>
|
||||||
</Text>{" "}
|
{title}
|
||||||
. Mohon ditunggu hingga tanggal{" "}
|
</Text>{" "}
|
||||||
<Text inherit span fw={"bold"}>
|
. Mohon ditunggu hingga tanggal{" "}
|
||||||
{moment(tanggal).format("DD-MM-YYYY")}
|
<Text inherit span fw={"bold"}>
|
||||||
</Text>{" "}
|
{moment(tanggal).format("DD-MM-YYYY")}
|
||||||
untuk melakukan konfirmasi kehadiran melalui aplikasi HIPMI APP.
|
</Text>{" "}
|
||||||
</Text>
|
untuk melakukan konfirmasi kehadiran melalui aplikasi HIPMI
|
||||||
|
APP.
|
||||||
|
</Text>
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
loading={isLoading}
|
loading={isLoading}
|
||||||
loaderPosition="center"
|
loaderPosition="center"
|
||||||
radius={"xl"}
|
radius={"xl"}
|
||||||
color="green"
|
color="green"
|
||||||
c={"black"}
|
c={"black"}
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
setHotMenu(0);
|
setHotMenu(0);
|
||||||
setLoading(true);
|
setLoading(true);
|
||||||
router.push(RouterEvent.beranda, { scroll: false });
|
router.push(RouterEvent.beranda, { scroll: false });
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
Beranda
|
Beranda
|
||||||
</Button>
|
</Button>
|
||||||
</Stack>
|
</Stack>
|
||||||
</ComponentGlobal_CardStyles>
|
</ComponentGlobal_CardStyles>
|
||||||
</Stack>
|
</Stack>
|
||||||
</UIGlobal_LayoutDefault>
|
</UI_NewChildren>
|
||||||
|
</UI_NewLayoutTamplate>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -306,50 +317,52 @@ function UserAllowToJoin({
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<UIGlobal_LayoutDefault>
|
<UI_NewLayoutTamplate>
|
||||||
<Stack h={"100vh"} justify="center">
|
<UI_NewChildren>
|
||||||
<ComponentGlobal_CardStyles>
|
<Stack h={"100vh"} justify="center">
|
||||||
<Stack align="center" justify="center">
|
<ComponentGlobal_CardStyles>
|
||||||
<Text align="center">
|
<Stack align="center" justify="center">
|
||||||
Halo, Bapak/Ibu. Kami dengan senang hati mengundang Anda untuk
|
<Text align="center">
|
||||||
bergabung dalam acara
|
Halo, Bapak/Ibu. Kami dengan senang hati mengundang Anda untuk
|
||||||
<Text inherit span fw={"bold"}>
|
bergabung dalam acara
|
||||||
{title}
|
<Text inherit span fw={"bold"}>
|
||||||
</Text>{" "}
|
{title}
|
||||||
yang akan diselenggarakan pada{" "}
|
</Text>{" "}
|
||||||
<Text inherit span fw={"bold"}>
|
yang akan diselenggarakan pada{" "}
|
||||||
{moment(tanggal).format("LL")}
|
<Text inherit span fw={"bold"}>
|
||||||
</Text>{" "}
|
{moment(tanggal).format("LL")}
|
||||||
pukul
|
</Text>{" "}
|
||||||
<Text inherit span fw={"bold"}>
|
pukul
|
||||||
{moment(tanggal).format("LT")}
|
<Text inherit span fw={"bold"}>
|
||||||
</Text>{" "}
|
{moment(tanggal).format("LT")}
|
||||||
di
|
</Text>{" "}
|
||||||
<Text inherit span fw={"bold"}>
|
di
|
||||||
{lokasi}
|
<Text inherit span fw={"bold"}>
|
||||||
</Text>{" "}
|
{lokasi}
|
||||||
. Pastikan Anda sudah melakukan registrasi melalui aplikasi
|
</Text>{" "}
|
||||||
[Nama Aplikasi] agar dapat berpartisipasi. Kami sangat
|
. Pastikan Anda sudah melakukan registrasi melalui aplikasi
|
||||||
menantikan kehadiran Anda. Sampai jumpa di acara ini.
|
[Nama Aplikasi] agar dapat berpartisipasi. Kami sangat
|
||||||
</Text>
|
menantikan kehadiran Anda. Sampai jumpa di acara ini.
|
||||||
|
</Text>
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
loading={isLoading}
|
loading={isLoading}
|
||||||
loaderPosition="center"
|
loaderPosition="center"
|
||||||
radius={"xs"}
|
radius={"xs"}
|
||||||
bg={MainColor.yellow}
|
bg={MainColor.yellow}
|
||||||
color="yellow"
|
color="yellow"
|
||||||
c={"black"}
|
c={"black"}
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
onJoinEvent();
|
onJoinEvent();
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
Join Event
|
Join Event
|
||||||
</Button>
|
</Button>
|
||||||
</Stack>
|
</Stack>
|
||||||
</ComponentGlobal_CardStyles>
|
</ComponentGlobal_CardStyles>
|
||||||
</Stack>
|
</Stack>
|
||||||
</UIGlobal_LayoutDefault>
|
</UI_NewChildren>
|
||||||
|
</UI_NewLayoutTamplate>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -385,42 +398,45 @@ function UserNotJoinAndEventReady({
|
|||||||
}
|
}
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<UIGlobal_LayoutDefault>
|
<UI_NewLayoutTamplate>
|
||||||
<Stack h={"100vh"} justify="center">
|
<UI_NewChildren>
|
||||||
<ComponentGlobal_CardStyles>
|
<Stack h={"100vh"} justify="center">
|
||||||
<Stack align="center" justify="center">
|
<ComponentGlobal_CardStyles>
|
||||||
<Text align="center">
|
<Stack align="center" justify="center">
|
||||||
Halo, Bapak/Ibu. Kami mencatat bahwa Anda belum melakukan
|
<Text align="center">
|
||||||
registrasi melalui aplikasi untuk mengikuti acara{" "}
|
Halo, Bapak/Ibu. Kami mencatat bahwa Anda belum melakukan
|
||||||
<Text inherit span fw={"bold"}>
|
registrasi melalui aplikasi untuk mengikuti acara{" "}
|
||||||
{title}.
|
<Text inherit span fw={"bold"}>
|
||||||
</Text>{" "}
|
{title}.
|
||||||
Mohon segera lakukan registrasi melalui Event App agar dapat
|
</Text>{" "}
|
||||||
mengikuti acara ini. Jika membutuhkan bantuan, jangan ragu untuk
|
Mohon segera lakukan registrasi melalui Event App agar dapat
|
||||||
menghubungi tim kami. Terima kasih Terima kasih atas kehadiran
|
mengikuti acara ini. Jika membutuhkan bantuan, jangan ragu
|
||||||
Anda di acara pada hari ini. Mohon untuk mengonfirmasi kehadiran
|
untuk menghubungi tim kami. Terima kasih Terima kasih atas
|
||||||
Anda dengan menekan tombol {"Join & Konfirmasi"}
|
kehadiran Anda di acara pada hari ini. Mohon untuk
|
||||||
atau fitur konfirmasi yang tersedia di bawah. Terima kasih dan
|
mengonfirmasi kehadiran Anda dengan menekan tombol{" "}
|
||||||
selamat menikmati acara.
|
{"Join & Konfirmasi"}
|
||||||
</Text>
|
atau fitur konfirmasi yang tersedia di bawah. Terima kasih dan
|
||||||
|
selamat menikmati acara.
|
||||||
|
</Text>
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
loading={isLoading}
|
loading={isLoading}
|
||||||
loaderPosition="center"
|
loaderPosition="center"
|
||||||
radius={"xs"}
|
radius={"xs"}
|
||||||
bg={MainColor.yellow}
|
bg={MainColor.yellow}
|
||||||
color="yellow"
|
color="yellow"
|
||||||
c={"black"}
|
c={"black"}
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
onJoinAndKonfirmasi();
|
onJoinAndKonfirmasi();
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
Join & Konfirmasi
|
Join & Konfirmasi
|
||||||
</Button>
|
</Button>
|
||||||
</Stack>
|
</Stack>
|
||||||
</ComponentGlobal_CardStyles>
|
</ComponentGlobal_CardStyles>
|
||||||
</Stack>
|
</Stack>
|
||||||
</UIGlobal_LayoutDefault>
|
</UI_NewChildren>
|
||||||
|
</UI_NewLayoutTamplate>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -439,56 +455,58 @@ function EventAlreadyDone({
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<UIGlobal_LayoutDefault>
|
<UI_NewLayoutTamplate>
|
||||||
<Stack h={"100vh"} justify="center">
|
<UI_NewChildren>
|
||||||
<ComponentGlobal_CardStyles>
|
<Stack h={"100vh"} justify="center">
|
||||||
<Stack align="center" justify="center">
|
<ComponentGlobal_CardStyles>
|
||||||
<Text align="center">
|
<Stack align="center" justify="center">
|
||||||
Kami mohon maaf, Bapak/Ibu, acara{" "}
|
<Text align="center">
|
||||||
<Text inherit span fw={"bold"}>
|
Kami mohon maaf, Bapak/Ibu, acara{" "}
|
||||||
{title}
|
<Text inherit span fw={"bold"}>
|
||||||
</Text>{" "}
|
{title}
|
||||||
telah selesai, sehingga konfirmasi kehadiran sudah tidak dapat
|
</Text>{" "}
|
||||||
dilakukan. Terima kasih atas perhatian dan minat Anda. Kami
|
telah selesai, sehingga konfirmasi kehadiran sudah tidak dapat
|
||||||
berharap dapat bertemu di acara kami berikutnya. Terima kasih,
|
dilakukan. Terima kasih atas perhatian dan minat Anda. Kami
|
||||||
Bapak/Ibu, kehadiran Anda di acara.
|
berharap dapat bertemu di acara kami berikutnya. Terima kasih,
|
||||||
</Text>
|
Bapak/Ibu, kehadiran Anda di acara.
|
||||||
</Stack>
|
</Text>
|
||||||
<Group grow mt={"lg"}>
|
</Stack>
|
||||||
<Button
|
<Group grow mt={"lg"}>
|
||||||
loading={isLoading}
|
<Button
|
||||||
loaderPosition="center"
|
loading={isLoading}
|
||||||
radius={"xl"}
|
loaderPosition="center"
|
||||||
color="green"
|
radius={"xl"}
|
||||||
c={"black"}
|
color="green"
|
||||||
onClick={() => {
|
c={"black"}
|
||||||
setHotMenu(0);
|
onClick={() => {
|
||||||
setLoading(true);
|
setHotMenu(0);
|
||||||
router.push(RouterEvent.beranda, { scroll: false });
|
setLoading(true);
|
||||||
}}
|
router.push(RouterEvent.beranda, { scroll: false });
|
||||||
>
|
}}
|
||||||
Beranda
|
>
|
||||||
</Button>
|
Beranda
|
||||||
|
</Button>
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
loading={isLoadingDetail}
|
loading={isLoadingDetail}
|
||||||
loaderPosition="center"
|
loaderPosition="center"
|
||||||
radius={"xl"}
|
radius={"xl"}
|
||||||
c={"black"}
|
c={"black"}
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
setHotMenu(3);
|
setHotMenu(3);
|
||||||
setLoadingDetail(true);
|
setLoadingDetail(true);
|
||||||
router.push(RouterEvent.detail_riwayat + eventId, {
|
router.push(RouterEvent.detail_riwayat + eventId, {
|
||||||
scroll: false,
|
scroll: false,
|
||||||
});
|
});
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
Riwayat Event
|
Riwayat Event
|
||||||
</Button>
|
</Button>
|
||||||
</Group>
|
</Group>
|
||||||
</ComponentGlobal_CardStyles>
|
</ComponentGlobal_CardStyles>
|
||||||
</Stack>
|
</Stack>
|
||||||
</UIGlobal_LayoutDefault>
|
</UI_NewChildren>
|
||||||
|
</UI_NewLayoutTamplate>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -521,41 +539,43 @@ function UserNotConfirm({
|
|||||||
}
|
}
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<UIGlobal_LayoutDefault>
|
<UI_NewLayoutTamplate>
|
||||||
<Stack h={"100vh"} justify="center">
|
<UI_NewChildren>
|
||||||
<ComponentGlobal_CardStyles>
|
<Stack h={"100vh"} justify="center">
|
||||||
<Stack align="center" justify="center">
|
<ComponentGlobal_CardStyles>
|
||||||
<Text align="center">
|
<Stack align="center" justify="center">
|
||||||
Terima kasih atas kehadiran Anda di acara{" "}
|
<Text align="center">
|
||||||
<Text inherit span fw={"bold"}>
|
Terima kasih atas kehadiran Anda di acara{" "}
|
||||||
{title}
|
<Text inherit span fw={"bold"}>
|
||||||
</Text>{" "}
|
{title}
|
||||||
pada hari ini. Mohon untuk mengonfirmasi kehadiran Anda dengan
|
</Text>{" "}
|
||||||
menekan tombol{" "}
|
pada hari ini. Mohon untuk mengonfirmasi kehadiran Anda dengan
|
||||||
<Text inherit span fw={"bold"}>
|
menekan tombol{" "}
|
||||||
Konfirmasi Kehadiran
|
<Text inherit span fw={"bold"}>
|
||||||
</Text>{" "}
|
Konfirmasi Kehadiran
|
||||||
atau fitur konfirmasi yang tersedia di bawah. Terima kasih dan
|
</Text>{" "}
|
||||||
selamat menikmati acara.
|
atau fitur konfirmasi yang tersedia di bawah. Terima kasih dan
|
||||||
</Text>
|
selamat menikmati acara.
|
||||||
|
</Text>
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
loading={isLoading}
|
loading={isLoading}
|
||||||
loaderPosition="center"
|
loaderPosition="center"
|
||||||
radius={"xs"}
|
radius={"xs"}
|
||||||
bg={MainColor.yellow}
|
bg={MainColor.yellow}
|
||||||
color="yellow"
|
color="yellow"
|
||||||
c={"black"}
|
c={"black"}
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
onUpdateKonfirmasi();
|
onUpdateKonfirmasi();
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
Konfirmasi Kehadiran
|
Konfirmasi Kehadiran
|
||||||
</Button>
|
</Button>
|
||||||
</Stack>
|
</Stack>
|
||||||
</ComponentGlobal_CardStyles>
|
</ComponentGlobal_CardStyles>
|
||||||
</Stack>
|
</Stack>
|
||||||
</UIGlobal_LayoutDefault>
|
</UI_NewChildren>
|
||||||
|
</UI_NewLayoutTamplate>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -567,38 +587,40 @@ function UserAlreadyConfirm({ title }: { title: string }) {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<UIGlobal_LayoutDefault>
|
<UI_NewLayoutTamplate>
|
||||||
<Stack h={"100vh"} justify="center">
|
<UI_NewChildren>
|
||||||
<ComponentGlobal_CardStyles>
|
<Stack h={"100vh"} justify="center">
|
||||||
<Stack align="center" justify="center">
|
<ComponentGlobal_CardStyles>
|
||||||
<Text align="center">
|
<Stack align="center" justify="center">
|
||||||
Terima kasih, Bapak/Ibu, kehadiran Anda di acara{" "}
|
<Text align="center">
|
||||||
<Text inherit span fw={"bold"}>
|
Terima kasih, Bapak/Ibu, kehadiran Anda di acara{" "}
|
||||||
{title}
|
<Text inherit span fw={"bold"}>
|
||||||
</Text>{" "}
|
{title}
|
||||||
telah berhasil dikonfirmasi. Kami senang menyambut Anda dan
|
</Text>{" "}
|
||||||
semoga acara ini memberikan manfaat yang maksimal. Selamat
|
telah berhasil dikonfirmasi. Kami senang menyambut Anda dan
|
||||||
mengikuti kegiatan.
|
semoga acara ini memberikan manfaat yang maksimal. Selamat
|
||||||
</Text>
|
mengikuti kegiatan.
|
||||||
|
</Text>
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
loading={isLoading}
|
loading={isLoading}
|
||||||
loaderPosition="center"
|
loaderPosition="center"
|
||||||
radius={"xl"}
|
radius={"xl"}
|
||||||
color="green"
|
color="green"
|
||||||
c={"black"}
|
c={"black"}
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
setHotMenu(0);
|
setHotMenu(0);
|
||||||
setLoading(true);
|
setLoading(true);
|
||||||
router.push(RouterEvent.beranda, { scroll: false });
|
router.push(RouterEvent.beranda, { scroll: false });
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
Beranda
|
Beranda
|
||||||
</Button>
|
</Button>
|
||||||
</Stack>
|
</Stack>
|
||||||
</ComponentGlobal_CardStyles>
|
</ComponentGlobal_CardStyles>
|
||||||
</Stack>
|
</Stack>
|
||||||
</UIGlobal_LayoutDefault>
|
</UI_NewChildren>
|
||||||
|
</UI_NewLayoutTamplate>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,13 +14,12 @@ import Event_ComponentBoxDaftarSponsor from "./comp_box_sponsor";
|
|||||||
export default function ComponentEvent_DetailData({
|
export default function ComponentEvent_DetailData({
|
||||||
isDaftarPeserta,
|
isDaftarPeserta,
|
||||||
isReport,
|
isReport,
|
||||||
data
|
data,
|
||||||
}: {
|
}: {
|
||||||
isDaftarPeserta?: boolean;
|
isDaftarPeserta?: boolean;
|
||||||
isReport?: boolean;
|
isReport?: boolean;
|
||||||
data: MODEL_EVENT | null
|
data: MODEL_EVENT | null;
|
||||||
}) {
|
}) {
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
{!data ? (
|
{!data ? (
|
||||||
@@ -28,7 +27,10 @@ export default function ComponentEvent_DetailData({
|
|||||||
) : (
|
) : (
|
||||||
<Stack>
|
<Stack>
|
||||||
{isReport && (
|
{isReport && (
|
||||||
<ComponentGlobal_BoxInformation isReport informasi={data?.catatan} />
|
<ComponentGlobal_BoxInformation
|
||||||
|
isReport
|
||||||
|
informasi={data?.catatan}
|
||||||
|
/>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
<ComponentGlobal_CardStyles marginBottom={"16px"}>
|
<ComponentGlobal_CardStyles marginBottom={"16px"}>
|
||||||
|
|||||||
75
src/app_modules/event/component/new_footer.tsx
Normal file
75
src/app_modules/event/component/new_footer.tsx
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
import { RouterEvent } from "@/lib/router_hipmi/router_event";
|
||||||
|
import {
|
||||||
|
IconHome,
|
||||||
|
IconReservedLine,
|
||||||
|
IconCalendarEvent,
|
||||||
|
IconHistory,
|
||||||
|
} from "@tabler/icons-react";
|
||||||
|
import { useAtom } from "jotai";
|
||||||
|
import { useRouter } from "next/navigation";
|
||||||
|
import { gs_event_hotMenu } from "../global_state";
|
||||||
|
import { MainColor } from "@/app_modules/_global/color";
|
||||||
|
import { ComponentGlobal_NotifikasiPeringatan } from "@/app_modules/_global/notif_global";
|
||||||
|
import { SimpleGrid, Stack, ActionIcon, Text } from "@mantine/core";
|
||||||
|
|
||||||
|
export function Event_ComponentNewFooter() {
|
||||||
|
const router = useRouter();
|
||||||
|
const [hotMenu, setHotMenu] = useAtom(gs_event_hotMenu);
|
||||||
|
|
||||||
|
const listFooter = [
|
||||||
|
{
|
||||||
|
id: "1",
|
||||||
|
name: "Beranda",
|
||||||
|
path: RouterEvent.beranda,
|
||||||
|
icon: <IconHome />,
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
id: "2",
|
||||||
|
name: "Status",
|
||||||
|
path: RouterEvent.status({ id: "1" }),
|
||||||
|
icon: <IconReservedLine />,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: "3",
|
||||||
|
name: "Kontribusi",
|
||||||
|
path: RouterEvent.kontribusi,
|
||||||
|
icon: <IconCalendarEvent />,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: "4",
|
||||||
|
name: "Riwayat",
|
||||||
|
path: RouterEvent.riwayat({ id: "1" }),
|
||||||
|
icon: <IconHistory />,
|
||||||
|
},
|
||||||
|
];
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<SimpleGrid cols={4} h={"9vh"} mx={"xs"} w={"100%"}>
|
||||||
|
{listFooter.map((e, i) => (
|
||||||
|
<Stack key={i} align="center" justify="center" spacing={0}>
|
||||||
|
<ActionIcon
|
||||||
|
// disabled={e.path === "" ? true : false}
|
||||||
|
variant="transparent"
|
||||||
|
c={hotMenu === i ? MainColor.yellow : MainColor.white}
|
||||||
|
onClick={() =>
|
||||||
|
e.path === ""
|
||||||
|
? ComponentGlobal_NotifikasiPeringatan("Cooming Soon")
|
||||||
|
: (router.replace(e.path), setHotMenu(i))
|
||||||
|
}
|
||||||
|
>
|
||||||
|
{e.icon}
|
||||||
|
</ActionIcon>
|
||||||
|
<Text
|
||||||
|
c={hotMenu === i ? MainColor.yellow : MainColor.white}
|
||||||
|
fz={"xs"}
|
||||||
|
lineClamp={1}
|
||||||
|
>
|
||||||
|
{e.name}
|
||||||
|
</Text>
|
||||||
|
</Stack>
|
||||||
|
))}
|
||||||
|
</SimpleGrid>
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -1,7 +1,10 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import UIGlobal_LayoutHeaderTamplate from "@/app_modules/_global/ui/ui_header_tamplate";
|
import { Component_Header } from "@/app_modules/_global/component/new/component_header";
|
||||||
import UIGlobal_LayoutTamplate from "@/app_modules/_global/ui/ui_layout_tamplate";
|
import UI_NewLayoutTamplate, {
|
||||||
|
UI_NewChildren,
|
||||||
|
UI_NewHeader,
|
||||||
|
} from "@/app_modules/_global/ui/V2_layout_tamplate";
|
||||||
import React from "react";
|
import React from "react";
|
||||||
|
|
||||||
export default function LayoutEvent_Create({
|
export default function LayoutEvent_Create({
|
||||||
@@ -11,9 +14,16 @@ export default function LayoutEvent_Create({
|
|||||||
}) {
|
}) {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<UIGlobal_LayoutTamplate header={<UIGlobal_LayoutHeaderTamplate title="Tambah Event" />}>
|
{/* <UIGlobal_LayoutTamplate header={<UIGlobal_LayoutHeaderTamplate title="Tambah Event" />}>
|
||||||
{children}
|
{children}
|
||||||
</UIGlobal_LayoutTamplate>
|
</UIGlobal_LayoutTamplate> */}
|
||||||
|
|
||||||
|
<UI_NewLayoutTamplate>
|
||||||
|
<UI_NewHeader>
|
||||||
|
<Component_Header title="Tambah Event" />
|
||||||
|
</UI_NewHeader>
|
||||||
|
<UI_NewChildren>{children}</UI_NewChildren>
|
||||||
|
</UI_NewLayoutTamplate>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,12 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import { RouterEvent } from "@/lib/router_hipmi/router_event";
|
import { Component_Header } from "@/app_modules/_global/component/new/component_header";
|
||||||
import UIGlobal_Drawer from "@/app_modules/_global/ui/ui_drawer";
|
import UIGlobal_Drawer from "@/app_modules/_global/ui/ui_drawer";
|
||||||
import UIGlobal_LayoutHeaderTamplate from "@/app_modules/_global/ui/ui_header_tamplate";
|
import UI_NewLayoutTamplate, {
|
||||||
import UIGlobal_LayoutTamplate from "@/app_modules/_global/ui/ui_layout_tamplate";
|
UI_NewChildren,
|
||||||
|
UI_NewHeader,
|
||||||
|
} from "@/app_modules/_global/ui/V2_layout_tamplate";
|
||||||
|
import { RouterEvent } from "@/lib/router_hipmi/router_event";
|
||||||
import { ActionIcon } from "@mantine/core";
|
import { ActionIcon } from "@mantine/core";
|
||||||
import { IconDotsVertical, IconEdit } from "@tabler/icons-react";
|
import { IconDotsVertical, IconEdit } from "@tabler/icons-react";
|
||||||
import { useRouter } from "next/navigation";
|
import { useRouter } from "next/navigation";
|
||||||
@@ -30,7 +33,24 @@ export default function LayoutEvent_DetailDraft({
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<UIGlobal_LayoutTamplate
|
<UI_NewLayoutTamplate>
|
||||||
|
<UI_NewHeader>
|
||||||
|
<Component_Header
|
||||||
|
title="Detail Draft"
|
||||||
|
customButtonRight={
|
||||||
|
<ActionIcon
|
||||||
|
variant="transparent"
|
||||||
|
onClick={() => setOpenDrawer(true)}
|
||||||
|
>
|
||||||
|
<IconDotsVertical color="white" />
|
||||||
|
</ActionIcon>
|
||||||
|
}
|
||||||
|
/>
|
||||||
|
</UI_NewHeader>
|
||||||
|
<UI_NewChildren>{children}</UI_NewChildren>
|
||||||
|
</UI_NewLayoutTamplate>
|
||||||
|
|
||||||
|
{/* <UIGlobal_LayoutTamplate
|
||||||
header={
|
header={
|
||||||
<UIGlobal_LayoutHeaderTamplate
|
<UIGlobal_LayoutHeaderTamplate
|
||||||
title="Detail Draft"
|
title="Detail Draft"
|
||||||
@@ -46,7 +66,7 @@ export default function LayoutEvent_DetailDraft({
|
|||||||
}
|
}
|
||||||
>
|
>
|
||||||
{children}
|
{children}
|
||||||
</UIGlobal_LayoutTamplate>
|
</UIGlobal_LayoutTamplate> */}
|
||||||
|
|
||||||
<UIGlobal_Drawer
|
<UIGlobal_Drawer
|
||||||
opened={openDrawer}
|
opened={openDrawer}
|
||||||
|
|||||||
@@ -1,7 +1,10 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import UIGlobal_LayoutHeaderTamplate from "@/app_modules/_global/ui/ui_header_tamplate";
|
import { Component_Header } from "@/app_modules/_global/component/new/component_header";
|
||||||
import UIGlobal_LayoutTamplate from "@/app_modules/_global/ui/ui_layout_tamplate";
|
import UI_NewLayoutTamplate, {
|
||||||
|
UI_NewChildren,
|
||||||
|
UI_NewHeader,
|
||||||
|
} from "@/app_modules/_global/ui/V2_layout_tamplate";
|
||||||
import React from "react";
|
import React from "react";
|
||||||
|
|
||||||
export default function LayoutEvent_DetailKontribusi({
|
export default function LayoutEvent_DetailKontribusi({
|
||||||
@@ -11,11 +14,18 @@ export default function LayoutEvent_DetailKontribusi({
|
|||||||
}) {
|
}) {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<UIGlobal_LayoutTamplate
|
{/* <UIGlobal_LayoutTamplate
|
||||||
header={<UIGlobal_LayoutHeaderTamplate title="Detail Kontibutor" />}
|
header={<UIGlobal_LayoutHeaderTamplate title="Detail Kontibutor" />}
|
||||||
>
|
>
|
||||||
{children}
|
{children}
|
||||||
</UIGlobal_LayoutTamplate>
|
</UIGlobal_LayoutTamplate> */}
|
||||||
|
|
||||||
|
<UI_NewLayoutTamplate>
|
||||||
|
<UI_NewHeader>
|
||||||
|
<Component_Header title="Detail Kontibutor" />
|
||||||
|
</UI_NewHeader>
|
||||||
|
<UI_NewChildren>{children}</UI_NewChildren>
|
||||||
|
</UI_NewLayoutTamplate>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,11 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
|
import { Component_Header } from "@/app_modules/_global/component/new/component_header";
|
||||||
import UIGlobal_LayoutHeaderTamplate from "@/app_modules/_global/ui/ui_header_tamplate";
|
import UIGlobal_LayoutHeaderTamplate from "@/app_modules/_global/ui/ui_header_tamplate";
|
||||||
import UIGlobal_LayoutTamplate from "@/app_modules/_global/ui/ui_layout_tamplate";
|
import UI_NewLayoutTamplate, {
|
||||||
|
UI_NewChildren,
|
||||||
|
UI_NewHeader,
|
||||||
|
} from "@/app_modules/_global/ui/V2_layout_tamplate";
|
||||||
import React from "react";
|
import React from "react";
|
||||||
|
|
||||||
export default function LayoutEvent_DetailMain({
|
export default function LayoutEvent_DetailMain({
|
||||||
@@ -11,11 +15,13 @@ export default function LayoutEvent_DetailMain({
|
|||||||
}) {
|
}) {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<UIGlobal_LayoutTamplate
|
<UI_NewLayoutTamplate>
|
||||||
header={<UIGlobal_LayoutHeaderTamplate title="Detail Event" />}
|
<UI_NewHeader>
|
||||||
>
|
<Component_Header
|
||||||
{children}
|
title="Detail Event" />
|
||||||
</UIGlobal_LayoutTamplate>
|
</UI_NewHeader>
|
||||||
|
<UI_NewChildren>{children}</UI_NewChildren>
|
||||||
|
</UI_NewLayoutTamplate>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,12 +1,23 @@
|
|||||||
import { UIGlobal_LayoutHeaderTamplate, UIGlobal_LayoutTamplate } from '@/app_modules/_global/ui';
|
import { Component_Header } from "@/app_modules/_global/component/new/component_header";
|
||||||
import React from 'react';
|
import UI_NewLayoutTamplate, {
|
||||||
|
UI_NewChildren,
|
||||||
|
UI_NewHeader,
|
||||||
|
} from "@/app_modules/_global/ui/V2_layout_tamplate";
|
||||||
|
import React from "react";
|
||||||
|
|
||||||
function LayoutEvent_Peserta({children}: {children: React.ReactNode}) {
|
function LayoutEvent_Peserta({ children }: { children: React.ReactNode }) {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<UIGlobal_LayoutTamplate header={<UIGlobal_LayoutHeaderTamplate title="Daftar Peserta" />}>
|
{/* <UIGlobal_LayoutTamplate header={<UIGlobal_LayoutHeaderTamplate title="Daftar Peserta" />}>
|
||||||
{children}
|
{children}
|
||||||
</UIGlobal_LayoutTamplate>
|
</UIGlobal_LayoutTamplate> */}
|
||||||
|
|
||||||
|
<UI_NewLayoutTamplate>
|
||||||
|
<UI_NewHeader>
|
||||||
|
<Component_Header title="Daftar Peserta" />
|
||||||
|
</UI_NewHeader>
|
||||||
|
<UI_NewChildren>{children}</UI_NewChildren>
|
||||||
|
</UI_NewLayoutTamplate>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,10 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import UIGlobal_LayoutHeaderTamplate from "@/app_modules/_global/ui/ui_header_tamplate";
|
import { Component_Header } from "@/app_modules/_global/component/new/component_header";
|
||||||
import UIGlobal_LayoutTamplate from "@/app_modules/_global/ui/ui_layout_tamplate";
|
import UI_NewLayoutTamplate, {
|
||||||
|
UI_NewChildren,
|
||||||
|
UI_NewHeader,
|
||||||
|
} from "@/app_modules/_global/ui/V2_layout_tamplate";
|
||||||
import React from "react";
|
import React from "react";
|
||||||
|
|
||||||
export default function LayoutEvent_DetailPublish({
|
export default function LayoutEvent_DetailPublish({
|
||||||
@@ -11,11 +14,18 @@ export default function LayoutEvent_DetailPublish({
|
|||||||
}) {
|
}) {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<UIGlobal_LayoutTamplate
|
{/* <UIGlobal_LayoutTamplate
|
||||||
header={<UIGlobal_LayoutHeaderTamplate title="Detail Publish" />}
|
header={<UIGlobal_LayoutHeaderTamplate title="Detail Publish" />}
|
||||||
>
|
>
|
||||||
{children}
|
{children}
|
||||||
</UIGlobal_LayoutTamplate>
|
</UIGlobal_LayoutTamplate> */}
|
||||||
|
|
||||||
|
<UI_NewLayoutTamplate>
|
||||||
|
<UI_NewHeader>
|
||||||
|
<Component_Header title="Detail Publish" />
|
||||||
|
</UI_NewHeader>
|
||||||
|
<UI_NewChildren>{children}</UI_NewChildren>
|
||||||
|
</UI_NewLayoutTamplate>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,43 +4,42 @@ import { AccentColor, MainColor } from "@/app_modules/_global/color";
|
|||||||
import { ComponentGlobal_NotifikasiBerhasil } from "@/app_modules/_global/notif_global/notifikasi_berhasil";
|
import { ComponentGlobal_NotifikasiBerhasil } from "@/app_modules/_global/notif_global/notifikasi_berhasil";
|
||||||
import { ComponentGlobal_NotifikasiGagal } from "@/app_modules/_global/notif_global/notifikasi_gagal";
|
import { ComponentGlobal_NotifikasiGagal } from "@/app_modules/_global/notif_global/notifikasi_gagal";
|
||||||
import UIGlobal_Modal from "@/app_modules/_global/ui/ui_modal";
|
import UIGlobal_Modal from "@/app_modules/_global/ui/ui_modal";
|
||||||
|
import CustomSkeleton from "@/app_modules/components/CustomSkeleton";
|
||||||
import { RouterEvent } from "@/lib/router_hipmi/router_event";
|
import { RouterEvent } from "@/lib/router_hipmi/router_event";
|
||||||
import { clientLogger } from "@/util/clientLogger";
|
import { clientLogger } from "@/util/clientLogger";
|
||||||
import { Button, Group, SimpleGrid, Stack } from "@mantine/core";
|
import { Button, Group, SimpleGrid, Stack } from "@mantine/core";
|
||||||
|
import { useShallowEffect } from "@mantine/hooks";
|
||||||
import { AppRouterInstance } from "next/dist/shared/lib/app-router-context.shared-runtime";
|
import { AppRouterInstance } from "next/dist/shared/lib/app-router-context.shared-runtime";
|
||||||
import { useParams, useRouter } from "next/navigation";
|
import { useParams, useRouter } from "next/navigation";
|
||||||
import { useState } from "react";
|
import { useState } from "react";
|
||||||
|
import { apiGetEventDetailById } from "../../_lib/api_event";
|
||||||
|
import { MODEL_EVENT } from "../../_lib/interface";
|
||||||
import ComponentEvent_DetailData from "../../component/detail/detail_data";
|
import ComponentEvent_DetailData from "../../component/detail/detail_data";
|
||||||
import { Event_funDeleteById } from "../../fun/delete/fun_delete";
|
import { Event_funDeleteById } from "../../fun/delete/fun_delete";
|
||||||
import { Event_funEditStatusById } from "../../fun/edit/fun_edit_status_by_id";
|
import { Event_funEditStatusById } from "../../fun/edit/fun_edit_status_by_id";
|
||||||
import { useShallowEffect } from "@mantine/hooks";
|
|
||||||
import { apiGetEventDetailById } from "../../_lib/api_event";
|
|
||||||
import { MODEL_EVENT } from "../../_lib/interface";
|
|
||||||
import CustomSkeleton from "@/app_modules/components/CustomSkeleton";
|
|
||||||
|
|
||||||
export default function Event_DetailReject() {
|
export default function Event_DetailReject() {
|
||||||
const params = useParams<{ id: string }>();
|
const params = useParams<{ id: string }>();
|
||||||
const eventId = params.id as string;
|
const eventId = params.id as string;
|
||||||
const [data, setData] = useState<MODEL_EVENT | null>(null);
|
const [data, setData] = useState<MODEL_EVENT | null>(null);
|
||||||
|
|
||||||
useShallowEffect(() => {
|
useShallowEffect(() => {
|
||||||
onLoadData();
|
onLoadData();
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
async function onLoadData() {
|
async function onLoadData() {
|
||||||
try {
|
try {
|
||||||
const respone = await apiGetEventDetailById({
|
const respone = await apiGetEventDetailById({
|
||||||
id: eventId,
|
id: eventId,
|
||||||
});
|
});
|
||||||
|
|
||||||
if (respone) {
|
|
||||||
setData(respone.data);
|
|
||||||
}
|
|
||||||
} catch (error) {
|
|
||||||
clientLogger.error("Error get data detail event", error);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
if (respone) {
|
||||||
|
setData(respone.data);
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
clientLogger.error("Error get data detail event", error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
@@ -52,7 +51,13 @@ export default function Event_DetailReject() {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
function ButtonAction({ eventId, data }: { eventId: string , data: MODEL_EVENT | null}) {
|
function ButtonAction({
|
||||||
|
eventId,
|
||||||
|
data,
|
||||||
|
}: {
|
||||||
|
eventId: string;
|
||||||
|
data: MODEL_EVENT | null;
|
||||||
|
}) {
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const [openModal1, setOpenModal1] = useState(false);
|
const [openModal1, setOpenModal1] = useState(false);
|
||||||
const [openModal2, setOpenModal2] = useState(false);
|
const [openModal2, setOpenModal2] = useState(false);
|
||||||
@@ -134,6 +139,8 @@ function ButtonAction({ eventId, data }: { eventId: string , data: MODEL_EVENT |
|
|||||||
</SimpleGrid>
|
</SimpleGrid>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
{/* MODAL EDIT */}
|
{/* MODAL EDIT */}
|
||||||
<UIGlobal_Modal
|
<UIGlobal_Modal
|
||||||
title={"Anda yakin ingin mengedit kembali event ini ?"}
|
title={"Anda yakin ingin mengedit kembali event ini ?"}
|
||||||
|
|||||||
@@ -1,7 +1,10 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import UIGlobal_LayoutHeaderTamplate from "@/app_modules/_global/ui/ui_header_tamplate";
|
import { Component_Header } from "@/app_modules/_global/component/new/component_header";
|
||||||
import UIGlobal_LayoutTamplate from "@/app_modules/_global/ui/ui_layout_tamplate";
|
import UI_NewLayoutTamplate, {
|
||||||
|
UI_NewChildren,
|
||||||
|
UI_NewHeader,
|
||||||
|
} from "@/app_modules/_global/ui/V2_layout_tamplate";
|
||||||
import React from "react";
|
import React from "react";
|
||||||
|
|
||||||
export default function LayoutEvent_DetailReject({
|
export default function LayoutEvent_DetailReject({
|
||||||
@@ -11,11 +14,18 @@ export default function LayoutEvent_DetailReject({
|
|||||||
}) {
|
}) {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<UIGlobal_LayoutTamplate
|
{/* <UIGlobal_LayoutTamplate
|
||||||
header={<UIGlobal_LayoutHeaderTamplate title="Detail Reject" />}
|
header={<UIGlobal_LayoutHeaderTamplate title="Detail Reject" />}
|
||||||
>
|
>
|
||||||
{children}
|
{children}
|
||||||
</UIGlobal_LayoutTamplate>
|
</UIGlobal_LayoutTamplate> */}
|
||||||
|
|
||||||
|
<UI_NewLayoutTamplate>
|
||||||
|
<UI_NewHeader>
|
||||||
|
<Component_Header title="Detail Reject" />
|
||||||
|
</UI_NewHeader>
|
||||||
|
<UI_NewChildren>{children}</UI_NewChildren>
|
||||||
|
</UI_NewLayoutTamplate>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,10 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import UIGlobal_LayoutHeaderTamplate from "@/app_modules/_global/ui/ui_header_tamplate";
|
import { Component_Header } from "@/app_modules/_global/component/new/component_header";
|
||||||
import UIGlobal_LayoutTamplate from "@/app_modules/_global/ui/ui_layout_tamplate";
|
import UI_NewLayoutTamplate, {
|
||||||
|
UI_NewChildren,
|
||||||
|
UI_NewHeader,
|
||||||
|
} from "@/app_modules/_global/ui/V2_layout_tamplate";
|
||||||
import React from "react";
|
import React from "react";
|
||||||
|
|
||||||
export default function LayoutEvent_DetailReview({
|
export default function LayoutEvent_DetailReview({
|
||||||
@@ -11,11 +14,18 @@ export default function LayoutEvent_DetailReview({
|
|||||||
}) {
|
}) {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<UIGlobal_LayoutTamplate
|
{/* <UIGlobal_LayoutTamplate
|
||||||
header={<UIGlobal_LayoutHeaderTamplate title="Detail Review" />}
|
header={<UIGlobal_LayoutHeaderTamplate title="Detail Review" />}
|
||||||
>
|
>
|
||||||
{children}
|
{children}
|
||||||
</UIGlobal_LayoutTamplate>
|
</UIGlobal_LayoutTamplate> */}
|
||||||
|
|
||||||
|
<UI_NewLayoutTamplate>
|
||||||
|
<UI_NewHeader>
|
||||||
|
<Component_Header title="Detail Review" />
|
||||||
|
</UI_NewHeader>
|
||||||
|
<UI_NewChildren>{children}</UI_NewChildren>
|
||||||
|
</UI_NewLayoutTamplate>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,8 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import UIGlobal_LayoutHeaderTamplate from "@/app_modules/_global/ui/ui_header_tamplate";
|
import { Component_Header } from "@/app_modules/_global/component/new/component_header";
|
||||||
import UIGlobal_LayoutTamplate from "@/app_modules/_global/ui/ui_layout_tamplate";
|
import UI_NewLayoutTamplate, { UI_NewChildren, UI_NewHeader } from "@/app_modules/_global/ui/V2_layout_tamplate";
|
||||||
import React from "react";
|
import React from "react";
|
||||||
|
|
||||||
export default function LayoutEvent_DetailRiwayat({
|
export default function LayoutEvent_DetailRiwayat({
|
||||||
children,
|
children,
|
||||||
}: {
|
}: {
|
||||||
@@ -11,9 +10,16 @@ export default function LayoutEvent_DetailRiwayat({
|
|||||||
}) {
|
}) {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<UIGlobal_LayoutTamplate header={<UIGlobal_LayoutHeaderTamplate title="Detail Riwayat" />}>
|
{/* <UIGlobal_LayoutTamplate header={<UIGlobal_LayoutHeaderTamplate title="Detail Riwayat" />}>
|
||||||
{children}
|
{children}
|
||||||
</UIGlobal_LayoutTamplate>
|
</UIGlobal_LayoutTamplate> */}
|
||||||
|
|
||||||
|
<UI_NewLayoutTamplate>
|
||||||
|
<UI_NewHeader>
|
||||||
|
<Component_Header title="Detail Riwayat" />
|
||||||
|
</UI_NewHeader>
|
||||||
|
<UI_NewChildren>{children}</UI_NewChildren>
|
||||||
|
</UI_NewLayoutTamplate>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,10 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import UIGlobal_LayoutHeaderTamplate from "@/app_modules/_global/ui/ui_header_tamplate";
|
import { Component_Header } from "@/app_modules/_global/component/new/component_header";
|
||||||
import UIGlobal_LayoutTamplate from "@/app_modules/_global/ui/ui_layout_tamplate";
|
import UI_NewLayoutTamplate, {
|
||||||
|
UI_NewChildren,
|
||||||
|
UI_NewHeader,
|
||||||
|
} from "@/app_modules/_global/ui/V2_layout_tamplate";
|
||||||
import React from "react";
|
import React from "react";
|
||||||
|
|
||||||
export default function LayoutEvent_Edit({
|
export default function LayoutEvent_Edit({
|
||||||
@@ -11,9 +14,16 @@ export default function LayoutEvent_Edit({
|
|||||||
}) {
|
}) {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<UIGlobal_LayoutTamplate header={<UIGlobal_LayoutHeaderTamplate title="Edit Event" />}>
|
{/* <UIGlobal_LayoutTamplate header={<UIGlobal_LayoutHeaderTamplate title="Edit Event" />}>
|
||||||
{children}
|
{children}
|
||||||
</UIGlobal_LayoutTamplate>
|
</UIGlobal_LayoutTamplate> */}
|
||||||
|
|
||||||
|
<UI_NewLayoutTamplate>
|
||||||
|
<UI_NewHeader>
|
||||||
|
<Component_Header title="Edit Event" />
|
||||||
|
</UI_NewHeader>
|
||||||
|
<UI_NewChildren>{children}</UI_NewChildren>
|
||||||
|
</UI_NewLayoutTamplate>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
31
src/app_modules/event/main/new_layout_event.tsx
Normal file
31
src/app_modules/event/main/new_layout_event.tsx
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
"use client";
|
||||||
|
|
||||||
|
import { Component_Header } from "@/app_modules/_global/component/new/component_header";
|
||||||
|
import UI_NewLayoutTamplate, {
|
||||||
|
UI_NewChildren,
|
||||||
|
UI_NewFooter,
|
||||||
|
UI_NewHeader,
|
||||||
|
} from "@/app_modules/_global/ui/V2_layout_tamplate";
|
||||||
|
import { RouterHome } from "@/lib/router_hipmi/router_home";
|
||||||
|
import React from "react";
|
||||||
|
import { Event_ComponentNewFooter } from "../component/new_footer";
|
||||||
|
|
||||||
|
export default function NewLayout_Event({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode;
|
||||||
|
}) {
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<UI_NewLayoutTamplate>
|
||||||
|
<UI_NewHeader>
|
||||||
|
<Component_Header title="Event" routerLeft={RouterHome.main_home} />
|
||||||
|
</UI_NewHeader>
|
||||||
|
<UI_NewChildren>{children}</UI_NewChildren>
|
||||||
|
<UI_NewFooter>
|
||||||
|
<Event_ComponentNewFooter />
|
||||||
|
</UI_NewFooter>
|
||||||
|
</UI_NewLayoutTamplate>
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -1,12 +1,13 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import { gs_jobTiggerBeranda } from "@/lib/global_state";
|
|
||||||
import { RouterJob } from "@/lib/router_hipmi/router_job";
|
|
||||||
import ComponentGlobal_CreateButton from "@/app_modules/_global/component/button_create";
|
import ComponentGlobal_CreateButton from "@/app_modules/_global/component/button_create";
|
||||||
import ComponentGlobal_IsEmptyData from "@/app_modules/_global/component/is_empty_data";
|
import ComponentGlobal_IsEmptyData from "@/app_modules/_global/component/is_empty_data";
|
||||||
import { ActionIcon, Box, Center, Loader, Stack, TextInput } from "@mantine/core";
|
import { gs_jobTiggerBeranda } from "@/lib/global_state";
|
||||||
|
import { RouterJob } from "@/lib/router_hipmi/router_job";
|
||||||
|
import { clientLogger } from "@/util/clientLogger";
|
||||||
|
import { Box, Center, Loader, Stack, TextInput } from "@mantine/core";
|
||||||
import { useShallowEffect } from "@mantine/hooks";
|
import { useShallowEffect } from "@mantine/hooks";
|
||||||
import { IconPlus, IconSearch } from "@tabler/icons-react";
|
import { IconSearch } from "@tabler/icons-react";
|
||||||
import { useAtom } from "jotai";
|
import { useAtom } from "jotai";
|
||||||
import _ from "lodash";
|
import _ from "lodash";
|
||||||
import { ScrollOnly } from "next-scroll-loader";
|
import { ScrollOnly } from "next-scroll-loader";
|
||||||
@@ -15,11 +16,9 @@ import {
|
|||||||
Job_ComponentButtonUpdateBeranda,
|
Job_ComponentButtonUpdateBeranda,
|
||||||
Job_ComponentSkeletonBeranda,
|
Job_ComponentSkeletonBeranda,
|
||||||
} from "../../component";
|
} from "../../component";
|
||||||
|
import { apiGetJob } from "../../component/api_fetch_job";
|
||||||
import ComponentJob_BerandaCardView from "../../component/beranda/card_view";
|
import ComponentJob_BerandaCardView from "../../component/beranda/card_view";
|
||||||
import { MODEL_JOB } from "../../model/interface";
|
import { MODEL_JOB } from "../../model/interface";
|
||||||
import { apiGetJob } from "../../component/api_fetch_job";
|
|
||||||
import { clientLogger } from "@/util/clientLogger";
|
|
||||||
import Component_NewCreateButton from "@/app_modules/_global/component/new/new_button_create";
|
|
||||||
|
|
||||||
export default function Job_ViewBeranda() {
|
export default function Job_ViewBeranda() {
|
||||||
const [data, setData] = useState<MODEL_JOB[]>([]);
|
const [data, setData] = useState<MODEL_JOB[]>([]);
|
||||||
|
|||||||
Reference in New Issue
Block a user