From 7f3196afef182c884e57c80966cd5f498626c368 Mon Sep 17 00:00:00 2001 From: Bagasbanuna02 Date: Wed, 21 Feb 2024 15:17:34 +0800 Subject: [PATCH] #Job Vacancy ## feat - Tampilan user ### No Issuue --- .../logo.png} | Bin src/app/dev/job/create/layout.tsx | 14 + src/app/dev/job/create/page.tsx | 9 + src/app/dev/job/detail/arsip/layout.tsx | 14 + src/app/dev/job/detail/arsip/page.tsx | 9 + src/app/dev/job/detail/draft/layout.tsx | 14 + src/app/dev/job/detail/draft/page.tsx | 10 + src/app/dev/job/detail/main/layout.tsx | 14 + src/app/dev/job/detail/main/page.tsx | 9 + src/app/dev/job/detail/publish/layout.tsx | 14 + src/app/dev/job/detail/publish/page.tsx | 9 + src/app/dev/job/detail/reject/layout.tsx | 14 + src/app/dev/job/detail/reject/page.tsx | 10 + src/app/dev/job/detail/review/layout.tsx | 14 + src/app/dev/job/detail/review/page.tsx | 9 + src/app/dev/job/edit/layout.tsx | 14 + src/app/dev/job/edit/page.tsx | 9 + src/app/dev/job/main/arsip/page.tsx | 9 + src/app/dev/job/main/beranda/page.tsx | 9 + src/app/dev/job/main/layout.tsx | 14 + src/app/dev/job/main/status/page.tsx | 14 + src/app/dev/job/non_user_view/layout.tsx | 14 + src/app/dev/job/non_user_view/page.tsx | 9 + src/app/dev/job/splash/page.tsx | 9 + src/app/lib/router_hipmi/router_job.ts | 23 + src/app_modules/home/layout.tsx | 21 +- src/app_modules/home/view.tsx | 3 +- .../job/component/card_view_status.tsx | 68 ++ .../job/component/detail/detail_data.tsx | 49 + .../job/component/detail/noted_box.tsx | 22 + .../job/component/header_tamplate.tsx | 69 ++ .../job/component/is_empty_data.tsx | 13 + src/app_modules/job/create/layout.tsx | 21 + src/app_modules/job/create/view.tsx | 101 +++ src/app_modules/job/detail/arsip/layout.tsx | 19 + src/app_modules/job/detail/arsip/view.tsx | 14 + src/app_modules/job/detail/draft/layout.tsx | 29 + src/app_modules/job/detail/draft/view.tsx | 92 ++ src/app_modules/job/detail/main/layout.tsx | 19 + src/app_modules/job/detail/main/view.tsx | 59 ++ src/app_modules/job/detail/publish/layout.tsx | 19 + src/app_modules/job/detail/publish/view.tsx | 46 + src/app_modules/job/detail/reject/layout.tsx | 19 + src/app_modules/job/detail/reject/view.tsx | 94 ++ src/app_modules/job/detail/review/layout.tsx | 19 + src/app_modules/job/detail/review/view.tsx | 44 + src/app_modules/job/edit/layout.tsx | 19 + src/app_modules/job/edit/view.tsx | 87 ++ src/app_modules/job/global_state/index.ts | 9 + src/app_modules/job/index.ts | 49 + src/app_modules/job/main/arsip.tsx | 17 + src/app_modules/job/main/beranda.tsx | 73 ++ src/app_modules/job/main/layout.tsx | 91 ++ src/app_modules/job/main/status/draft.tsx | 16 + src/app_modules/job/main/status/publish.tsx | 46 + src/app_modules/job/main/status/reject.tsx | 16 + src/app_modules/job/main/status/review.tsx | 16 + src/app_modules/job/main/status/view.tsx | 80 ++ src/app_modules/job/non_user_view/layout.tsx | 26 + src/app_modules/job/non_user_view/view.tsx | 15 + src/app_modules/job/splash/view.tsx | 30 + .../user_search/fun/get/get_list_user.ts | 1 - src/app_modules/user_search/main/index.tsx | 92 +- src/app_modules/vote/main/status/index.tsx | 1 + yarn.lock | 853 ++++++++++-------- 65 files changed, 2216 insertions(+), 448 deletions(-) rename public/aset/{Hipmi Job Vacancy Logo.png => job/logo.png} (100%) create mode 100644 src/app/dev/job/create/layout.tsx create mode 100644 src/app/dev/job/create/page.tsx create mode 100644 src/app/dev/job/detail/arsip/layout.tsx create mode 100644 src/app/dev/job/detail/arsip/page.tsx create mode 100644 src/app/dev/job/detail/draft/layout.tsx create mode 100644 src/app/dev/job/detail/draft/page.tsx create mode 100644 src/app/dev/job/detail/main/layout.tsx create mode 100644 src/app/dev/job/detail/main/page.tsx create mode 100644 src/app/dev/job/detail/publish/layout.tsx create mode 100644 src/app/dev/job/detail/publish/page.tsx create mode 100644 src/app/dev/job/detail/reject/layout.tsx create mode 100644 src/app/dev/job/detail/reject/page.tsx create mode 100644 src/app/dev/job/detail/review/layout.tsx create mode 100644 src/app/dev/job/detail/review/page.tsx create mode 100644 src/app/dev/job/edit/layout.tsx create mode 100644 src/app/dev/job/edit/page.tsx create mode 100644 src/app/dev/job/main/arsip/page.tsx create mode 100644 src/app/dev/job/main/beranda/page.tsx create mode 100644 src/app/dev/job/main/layout.tsx create mode 100644 src/app/dev/job/main/status/page.tsx create mode 100644 src/app/dev/job/non_user_view/layout.tsx create mode 100644 src/app/dev/job/non_user_view/page.tsx create mode 100644 src/app/dev/job/splash/page.tsx create mode 100644 src/app/lib/router_hipmi/router_job.ts create mode 100644 src/app_modules/job/component/card_view_status.tsx create mode 100644 src/app_modules/job/component/detail/detail_data.tsx create mode 100644 src/app_modules/job/component/detail/noted_box.tsx create mode 100644 src/app_modules/job/component/header_tamplate.tsx create mode 100644 src/app_modules/job/component/is_empty_data.tsx create mode 100644 src/app_modules/job/create/layout.tsx create mode 100644 src/app_modules/job/create/view.tsx create mode 100644 src/app_modules/job/detail/arsip/layout.tsx create mode 100644 src/app_modules/job/detail/arsip/view.tsx create mode 100644 src/app_modules/job/detail/draft/layout.tsx create mode 100644 src/app_modules/job/detail/draft/view.tsx create mode 100644 src/app_modules/job/detail/main/layout.tsx create mode 100644 src/app_modules/job/detail/main/view.tsx create mode 100644 src/app_modules/job/detail/publish/layout.tsx create mode 100644 src/app_modules/job/detail/publish/view.tsx create mode 100644 src/app_modules/job/detail/reject/layout.tsx create mode 100644 src/app_modules/job/detail/reject/view.tsx create mode 100644 src/app_modules/job/detail/review/layout.tsx create mode 100644 src/app_modules/job/detail/review/view.tsx create mode 100644 src/app_modules/job/edit/layout.tsx create mode 100644 src/app_modules/job/edit/view.tsx create mode 100644 src/app_modules/job/global_state/index.ts create mode 100644 src/app_modules/job/index.ts create mode 100644 src/app_modules/job/main/arsip.tsx create mode 100644 src/app_modules/job/main/beranda.tsx create mode 100644 src/app_modules/job/main/layout.tsx create mode 100644 src/app_modules/job/main/status/draft.tsx create mode 100644 src/app_modules/job/main/status/publish.tsx create mode 100644 src/app_modules/job/main/status/reject.tsx create mode 100644 src/app_modules/job/main/status/review.tsx create mode 100644 src/app_modules/job/main/status/view.tsx create mode 100644 src/app_modules/job/non_user_view/layout.tsx create mode 100644 src/app_modules/job/non_user_view/view.tsx create mode 100644 src/app_modules/job/splash/view.tsx 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); + } + }} + > + + + + foto + + + + + 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} + ))} + + + {}} + /> +