#Job admin

- Tampilan user done
- Tampilan admin done
git commit -m
This commit is contained in:
2024-02-28 16:22:45 +08:00
parent fb7e89fb44
commit 83d2b0a1c4
114 changed files with 3572 additions and 375 deletions

View File

@@ -4,14 +4,18 @@ import ComponentGlobal_AuthorNameOnHeader from "@/app_modules/component_global/a
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";
import ComponentJob_CardPreview from "../component/card_preview";
import { MODEL_JOB } from "../model/interface";
export default function Job_Arsip() {
export default function Job_Arsip({ dataJob }: { dataJob :MODEL_JOB[]}) {
return (
<>
<ComponentJob_CardViewStatus
listData={[{ id: 1 }, { id: 2 }]}
listData={dataJob}
path={RouterJob.detail_arsip}
/>
</>
);
}

View File

@@ -8,6 +8,7 @@ import {
ActionIcon,
Affix,
Card,
Center,
Grid,
Image,
Stack,
@@ -17,8 +18,13 @@ import {
} from "@mantine/core";
import { IconCirclePlus } from "@tabler/icons-react";
import { useRouter } from "next/navigation";
import { MODEL_JOB } from "../model/interface";
import ComponentJob_DetailData from "../component/detail/detail_data";
import ComponentJob_CardViewStatus from "../component/card_view_status";
import _ from "lodash";
import ComponentJob_IsEmptyData from "../component/is_empty_data";
export default function Job_Beranda() {
export default function Job_Beranda({ listJob }: { listJob: MODEL_JOB[] }) {
const router = useRouter();
return (
<>
@@ -36,38 +42,37 @@ export default function Job_Beranda() {
</ActionIcon>
</Affix>
<Stack>
{Array(5)
.fill(0)
.map((e, i) => (
{_.isEmpty(listJob) ? (
<ComponentJob_IsEmptyData text="Data tidak ada" />
) : (
<Stack>
{listJob.map((e, i) => (
<Card key={i} shadow="lg" withBorder p={30} radius={"md"}>
<Card.Section>
<ComponentGlobal_AuthorNameOnHeader />
<ComponentGlobal_AuthorNameOnHeader
authorName={e.Author.Profile.name}
imagesId={e.Author.Profile.imagesId}
profileId={e.Author.Profile.id}
/>
</Card.Section>
<Card.Section onClick={() => router.push(RouterJob.main_detail)}>
<Card.Section
onClick={() => router.push(RouterJob.main_detail + e.id)}
mt={"lg"}
>
<Grid>
<Grid.Col span={6}>
<Image alt="foto" src={"/aset/no-file.png"} />
</Grid.Col>
<Grid.Col span={6}>
<Stack justify="center" h={"100%"}>
<Text fw={"bold"} fz={20} truncate>
Judul Lowongan Kerja
<Grid.Col span={"auto"}>
<Center h={"100%"}>
<Text fw={"bold"} fz={"xl"} lineClamp={1}>
{e.title}
</Text>
<Text lineClamp={3}>
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.
</Text>
</Stack>
</Center>
</Grid.Col>
</Grid>
</Card.Section>
</Card>
))}
</Stack>
</Stack>
)}
</>
);
}

View File

@@ -16,6 +16,7 @@ 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";
import { RouterHome } from "@/app/lib/router_hipmi/router_home";
export default function LayoutJob_Main({
children,
@@ -50,7 +51,12 @@ export default function LayoutJob_Main({
return (
<>
<AppShell
header={<ComponentJob_HeaderTamplate title="Job Vacancy" />}
header={
<ComponentJob_HeaderTamplate
title="Job Vacancy"
route={RouterHome.main_home}
/>
}
footer={
<Footer height={70} bg={"dark"}>
<Grid>
@@ -62,7 +68,6 @@ export default function LayoutJob_Main({
onClick={() => {
router.replace(e.path);
setHotMenu(e.id);
}}
>
<Center>

View File

@@ -3,14 +3,12 @@
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";
import ComponentJob_CardPreview from "../../component/card_preview";
export default function Job_Draft() {
export default function Job_Draft({ listDraft }: { listDraft : any}) {
return (
<>
<ComponentJob_CardViewStatus
listData={[{ id: 1 }, { id: 2 }]}
path={RouterJob.detail_draft}
/>
<ComponentJob_CardViewStatus listData={listDraft} path={RouterJob.detail_draft} />
</>
);
}

View File

@@ -4,12 +4,14 @@ import ComponentGlobal_AuthorNameOnHeader from "@/app_modules/component_global/a
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";
import ComponentJob_CardPreview from "../../component/card_preview";
import { Job_getListStatusByStatusId } from "../../fun/get/get_list_status_by_status_id";
export default function Job_Publish() {
export default function Job_Publish({ listPublish }: { listPublish : any}) {
return (
<>
<ComponentJob_CardViewStatus
listData={[{ id: 1 }, { id: 2 }]}
listData={listPublish}
path={RouterJob.detail_publish}
/>
{/* <Stack>

View File

@@ -3,14 +3,12 @@
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";
import { MODEL_JOB } from "../../model/interface";
export default function Job_Reject() {
export default function Job_Reject({ listReject }: { listReject : MODEL_JOB[]}) {
return (
<>
<ComponentJob_CardViewStatus
listData={[{ id: 1 }, { id: 2 }]}
path={RouterJob.detail_reject}
/>
<ComponentJob_CardViewStatus listData={listReject} path={RouterJob.detail_reject} />
</>
);
}

View File

@@ -4,11 +4,12 @@ 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() {
export default function Job_Review({ listReview }: { listReview : any[]}) {
return (
<>
<ComponentJob_CardViewStatus
listData={[{ id: 1 }, { id: 2 }]}
listData={listReview}
path={RouterJob.detail_review}
/>
</>

View File

@@ -26,22 +26,22 @@ export default function Job_Status({
const listTabs = [
{
id: 1,
path: <Job_Publish />,
path: <Job_Publish listPublish={listPublish} />,
value: "Publish",
},
{
id: 2,
path: <Job_Review />,
path: <Job_Review listReview={listReview} />,
value: "Review",
},
{
id: 3,
path: <Job_Draft />,
path: <Job_Draft listDraft={listDraft} />,
value: "Draft",
},
{
id: 4,
path: <Job_Reject />,
path: <Job_Reject listReject={listReject}/>,
value: "Reject",
},
];
@@ -59,6 +59,14 @@ export default function Job_Status({
<Tabs.List grow>
{listTabs.map((e) => (
<Tabs.Tab
sx={
tabsStatus === e.value
? {
boxShadow:
"0 2px 4px 0 rgba(0, 0, 0, 0.1), 0 2px 6px 0 rgba(0, 0, 0, 0.2)",
}
: {}
}
key={e.id}
value={e.value}
bg={tabsStatus === e.value ? "blue" : "gray.1"}