diff --git a/public/aset/Hipmi Job Vacancy Logo.png b/public/aset/job/logo.png
similarity index 100%
rename from public/aset/Hipmi Job Vacancy Logo.png
rename to public/aset/job/logo.png
diff --git a/src/app/dev/job/create/layout.tsx b/src/app/dev/job/create/layout.tsx
new file mode 100644
index 00000000..e8e52d98
--- /dev/null
+++ b/src/app/dev/job/create/layout.tsx
@@ -0,0 +1,14 @@
+import { LayoutJob_Create } from "@/app_modules/job";
+import React from "react";
+
+export default async function Layout({
+ children,
+}: {
+ children: React.ReactNode;
+}) {
+ return (
+ <>
+ {children}
+ >
+ );
+}
diff --git a/src/app/dev/job/create/page.tsx b/src/app/dev/job/create/page.tsx
new file mode 100644
index 00000000..94c001b8
--- /dev/null
+++ b/src/app/dev/job/create/page.tsx
@@ -0,0 +1,9 @@
+import { Job_Create } from "@/app_modules/job";
+
+export default async function Page() {
+ return (
+ <>
+
+ >
+ );
+}
diff --git a/src/app/dev/job/detail/arsip/layout.tsx b/src/app/dev/job/detail/arsip/layout.tsx
new file mode 100644
index 00000000..835b852d
--- /dev/null
+++ b/src/app/dev/job/detail/arsip/layout.tsx
@@ -0,0 +1,14 @@
+import { LayoutJob_DetailArsip } from "@/app_modules/job";
+import React from "react";
+
+export default async function Layout({
+ children,
+}: {
+ children: React.ReactNode;
+}) {
+ return (
+ <>
+ {children}
+ >
+ );
+}
diff --git a/src/app/dev/job/detail/arsip/page.tsx b/src/app/dev/job/detail/arsip/page.tsx
new file mode 100644
index 00000000..ff29c264
--- /dev/null
+++ b/src/app/dev/job/detail/arsip/page.tsx
@@ -0,0 +1,9 @@
+import { Job_DetailArsip } from "@/app_modules/job";
+
+export default async function Page() {
+ return (
+ <>
+
+ >
+ );
+}
diff --git a/src/app/dev/job/detail/draft/layout.tsx b/src/app/dev/job/detail/draft/layout.tsx
new file mode 100644
index 00000000..787172d7
--- /dev/null
+++ b/src/app/dev/job/detail/draft/layout.tsx
@@ -0,0 +1,14 @@
+import { LayoutJob_DetailDraft } from "@/app_modules/job";
+import React from "react";
+
+export default async function Layout({
+ children,
+}: {
+ children: React.ReactNode;
+}) {
+ return (
+ <>
+ {children}
+ >
+ );
+}
diff --git a/src/app/dev/job/detail/draft/page.tsx b/src/app/dev/job/detail/draft/page.tsx
new file mode 100644
index 00000000..83f43444
--- /dev/null
+++ b/src/app/dev/job/detail/draft/page.tsx
@@ -0,0 +1,10 @@
+import Job_DetailDraft from "@/app_modules/job/detail/draft/view";
+
+
+export default async function Page() {
+ return (
+ <>
+
+ >
+ );
+}
diff --git a/src/app/dev/job/detail/main/layout.tsx b/src/app/dev/job/detail/main/layout.tsx
new file mode 100644
index 00000000..4e757aed
--- /dev/null
+++ b/src/app/dev/job/detail/main/layout.tsx
@@ -0,0 +1,14 @@
+import { LayoutJob_MainDetail } from "@/app_modules/job";
+import React from "react";
+
+export default async function Layout({
+ children,
+}: {
+ children: React.ReactNode;
+}) {
+ return (
+ <>
+ {children}
+ >
+ );
+}
diff --git a/src/app/dev/job/detail/main/page.tsx b/src/app/dev/job/detail/main/page.tsx
new file mode 100644
index 00000000..2d9ee849
--- /dev/null
+++ b/src/app/dev/job/detail/main/page.tsx
@@ -0,0 +1,9 @@
+import { Job_MainDetail } from "@/app_modules/job";
+
+export default async function Page() {
+ return (
+ <>
+
+ >
+ );
+}
diff --git a/src/app/dev/job/detail/publish/layout.tsx b/src/app/dev/job/detail/publish/layout.tsx
new file mode 100644
index 00000000..204d05d8
--- /dev/null
+++ b/src/app/dev/job/detail/publish/layout.tsx
@@ -0,0 +1,14 @@
+import { LayoutJob_DetailPublish } from "@/app_modules/job";
+import React from "react";
+
+export default async function Layout({
+ children,
+}: {
+ children: React.ReactNode;
+}) {
+ return (
+ <>
+ {children}
+ >
+ );
+}
diff --git a/src/app/dev/job/detail/publish/page.tsx b/src/app/dev/job/detail/publish/page.tsx
new file mode 100644
index 00000000..54179745
--- /dev/null
+++ b/src/app/dev/job/detail/publish/page.tsx
@@ -0,0 +1,9 @@
+import { Job_DetailPublish } from "@/app_modules/job";
+
+export default async function Page() {
+ return (
+ <>
+
+ >
+ );
+}
diff --git a/src/app/dev/job/detail/reject/layout.tsx b/src/app/dev/job/detail/reject/layout.tsx
new file mode 100644
index 00000000..f7ed9999
--- /dev/null
+++ b/src/app/dev/job/detail/reject/layout.tsx
@@ -0,0 +1,14 @@
+import { LayoutJob_DetailReject } from "@/app_modules/job";
+import React from "react";
+
+export default async function Layout({
+ children,
+}: {
+ children: React.ReactNode;
+}) {
+ return (
+ <>
+ {children}
+ >
+ );
+}
diff --git a/src/app/dev/job/detail/reject/page.tsx b/src/app/dev/job/detail/reject/page.tsx
new file mode 100644
index 00000000..dbb8d096
--- /dev/null
+++ b/src/app/dev/job/detail/reject/page.tsx
@@ -0,0 +1,10 @@
+
+import Job_DetailReject from "@/app_modules/job/detail/reject/view";
+
+export default async function Page() {
+ return (
+ <>
+
+ >
+ );
+}
diff --git a/src/app/dev/job/detail/review/layout.tsx b/src/app/dev/job/detail/review/layout.tsx
new file mode 100644
index 00000000..ad8216c2
--- /dev/null
+++ b/src/app/dev/job/detail/review/layout.tsx
@@ -0,0 +1,14 @@
+import { LayoutJob_DetailReview } from "@/app_modules/job";
+import React from "react";
+
+export default async function Layout({
+ children,
+}: {
+ children: React.ReactNode;
+}) {
+ return (
+ <>
+ {children}
+ >
+ );
+}
diff --git a/src/app/dev/job/detail/review/page.tsx b/src/app/dev/job/detail/review/page.tsx
new file mode 100644
index 00000000..7578351a
--- /dev/null
+++ b/src/app/dev/job/detail/review/page.tsx
@@ -0,0 +1,9 @@
+import Job_DetailReview from "@/app_modules/job/detail/review/view";
+
+export default async function Page() {
+ return (
+ <>
+
+ >
+ );
+}
diff --git a/src/app/dev/job/edit/layout.tsx b/src/app/dev/job/edit/layout.tsx
new file mode 100644
index 00000000..f2024656
--- /dev/null
+++ b/src/app/dev/job/edit/layout.tsx
@@ -0,0 +1,14 @@
+import { LayoutJob_Edit } from "@/app_modules/job";
+import React from "react";
+
+export default async function Layout({
+ children,
+}: {
+ children: React.ReactNode;
+}) {
+ return (
+ <>
+ {children}
+ >
+ );
+}
diff --git a/src/app/dev/job/edit/page.tsx b/src/app/dev/job/edit/page.tsx
new file mode 100644
index 00000000..66c208ae
--- /dev/null
+++ b/src/app/dev/job/edit/page.tsx
@@ -0,0 +1,9 @@
+import { Job_Edit } from "@/app_modules/job";
+
+export default async function Page() {
+ return (
+ <>
+
+ >
+ );
+}
diff --git a/src/app/dev/job/main/arsip/page.tsx b/src/app/dev/job/main/arsip/page.tsx
new file mode 100644
index 00000000..65cbc583
--- /dev/null
+++ b/src/app/dev/job/main/arsip/page.tsx
@@ -0,0 +1,9 @@
+import { Job_Arsip } from "@/app_modules/job";
+
+export default async function Page() {
+ return (
+ <>
+
+ >
+ );
+}
diff --git a/src/app/dev/job/main/beranda/page.tsx b/src/app/dev/job/main/beranda/page.tsx
new file mode 100644
index 00000000..e8e7e913
--- /dev/null
+++ b/src/app/dev/job/main/beranda/page.tsx
@@ -0,0 +1,9 @@
+import { Job_Beranda } from "@/app_modules/job";
+
+export default async function Page() {
+ return (
+ <>
+
+ >
+ );
+}
diff --git a/src/app/dev/job/main/layout.tsx b/src/app/dev/job/main/layout.tsx
new file mode 100644
index 00000000..337a18bc
--- /dev/null
+++ b/src/app/dev/job/main/layout.tsx
@@ -0,0 +1,14 @@
+import { LayoutJob_Main } from "@/app_modules/job";
+import React from "react";
+
+export default async function Layout({
+ children,
+}: {
+ children: React.ReactNode;
+}) {
+ return (
+ <>
+ {children}
+ >
+ );
+}
diff --git a/src/app/dev/job/main/status/page.tsx b/src/app/dev/job/main/status/page.tsx
new file mode 100644
index 00000000..fcfc5e43
--- /dev/null
+++ b/src/app/dev/job/main/status/page.tsx
@@ -0,0 +1,14 @@
+import { Job_Status } from "@/app_modules/job";
+
+export default async function Page() {
+ return (
+ <>
+
+ >
+ );
+}
diff --git a/src/app/dev/job/non_user_view/layout.tsx b/src/app/dev/job/non_user_view/layout.tsx
new file mode 100644
index 00000000..74cd4a16
--- /dev/null
+++ b/src/app/dev/job/non_user_view/layout.tsx
@@ -0,0 +1,14 @@
+import { LayoutJob_NonUserView } from "@/app_modules/job";
+import React from "react";
+
+export default async function Layout({
+ children,
+}: {
+ children: React.ReactNode;
+}) {
+ return (
+ <>
+ {children}
+ >
+ );
+}
diff --git a/src/app/dev/job/non_user_view/page.tsx b/src/app/dev/job/non_user_view/page.tsx
new file mode 100644
index 00000000..093eb03c
--- /dev/null
+++ b/src/app/dev/job/non_user_view/page.tsx
@@ -0,0 +1,9 @@
+import { Job_NonUserView } from "@/app_modules/job";
+
+export default async function page() {
+ return (
+ <>
+
+ >
+ );
+}
diff --git a/src/app/dev/job/splash/page.tsx b/src/app/dev/job/splash/page.tsx
new file mode 100644
index 00000000..5286f7dc
--- /dev/null
+++ b/src/app/dev/job/splash/page.tsx
@@ -0,0 +1,9 @@
+import { Job_Splash } from "@/app_modules/job";
+
+export default async function Page() {
+ return (
+ <>
+
+ >
+ );
+}
diff --git a/src/app/lib/router_hipmi/router_job.ts b/src/app/lib/router_hipmi/router_job.ts
new file mode 100644
index 00000000..a46a4ea0
--- /dev/null
+++ b/src/app/lib/router_hipmi/router_job.ts
@@ -0,0 +1,23 @@
+export const RouterJob = {
+ spalsh: "/dev/job/splash",
+
+ // main
+ beranda: "/dev/job/main/beranda",
+ status: "/dev/job/main/status",
+ arsip: "/dev/job/main/arsip",
+
+ // create & edit
+ create: "/dev/job/create",
+ edit: "/dev/job/edit",
+
+ // detail
+ main_detail: "/dev/job/detail/main",
+ detail_publish: "/dev/job/detail/publish",
+ detail_review: "/dev/job/detail/review",
+ detail_draft: "/dev/job/detail/draft",
+ detail_reject: "/dev/job/detail/reject",
+ detail_arsip: "/dev/job/detail/arsip",
+
+ // non user
+ non_user_view: "/dev/job/non_user_view",
+};
diff --git a/src/app_modules/home/layout.tsx b/src/app_modules/home/layout.tsx
index 9d98cbc8..ab1a3721 100644
--- a/src/app_modules/home/layout.tsx
+++ b/src/app_modules/home/layout.tsx
@@ -86,7 +86,7 @@ export default function HomeLayout({
ComponentGlobal_NotifikasiPeringatan("Lengkapi Profile");
} else {
// router.push(RouterProfile.katalog + `${user.Profile.id}`);
- router.push(RouterUserSearch.main)
+ router.push(RouterUserSearch.main);
}
}}
>
@@ -111,7 +111,23 @@ export default function HomeLayout({
>
- {user.Profile === null ? : }
+ {user.Profile === null ? (
+
+ ) : (
+
+ )}
Profile
@@ -122,7 +138,6 @@ export default function HomeLayout({
}
>
-
{children}
>
diff --git a/src/app_modules/home/view.tsx b/src/app_modules/home/view.tsx
index e1e6d88c..ac100e7d 100644
--- a/src/app_modules/home/view.tsx
+++ b/src/app_modules/home/view.tsx
@@ -34,6 +34,7 @@ import { RouterEvent } from "@/app/lib/router_hipmi/router_event";
import { RouterVote } from "@/app/lib/router_hipmi/router_vote";
import { MODEL_USER } from "./model/interface";
import { ComponentGlobal_NotifikasiPeringatan } from "../component_global/notif_global/notifikasi_peringatan";
+import { RouterJob } from "@/app/lib/router_hipmi/router_job";
export default function HomeView({ dataUser }: { dataUser: MODEL_USER }) {
const router = useRouter();
@@ -62,7 +63,7 @@ export default function HomeView({ dataUser }: { dataUser: MODEL_USER }) {
id: 4,
name: "Job Vacancy",
icon: ,
- link: "",
+ link: RouterJob.spalsh,
},
{
diff --git a/src/app_modules/job/component/card_view_status.tsx b/src/app_modules/job/component/card_view_status.tsx
new file mode 100644
index 00000000..ee73189b
--- /dev/null
+++ b/src/app_modules/job/component/card_view_status.tsx
@@ -0,0 +1,68 @@
+"use client";
+
+import { Stack, Card, Grid, Image, Text } from "@mantine/core";
+import _ from "lodash";
+import ComponentJob_IsEmptyData from "./is_empty_data";
+import { useRouter } from "next/navigation";
+import { ComponentGlobal_NotifikasiPeringatan } from "@/app_modules/component_global/notif_global/notifikasi_peringatan";
+
+export default function ComponentJob_CardViewStatus({
+ listData,
+ path,
+}: {
+ listData?: any[];
+ path?: any;
+}) {
+ const router = useRouter();
+ if (_.isEmpty(listData))
+ return (
+ <>
+
+ >
+ );
+
+ return (
+ <>
+
+ {listData?.map((e, i) => (
+ {
+ if (path === undefined) {
+ return ComponentGlobal_NotifikasiPeringatan(
+ "Path tidak ditemukan"
+ );
+ } else {
+ router.push(path);
+ }
+ }}
+ >
+
+
+
+
+
+
+
+
+ Judul Lowongan Kerja
+
+
+ Lorem ipsum dolor sit amet consectetur, adipisicing elit.
+ Laboriosam est id neque iste voluptatem consequuntur
+ veritatis dolorem illo et, repellat praesentium maiores
+ amet omnis voluptas aliquid tenetur nam sint obcaecati.
+
+
+
+
+
+
+ ))}
+
+ >
+ );
+}
diff --git a/src/app_modules/job/component/detail/detail_data.tsx b/src/app_modules/job/component/detail/detail_data.tsx
new file mode 100644
index 00000000..a960b6a1
--- /dev/null
+++ b/src/app_modules/job/component/detail/detail_data.tsx
@@ -0,0 +1,49 @@
+"use client"
+
+import { Card, Stack, Skeleton, Image, Text } from "@mantine/core";
+
+
+export default function ComponentJob_DetailData(){
+ return (
+ <>
+
+
+
+
+
+
+ Judul Lowongan Kerja
+
+
+
+
+
+ Syarat & Ketentuan :
+
+
+ {Array(5)
+ .fill(0)
+ .map((e, i) => (
+
+ ))}
+
+
+
+
+
+ Deskripsi
+
+
+ {Array(5)
+ .fill(0)
+ .map((e, i) => (
+
+ ))}
+
+
+
+
+
+ >
+ );
+}
\ No newline at end of file
diff --git a/src/app_modules/job/component/detail/noted_box.tsx b/src/app_modules/job/component/detail/noted_box.tsx
new file mode 100644
index 00000000..6f7c6184
--- /dev/null
+++ b/src/app_modules/job/component/detail/noted_box.tsx
@@ -0,0 +1,22 @@
+import { Center, Grid, Group, Paper, Text, Title } from "@mantine/core";
+
+export default function ComponentJob_NotedBox({
+ informasi,
+}: {
+ informasi: string;
+}) {
+ return (
+ <>
+
+
+
+
+ *{" "}
+
+ {informasi}
+
+
+
+ >
+ );
+}
diff --git a/src/app_modules/job/component/header_tamplate.tsx b/src/app_modules/job/component/header_tamplate.tsx
new file mode 100644
index 00000000..ac438ff5
--- /dev/null
+++ b/src/app_modules/job/component/header_tamplate.tsx
@@ -0,0 +1,69 @@
+"use client";
+
+import { Header, Group, ActionIcon, Text, Title } from "@mantine/core";
+import { IconArrowLeft, IconChevronLeft } from "@tabler/icons-react";
+import { useRouter } from "next/navigation";
+import { useState } from "react";
+
+export default function ComponentJob_HeaderTamplate({
+ hideBack,
+ changeIconBack,
+ route,
+ route2,
+ title,
+ icon,
+ bg,
+}: {
+ hideBack?: boolean;
+ changeIconBack?: any;
+ route?: any;
+ route2?: any;
+ title: string;
+ icon?: any;
+ bg?: any;
+}) {
+ const router = useRouter();
+ return (
+ <>
+
+
+ {hideBack ? (
+
+ ) : (
+ {
+ if (route === null || route === undefined) {
+ return router.back();
+ } else {
+ return router.push(route);
+ }
+ }}
+ >
+ {changeIconBack ? changeIconBack : }
+
+ )}
+ {title}
+ {(() => {
+ if (route2 === null || route2 === undefined) {
+ return ;
+ } else {
+ return (
+ router.push(route2)}
+ >
+ {icon}
+
+ );
+ }
+ })()}
+
+
+ >
+ );
+}
diff --git a/src/app_modules/job/component/is_empty_data.tsx b/src/app_modules/job/component/is_empty_data.tsx
new file mode 100644
index 00000000..b0f1c300
--- /dev/null
+++ b/src/app_modules/job/component/is_empty_data.tsx
@@ -0,0 +1,13 @@
+"use client";
+
+import { Center } from "@mantine/core";
+
+export default function ComponentJob_IsEmptyData({ text }: { text: string }) {
+ return (
+ <>
+
+ {text}
+
+ >
+ );
+}
diff --git a/src/app_modules/job/create/layout.tsx b/src/app_modules/job/create/layout.tsx
new file mode 100644
index 00000000..f68b5613
--- /dev/null
+++ b/src/app_modules/job/create/layout.tsx
@@ -0,0 +1,21 @@
+"use client";
+
+import { AppShell } from "@mantine/core";
+import React from "react";
+import ComponentJob_HeaderTamplate from "../component/header_tamplate";
+
+export default function LayoutJob_Create({
+ children,
+}: {
+ children: React.ReactNode;
+}) {
+ return (
+ <>
+ }
+ >
+ {children}
+
+ >
+ );
+}
diff --git a/src/app_modules/job/create/view.tsx b/src/app_modules/job/create/view.tsx
new file mode 100644
index 00000000..9130aee9
--- /dev/null
+++ b/src/app_modules/job/create/view.tsx
@@ -0,0 +1,101 @@
+"use client";
+
+import { RouterJob } from "@/app/lib/router_hipmi/router_job";
+import {
+ AspectRatio,
+ Box,
+ Button,
+ Center,
+ Flex,
+ Image,
+ Stack,
+ Text,
+ TextInput,
+ Textarea,
+} from "@mantine/core";
+import { IconCamera } from "@tabler/icons-react";
+import { useAtom } from "jotai";
+import _ from "lodash";
+import { useRouter } from "next/navigation";
+import { useState } from "react";
+import { gs_job_hot_menu, gs_job_status } from "../global_state";
+import { ComponentGlobal_NotifikasiBerhasil } from "@/app_modules/component_global/notif_global/notifikasi_berhasil";
+
+export default function Job_Create() {
+ const [value, setValue] = useState();
+ const [ambil, setAmbil] = useState([]);
+
+ return (
+ <>
+
+
+
+
+
+ {/*
+ {ambil.map((v, k) => (
+ {v}
+ ))}
+
+
+ {}}
+ />
+ */}
+
+
+
+
+ {/* */}
+
+ >
+ );
+}
+
+function ButtonAction() {
+ const router = useRouter();
+ const [hotMenu, setHotMenu] = useAtom(gs_job_hot_menu);
+ const [status, setStatus] = useAtom(gs_job_status);
+
+ return (
+ <>
+
+ >
+ );
+}
diff --git a/src/app_modules/job/detail/arsip/layout.tsx b/src/app_modules/job/detail/arsip/layout.tsx
new file mode 100644
index 00000000..366ce359
--- /dev/null
+++ b/src/app_modules/job/detail/arsip/layout.tsx
@@ -0,0 +1,19 @@
+"use client";
+
+import { AppShell } from "@mantine/core";
+import React from "react";
+import ComponentJob_HeaderTamplate from "../../component/header_tamplate";
+
+export default function LayoutJob_DetailArsip({
+ children,
+}: {
+ children: React.ReactNode;
+}) {
+ return (
+ <>
+ }>
+ {children}
+
+ >
+ );
+}
diff --git a/src/app_modules/job/detail/arsip/view.tsx b/src/app_modules/job/detail/arsip/view.tsx
new file mode 100644
index 00000000..d6e5119f
--- /dev/null
+++ b/src/app_modules/job/detail/arsip/view.tsx
@@ -0,0 +1,14 @@
+"use client";
+
+import { Stack } from "@mantine/core";
+import ComponentJob_DetailData from "../../component/detail/detail_data";
+
+export default function Job_DetailArsip() {
+ return (
+ <>
+
+
+
+ >
+ );
+}
diff --git a/src/app_modules/job/detail/draft/layout.tsx b/src/app_modules/job/detail/draft/layout.tsx
new file mode 100644
index 00000000..580e31d8
--- /dev/null
+++ b/src/app_modules/job/detail/draft/layout.tsx
@@ -0,0 +1,29 @@
+"use client";
+
+import { AppShell } from "@mantine/core";
+import React from "react";
+import ComponentJob_HeaderTamplate from "../../component/header_tamplate";
+import { IconEdit } from "@tabler/icons-react";
+import { RouterJob } from "@/app/lib/router_hipmi/router_job";
+
+export default function LayoutJob_DetailDraft({
+ children,
+}: {
+ children: React.ReactNode;
+}) {
+ return (
+ <>
+ }
+ route2={RouterJob.edit}
+ />
+ }
+ >
+ {children}
+
+ >
+ );
+}
diff --git a/src/app_modules/job/detail/draft/view.tsx b/src/app_modules/job/detail/draft/view.tsx
new file mode 100644
index 00000000..47a53671
--- /dev/null
+++ b/src/app_modules/job/detail/draft/view.tsx
@@ -0,0 +1,92 @@
+"use client";
+
+import { RouterJob } from "@/app/lib/router_hipmi/router_job";
+import { ComponentGlobal_NotifikasiBerhasil } from "@/app_modules/component_global/notif_global/notifikasi_berhasil";
+import { Stack, Button, Group, Modal, Paper, Title } from "@mantine/core";
+import { useAtom } from "jotai";
+
+import ComponentJob_DetailData from "../../component/detail/detail_data";
+import { gs_job_status } from "../../global_state";
+import { useRouter } from "next/navigation";
+import { useDisclosure } from "@mantine/hooks";
+
+export default function Job_DetailDraft() {
+ return (
+ <>
+
+
+
+
+ >
+ );
+}
+
+function ButtonAction() {
+ const router = useRouter();
+ const [status, setStatus] = useAtom(gs_job_status);
+ const [opened, { open, close }] = useDisclosure();
+
+ async function onAction() {
+ router.push(RouterJob.status);
+ setStatus("Review");
+ ComponentGlobal_NotifikasiBerhasil("Berhasil Diajukan");
+ }
+
+ async function onDelete() {
+ router.push(RouterJob.status);
+ setStatus("Draft");
+ ComponentGlobal_NotifikasiBerhasil("Berhasil Hapus Draft");
+ }
+
+ return (
+ <>
+
+
+
+ Yakin ingin menghapus ini ?
+
+
+
+
+
+
+
+
+
+
+
+
+ >
+ );
+}
diff --git a/src/app_modules/job/detail/main/layout.tsx b/src/app_modules/job/detail/main/layout.tsx
new file mode 100644
index 00000000..a2355995
--- /dev/null
+++ b/src/app_modules/job/detail/main/layout.tsx
@@ -0,0 +1,19 @@
+"use client";
+
+import { AppShell } from "@mantine/core";
+import React from "react";
+import ComponentJob_HeaderTamplate from "../../component/header_tamplate";
+
+export default function LayoutJob_MainDetail({
+ children,
+}: {
+ children: React.ReactNode;
+}) {
+ return (
+ <>
+ }>
+ {children}
+
+ >
+ );
+}
diff --git a/src/app_modules/job/detail/main/view.tsx b/src/app_modules/job/detail/main/view.tsx
new file mode 100644
index 00000000..d42f5ea8
--- /dev/null
+++ b/src/app_modules/job/detail/main/view.tsx
@@ -0,0 +1,59 @@
+"use client";
+
+import { useRouter } from "next/navigation";
+import ComponentJob_DetailData from "../../component/detail/detail_data";
+import { RouterJob } from "@/app/lib/router_hipmi/router_job";
+import { ComponentGlobal_NotifikasiBerhasil } from "@/app_modules/component_global/notif_global/notifikasi_berhasil";
+import { Stack, Button, Center } from "@mantine/core";
+import { useAtom } from "jotai";
+import { gs_job_status, gs_job_hot_menu } from "../../global_state";
+import Link from "next/link";
+import { IconBrandWhatsapp } from "@tabler/icons-react";
+
+export default function Job_MainDetail() {
+ return (
+ <>
+
+
+
+
+ >
+ );
+}
+
+function ButtonAction() {
+ const router = useRouter();
+ const [status, setStatus] = useAtom(gs_job_status);
+ const [hotMenu, setHotMenu] = useAtom(gs_job_hot_menu);
+
+ async function onAction() {
+ // router.push(RouterJob.arsip);
+ // setStatus("Publish");
+ // setHotMenu(3);
+ // ComponentGlobal_NotifikasiBerhasil("Berhasil Diarsipkan");
+ }
+
+ return (
+ <>
+
+ }
+ onClick={() => {
+ onAction();
+ }}
+ >
+
+ Bagikan ke WhatsApp
+
+
+
+ >
+ );
+}
diff --git a/src/app_modules/job/detail/publish/layout.tsx b/src/app_modules/job/detail/publish/layout.tsx
new file mode 100644
index 00000000..775f9a77
--- /dev/null
+++ b/src/app_modules/job/detail/publish/layout.tsx
@@ -0,0 +1,19 @@
+"use client";
+
+import { AppShell } from "@mantine/core";
+import React from "react";
+import ComponentJob_HeaderTamplate from "../../component/header_tamplate";
+
+export default function LayoutJob_DetailPublish({
+ children,
+}: {
+ children: React.ReactNode;
+}) {
+ return (
+ <>
+ }>
+ {children}
+
+ >
+ );
+}
diff --git a/src/app_modules/job/detail/publish/view.tsx b/src/app_modules/job/detail/publish/view.tsx
new file mode 100644
index 00000000..b0323c4e
--- /dev/null
+++ b/src/app_modules/job/detail/publish/view.tsx
@@ -0,0 +1,46 @@
+"use client";
+
+import { useRouter } from "next/navigation";
+import ComponentJob_DetailData from "../../component/detail/detail_data";
+import { RouterJob } from "@/app/lib/router_hipmi/router_job";
+import { ComponentGlobal_NotifikasiBerhasil } from "@/app_modules/component_global/notif_global/notifikasi_berhasil";
+import { Stack, Button } from "@mantine/core";
+import { useAtom } from "jotai";
+import { gs_job_hot_menu, gs_job_status } from "../../global_state";
+
+export default function Job_DetailPublish() {
+ return (
+ <>
+
+
+
+
+ >
+ );
+}
+
+function ButtonAction() {
+ const router = useRouter();
+ const [status, setStatus] = useAtom(gs_job_status);
+ const [hotMenu, setHotMenu] = useAtom(gs_job_hot_menu)
+ async function onAction() {
+ router.push(RouterJob.arsip);
+ setStatus("Publish");
+ setHotMenu(3)
+ ComponentGlobal_NotifikasiBerhasil("Berhasil Diarsipkan");
+ }
+ return (
+ <>
+
+ >
+ );
+}
diff --git a/src/app_modules/job/detail/reject/layout.tsx b/src/app_modules/job/detail/reject/layout.tsx
new file mode 100644
index 00000000..ce563baa
--- /dev/null
+++ b/src/app_modules/job/detail/reject/layout.tsx
@@ -0,0 +1,19 @@
+"use client";
+
+import { AppShell } from "@mantine/core";
+import React from "react";
+import ComponentJob_HeaderTamplate from "../../component/header_tamplate";
+
+export default function LayoutJob_DetailReject({
+ children,
+}: {
+ children: React.ReactNode;
+}) {
+ return (
+ <>
+ }>
+ {children}
+
+ >
+ );
+}
diff --git a/src/app_modules/job/detail/reject/view.tsx b/src/app_modules/job/detail/reject/view.tsx
new file mode 100644
index 00000000..705ff320
--- /dev/null
+++ b/src/app_modules/job/detail/reject/view.tsx
@@ -0,0 +1,94 @@
+"use client";
+
+import { RouterJob } from "@/app/lib/router_hipmi/router_job";
+import { ComponentGlobal_NotifikasiBerhasil } from "@/app_modules/component_global/notif_global/notifikasi_berhasil";
+import { Stack, Button, Group, Modal, Paper, Title } from "@mantine/core";
+import { useAtom } from "jotai";
+
+import ComponentJob_DetailData from "../../component/detail/detail_data";
+import { gs_job_status } from "../../global_state";
+import { useRouter } from "next/navigation";
+import { useDisclosure } from "@mantine/hooks";
+import ComponentJob_NotedBox from "../../component/detail/noted_box";
+
+export default function Job_DetailReject() {
+ return (
+ <>
+
+
+
+
+
+ >
+ );
+}
+
+function ButtonAction() {
+ const router = useRouter();
+ const [status, setStatus] = useAtom(gs_job_status);
+ const [opened, { open, close }] = useDisclosure();
+
+ async function onAction() {
+ router.push(RouterJob.status);
+ setStatus("Draft");
+ ComponentGlobal_NotifikasiBerhasil("Masuk Draft");
+ }
+
+ async function onDelete() {
+ router.push(RouterJob.status);
+ setStatus("Reject");
+ ComponentGlobal_NotifikasiBerhasil("Berhasil Hapus Job");
+ }
+
+ return (
+ <>
+
+
+
+ Yakin ingin menghapus ini ?
+
+
+
+
+
+
+
+
+
+
+
+
+ >
+ );
+}
diff --git a/src/app_modules/job/detail/review/layout.tsx b/src/app_modules/job/detail/review/layout.tsx
new file mode 100644
index 00000000..61f74589
--- /dev/null
+++ b/src/app_modules/job/detail/review/layout.tsx
@@ -0,0 +1,19 @@
+"use client";
+
+import { AppShell } from "@mantine/core";
+import React from "react";
+import ComponentJob_HeaderTamplate from "../../component/header_tamplate";
+
+export default function LayoutJob_DetailReview({
+ children,
+}: {
+ children: React.ReactNode;
+}) {
+ return (
+ <>
+ }>
+ {children}
+
+ >
+ );
+}
diff --git a/src/app_modules/job/detail/review/view.tsx b/src/app_modules/job/detail/review/view.tsx
new file mode 100644
index 00000000..33a41868
--- /dev/null
+++ b/src/app_modules/job/detail/review/view.tsx
@@ -0,0 +1,44 @@
+"use client";
+
+import { Button, Card, Image, Skeleton, Stack, Text } from "@mantine/core";
+import ComponentJob_DetailData from "../../component/detail/detail_data";
+import { useRouter } from "next/navigation";
+import { RouterJob } from "@/app/lib/router_hipmi/router_job";
+import { useAtom } from "jotai";
+import { gs_job_status } from "../../global_state";
+import { ComponentGlobal_NotifikasiBerhasil } from "@/app_modules/component_global/notif_global/notifikasi_berhasil";
+
+export default function Job_DetailReview() {
+ return (
+ <>
+
+
+
+
+ >
+ );
+}
+
+function ButtonAction() {
+ const router = useRouter();
+ const [status, setStatus] = useAtom(gs_job_status);
+ async function onAction() {
+ router.push(RouterJob.status);
+ setStatus("Draft");
+ ComponentGlobal_NotifikasiBerhasil("Berhasil Dibatalkan");
+ }
+ return (
+ <>
+
+ >
+ );
+}
diff --git a/src/app_modules/job/edit/layout.tsx b/src/app_modules/job/edit/layout.tsx
new file mode 100644
index 00000000..8d76e86d
--- /dev/null
+++ b/src/app_modules/job/edit/layout.tsx
@@ -0,0 +1,19 @@
+"use client";
+
+import { AppShell } from "@mantine/core";
+import React from "react";
+import ComponentJob_HeaderTamplate from "../component/header_tamplate";
+
+export default function LayoutJob_Edit({
+ children,
+}: {
+ children: React.ReactNode;
+}) {
+ return (
+ <>
+ }>
+ {children}
+
+ >
+ );
+}
diff --git a/src/app_modules/job/edit/view.tsx b/src/app_modules/job/edit/view.tsx
new file mode 100644
index 00000000..c6f649f1
--- /dev/null
+++ b/src/app_modules/job/edit/view.tsx
@@ -0,0 +1,87 @@
+"use client";
+
+import { RouterJob } from "@/app/lib/router_hipmi/router_job";
+import { ComponentGlobal_NotifikasiBerhasil } from "@/app_modules/component_global/notif_global/notifikasi_berhasil";
+import { Button, Image, Stack, Text, TextInput, Textarea } from "@mantine/core";
+import { IconCamera } from "@tabler/icons-react";
+import { useAtom } from "jotai";
+import _ from "lodash";
+import { useRouter } from "next/navigation";
+import { useState } from "react";
+import { gs_job_hot_menu, gs_job_status } from "../global_state";
+
+export default function Job_Edit() {
+ const [value, setValue] = useState();
+ const [ambil, setAmbil] = useState([]);
+
+ return (
+ <>
+
+
+
+
+
+
+ {ambil.map((v, k) => (
+ {v}
+ ))}
+
+
+ {}}
+ />
+
+
+
+ >
+ );
+}
+
+function ButtonAction() {
+ const router = useRouter();
+ const [hotMenu, setHotMenu] = useAtom(gs_job_hot_menu);
+ const [status, setStatus] = useAtom(gs_job_status);
+
+ return (
+ <>
+
+ >
+ );
+}
diff --git a/src/app_modules/job/global_state/index.ts b/src/app_modules/job/global_state/index.ts
new file mode 100644
index 00000000..bd83c615
--- /dev/null
+++ b/src/app_modules/job/global_state/index.ts
@@ -0,0 +1,9 @@
+import { atomWithStorage } from "jotai/utils";
+
+/**
+ * @param 1: Beranda, 2: Status, 3: Arsip
+ * @returns halaman pada layout
+ */
+export const gs_job_hot_menu = atomWithStorage("gs_jobs_hot_menu", 1);
+
+export const gs_job_status = atomWithStorage("gs_job_status", "Publish");
diff --git a/src/app_modules/job/index.ts b/src/app_modules/job/index.ts
new file mode 100644
index 00000000..28daa1b5
--- /dev/null
+++ b/src/app_modules/job/index.ts
@@ -0,0 +1,49 @@
+import Job_Beranda from "./main/beranda";
+import LayoutJob_Main from "./main/layout";
+import Job_Splash from "./splash/view";
+import Job_Status from "./main/status/view";
+import Job_Arsip from "./main/arsip";
+import Job_Create from "./create/view";
+import LayoutJob_Create from "./create/layout";
+import Job_DetailPublish from "./detail/publish/view";
+import LayoutJob_DetailPublish from "./detail/publish/layout";
+import Job_Review from "./main/status/review";
+import LayoutJob_DetailReview from "./detail/review/layout";
+import Job_Draft from "./main/status/draft";
+import LayoutJob_DetailDraft from "./detail/draft/layout";
+import Job_Reject from "./main/status/reject";
+import LayoutJob_DetailReject from "./detail/reject/layout";
+import Job_MainDetail from "./detail/main/view";
+import LayoutJob_MainDetail from "./detail/main/layout";
+import Job_NonUserView from "./non_user_view/view";
+import LayoutJob_NonUserView from "./non_user_view/layout";
+import Job_DetailArsip from "./detail/arsip/view";
+import LayoutJob_DetailArsip from "./detail/arsip/layout";
+import Job_Edit from "./edit/view";
+import LayoutJob_Edit from "./edit/layout";
+
+export {
+ Job_Beranda,
+ LayoutJob_Main,
+ Job_Splash,
+ Job_Status,
+ Job_Arsip,
+ Job_Create,
+ LayoutJob_Create,
+ Job_DetailPublish,
+ LayoutJob_DetailPublish,
+ Job_Review,
+ LayoutJob_DetailReview,
+ Job_Draft,
+ LayoutJob_DetailDraft,
+ Job_Reject,
+ LayoutJob_DetailReject,
+ Job_MainDetail,
+ LayoutJob_MainDetail,
+ Job_NonUserView,
+ LayoutJob_NonUserView,
+ Job_DetailArsip,
+ LayoutJob_DetailArsip,
+ Job_Edit,
+ LayoutJob_Edit,
+};
diff --git a/src/app_modules/job/main/arsip.tsx b/src/app_modules/job/main/arsip.tsx
new file mode 100644
index 00000000..058711b6
--- /dev/null
+++ b/src/app_modules/job/main/arsip.tsx
@@ -0,0 +1,17 @@
+"use client";
+
+import ComponentGlobal_AuthorNameOnHeader from "@/app_modules/component_global/author_name_on_header";
+import { Stack, Card, Grid, Image, Text } from "@mantine/core";
+import ComponentJob_CardViewStatus from "../component/card_view_status";
+import { RouterJob } from "@/app/lib/router_hipmi/router_job";
+
+export default function Job_Arsip() {
+ return (
+ <>
+
+ >
+ );
+}
diff --git a/src/app_modules/job/main/beranda.tsx b/src/app_modules/job/main/beranda.tsx
new file mode 100644
index 00000000..7743916e
--- /dev/null
+++ b/src/app_modules/job/main/beranda.tsx
@@ -0,0 +1,73 @@
+"use client";
+
+import { RouterJob } from "@/app/lib/router_hipmi/router_job";
+import { RouterVote } from "@/app/lib/router_hipmi/router_vote";
+import ComponentGlobal_AuthorNameOnHeader from "@/app_modules/component_global/author_name_on_header";
+import ComponentGlobal_HeaderTamplate from "@/app_modules/component_global/header_tamplate";
+import {
+ ActionIcon,
+ Affix,
+ Card,
+ Grid,
+ Image,
+ Stack,
+ Text,
+ Title,
+ rem,
+} from "@mantine/core";
+import { IconCirclePlus } from "@tabler/icons-react";
+import { useRouter } from "next/navigation";
+
+export default function Job_Beranda() {
+ const router = useRouter();
+ return (
+ <>
+
+ {
+ router.push(RouterJob.create);
+ }}
+ >
+
+
+
+
+
+ {Array(5)
+ .fill(0)
+ .map((e, i) => (
+
+
+
+
+ router.push(RouterJob.main_detail)}>
+
+
+
+
+
+
+
+ Judul Lowongan Kerja
+
+
+ Lorem ipsum dolor sit amet consectetur, adipisicing
+ elit. Laboriosam est id neque iste voluptatem
+ consequuntur veritatis dolorem illo et, repellat
+ praesentium maiores amet omnis voluptas aliquid tenetur
+ nam sint obcaecati.
+
+
+
+
+
+
+ ))}
+
+ >
+ );
+}
diff --git a/src/app_modules/job/main/layout.tsx b/src/app_modules/job/main/layout.tsx
new file mode 100644
index 00000000..c14e8c10
--- /dev/null
+++ b/src/app_modules/job/main/layout.tsx
@@ -0,0 +1,91 @@
+"use client";
+
+import {
+ ActionIcon,
+ AppShell,
+ Center,
+ Footer,
+ Grid,
+ Stack,
+ Text,
+} from "@mantine/core";
+import React, { useState } from "react";
+import ComponentJob_HeaderTamplate from "../component/header_tamplate";
+import { IconHistory, IconHome, IconReservedLine } from "@tabler/icons-react";
+import { useRouter } from "next/navigation";
+import { RouterJob } from "@/app/lib/router_hipmi/router_job";
+import { useAtom } from "jotai";
+import { gs_job_hot_menu } from "../global_state";
+
+export default function LayoutJob_Main({
+ children,
+}: {
+ children: React.ReactNode;
+}) {
+ const router = useRouter();
+ const [hotMenu, setHotMenu] = useAtom(gs_job_hot_menu);
+
+ const listFooter = [
+ {
+ id: 1,
+ name: "Beranda",
+ path: RouterJob.beranda,
+ icon: ,
+ },
+
+ {
+ id: 2,
+ name: "Status",
+ path: RouterJob.status,
+ icon: ,
+ },
+ {
+ id: 3,
+ name: "Arsip",
+ path: RouterJob.arsip,
+ icon: ,
+ },
+ ];
+
+ return (
+ <>
+ }
+ footer={
+
+ }
+ >
+ {children}
+
+ >
+ );
+}
diff --git a/src/app_modules/job/main/status/draft.tsx b/src/app_modules/job/main/status/draft.tsx
new file mode 100644
index 00000000..1352edff
--- /dev/null
+++ b/src/app_modules/job/main/status/draft.tsx
@@ -0,0 +1,16 @@
+"use client";
+
+import { Stack, Card, Grid, Image, Text } from "@mantine/core";
+import ComponentJob_CardViewStatus from "../../component/card_view_status";
+import { RouterJob } from "@/app/lib/router_hipmi/router_job";
+
+export default function Job_Draft() {
+ return (
+ <>
+
+ >
+ );
+}
diff --git a/src/app_modules/job/main/status/publish.tsx b/src/app_modules/job/main/status/publish.tsx
new file mode 100644
index 00000000..1edef234
--- /dev/null
+++ b/src/app_modules/job/main/status/publish.tsx
@@ -0,0 +1,46 @@
+"use client";
+
+import ComponentGlobal_AuthorNameOnHeader from "@/app_modules/component_global/author_name_on_header";
+import { Stack, Card, Grid, Image, Text } from "@mantine/core";
+import ComponentJob_CardViewStatus from "../../component/card_view_status";
+import { RouterJob } from "@/app/lib/router_hipmi/router_job";
+
+export default function Job_Publish() {
+ return (
+ <>
+
+ {/*
+ {Array(2)
+ .fill(0)
+ .map((e, i) => (
+
+
+
+
+
+
+
+
+
+ Judul Lowongan Kerja
+
+
+ Lorem ipsum dolor sit amet consectetur, adipisicing
+ elit. Laboriosam est id neque iste voluptatem
+ consequuntur veritatis dolorem illo et, repellat
+ praesentium maiores amet omnis voluptas aliquid tenetur
+ nam sint obcaecati.
+
+
+
+
+
+
+ ))}
+ */}
+ >
+ );
+}
diff --git a/src/app_modules/job/main/status/reject.tsx b/src/app_modules/job/main/status/reject.tsx
new file mode 100644
index 00000000..a75743de
--- /dev/null
+++ b/src/app_modules/job/main/status/reject.tsx
@@ -0,0 +1,16 @@
+"use client";
+
+import { Stack, Card, Grid, Image, Text } from "@mantine/core";
+import ComponentJob_CardViewStatus from "../../component/card_view_status";
+import { RouterJob } from "@/app/lib/router_hipmi/router_job";
+
+export default function Job_Reject() {
+ return (
+ <>
+
+ >
+ );
+}
diff --git a/src/app_modules/job/main/status/review.tsx b/src/app_modules/job/main/status/review.tsx
new file mode 100644
index 00000000..260c6a5d
--- /dev/null
+++ b/src/app_modules/job/main/status/review.tsx
@@ -0,0 +1,16 @@
+"use client";
+
+import { Stack, Card, Grid, Image, Text } from "@mantine/core";
+import ComponentJob_CardViewStatus from "../../component/card_view_status";
+import { RouterJob } from "@/app/lib/router_hipmi/router_job";
+
+export default function Job_Review() {
+ return (
+ <>
+
+ >
+ );
+}
diff --git a/src/app_modules/job/main/status/view.tsx b/src/app_modules/job/main/status/view.tsx
new file mode 100644
index 00000000..da6df7c4
--- /dev/null
+++ b/src/app_modules/job/main/status/view.tsx
@@ -0,0 +1,80 @@
+"use client";
+
+import { Stack, Tabs } from "@mantine/core";
+import { useRouter } from "next/navigation";
+import { useState } from "react";
+import Job_Publish from "./publish";
+import Job_Review from "./review";
+import Job_Draft from "./draft";
+import Job_Reject from "./reject";
+import { useAtom } from "jotai";
+import { gs_job_status } from "../../global_state";
+
+export default function Job_Status({
+ listPublish,
+ listReview,
+ listDraft,
+ listReject,
+}: {
+ listPublish: any[];
+ listReview: any[];
+ listDraft: any[];
+ listReject: any[];
+}) {
+ const router = useRouter();
+ const [tabsStatus, setTabsStatus] = useAtom(gs_job_status);
+ const listTabs = [
+ {
+ id: 1,
+ path: ,
+ value: "Publish",
+ },
+ {
+ id: 2,
+ path: ,
+ value: "Review",
+ },
+ {
+ id: 3,
+ path: ,
+ value: "Draft",
+ },
+ {
+ id: 4,
+ path: ,
+ value: "Reject",
+ },
+ ];
+ return (
+ <>
+
+
+
+ {listTabs.map((e) => (
+
+ {e.value}
+
+ ))}
+
+ {listTabs.map((e) => (
+
+ {e.path}
+
+ ))}
+
+
+ >
+ );
+}
diff --git a/src/app_modules/job/non_user_view/layout.tsx b/src/app_modules/job/non_user_view/layout.tsx
new file mode 100644
index 00000000..4a15ca1e
--- /dev/null
+++ b/src/app_modules/job/non_user_view/layout.tsx
@@ -0,0 +1,26 @@
+"use client";
+
+import { AppShell } from "@mantine/core";
+import React from "react";
+import ComponentJob_HeaderTamplate from "../component/header_tamplate";
+
+export default function LayoutJob_NonUserView({
+ children,
+}: {
+ children: React.ReactNode;
+}) {
+ return (
+ <>
+
+ }
+ >
+ {children}
+
+ >
+ );
+}
diff --git a/src/app_modules/job/non_user_view/view.tsx b/src/app_modules/job/non_user_view/view.tsx
new file mode 100644
index 00000000..e26ada9b
--- /dev/null
+++ b/src/app_modules/job/non_user_view/view.tsx
@@ -0,0 +1,15 @@
+"use client";
+
+import { Stack, Text } from "@mantine/core";
+import ComponentJob_DetailData from "../component/detail/detail_data";
+
+export default function Job_NonUserView() {
+ return (
+ <>
+
+
+
+
+ >
+ );
+}
diff --git a/src/app_modules/job/splash/view.tsx b/src/app_modules/job/splash/view.tsx
new file mode 100644
index 00000000..10c1e216
--- /dev/null
+++ b/src/app_modules/job/splash/view.tsx
@@ -0,0 +1,30 @@
+"use client";
+
+import { RouterJob } from "@/app/lib/router_hipmi/router_job";
+import { Center, Image, Paper, Stack, Text } from "@mantine/core";
+import { useShallowEffect } from "@mantine/hooks";
+import { useAtom } from "jotai";
+import { useRouter } from "next/navigation";
+import { gs_job_hot_menu } from "../global_state";
+
+export default function Job_Splash() {
+ const router = useRouter();
+ const [hotMenu, setHotMenu] = useAtom(gs_job_hot_menu);
+
+ useShallowEffect(() => {
+ setTimeout(() => {
+ setHotMenu(1);
+ router.replace(RouterJob.beranda);
+ }, 2000);
+ }, []);
+
+ return (
+ <>
+
+
+
+
+
+ >
+ );
+}
diff --git a/src/app_modules/user_search/fun/get/get_list_user.ts b/src/app_modules/user_search/fun/get/get_list_user.ts
index 5866194e..ecbb04b5 100644
--- a/src/app_modules/user_search/fun/get/get_list_user.ts
+++ b/src/app_modules/user_search/fun/get/get_list_user.ts
@@ -4,7 +4,6 @@ import prisma from "@/app/lib/prisma";
export async function UserSearch_getListUser() {
const data = await prisma.user.findMany({
-
select: {
id: true,
username: true,
diff --git a/src/app_modules/user_search/main/index.tsx b/src/app_modules/user_search/main/index.tsx
index 8b626a04..fdba4914 100644
--- a/src/app_modules/user_search/main/index.tsx
+++ b/src/app_modules/user_search/main/index.tsx
@@ -40,6 +40,7 @@ export default function UserSearch_MainView({
//
// >
// );
+
return (
<>
@@ -54,49 +55,54 @@ export default function UserSearch_MainView({
""
) : (
- {user?.map((e) => (
-
-
-
-
-
-
-
-
-
-
- {e?.Profile?.name}
-
-
- +{e?.nomor}
-
-
-
-
-
-
- router.push(
- RouterProfile.katalog + `${e?.Profile?.id}`
- )
- }
- >
-
-
-
-
-
-
-
- ))}
+ {user?.map((e) =>
+ e.Profile === null ? (
+ ""
+ ) : (
+
+
+
+
+
+
+
+
+
+
+ {e?.Profile?.name}
+
+
+ +{e?.nomor}
+
+
+
+
+
+
+ router.push(
+ RouterProfile.katalog + `${e?.Profile?.id}`
+ )
+ }
+ >
+
+
+
+
+
+
+
+ )
+ )}
)}
diff --git a/src/app_modules/vote/main/status/index.tsx b/src/app_modules/vote/main/status/index.tsx
index 8184f75b..55a160a1 100644
--- a/src/app_modules/vote/main/status/index.tsx
+++ b/src/app_modules/vote/main/status/index.tsx
@@ -45,6 +45,7 @@ export default function Vote_Status({
value: "Reject",
},
];
+
return (
<>