Fix: Donasi

Deskripsi:
- Fix router status donasi
- Fix hapus donasi
This commit is contained in:
2024-10-30 15:45:40 +08:00
parent 30743b02ae
commit a798f9a3bc
20 changed files with 328 additions and 235 deletions

View File

@@ -1,10 +1,6 @@
"use client";
import {
Stack,
Tabs,
Text
} from "@mantine/core";
import { Stack, Tabs, Text } from "@mantine/core";
import { useAtom } from "jotai";
import { useRouter } from "next/navigation";
import { gs_donasi_tabs_posting } from "../../global_state";
@@ -12,50 +8,60 @@ import PostingDraftDonasi from "./draft";
import PostingPublishDonasi from "./publish";
import PostingRejectDonasi from "./reject";
import PostingReviewDonasi from "./review";
import { AccentColor, MainColor } from "@/app_modules/_global/color/color_pallet";
import {
AccentColor,
MainColor,
} from "@/app_modules/_global/color/color_pallet";
import { useState } from "react";
import { MODEL_NEW_DEFAULT_MASTER } from "@/app_modules/model_global/interface";
import { RouterDonasi } from "@/app/lib/router_hipmi/router_donasi";
export default function GalangDanaDonasi({
listPublish,
listReview,
listDraft,
listReject,
statusId,
dataStatus,
listStatus,
}: {
listPublish: any;
listReview: any;
listDraft: any;
listReject: any;
statusId: string;
dataStatus: any[];
listStatus: MODEL_NEW_DEFAULT_MASTER[];
}) {
const router = useRouter();
const [changeStatus, setChangeStatus] = useState(statusId);
const [tabsPostingDonasi, setTabsPostingDonasi] = useAtom(
gs_donasi_tabs_posting
);
const listPosting = [
{
id: 1,
value: "Publish",
path: <PostingPublishDonasi listPublish={listPublish} />,
color: "green",
},
{
id: 2,
value: "Review",
path: <PostingReviewDonasi listReview={listReview} />,
color: "yellow",
},
{
id: 3,
value: "Draft",
path: <PostingDraftDonasi listDraft={listDraft} />,
color: "red",
},
{
id: 4,
value: "Reject",
path: <PostingRejectDonasi listReject={listReject} />,
color: "red",
},
];
// const listPosting = [
// {
// id: 1,
// value: "Publish",
// path: <PostingPublishDonasi listPublish={listPublish} />,
// color: "green",
// },
// {
// id: 2,
// value: "Review",
// path: <PostingReviewDonasi listReview={listReview} />,
// color: "yellow",
// },
// {
// id: 3,
// value: "Draft",
// path: <PostingDraftDonasi listDraft={listDraft} />,
// color: "red",
// },
// {
// id: 4,
// value: "Reject",
// path: <PostingRejectDonasi listReject={listReject} />,
// color: "red",
// },
// ];
async function onChangeStatus({ statusId }: { statusId: string }) {
router.replace(RouterDonasi.status_galang_dana({ id: statusId }));
}
return (
<>
@@ -63,9 +69,11 @@ export default function GalangDanaDonasi({
color="orange"
variant="pills"
radius="xl"
defaultValue="Publish"
value={tabsPostingDonasi}
onTabChange={setTabsPostingDonasi}
value={changeStatus}
onTabChange={(val: any) => {
setChangeStatus(val);
onChangeStatus({ statusId: val });
}}
styles={{
tabsList: {
backgroundColor: MainColor.darkblue,
@@ -75,33 +83,36 @@ export default function GalangDanaDonasi({
},
}}
>
<Stack >
<Stack>
<Tabs.List grow>
{listPosting.map((e, i) => (
{listStatus.map((e, i) => (
<Tabs.Tab
key={e.id}
value={e.value}
value={e.id}
fw={"bold"}
c={"black"}
style={{
transition: "0.5s",
backgroundColor:
tabsPostingDonasi === e.value ? MainColor.yellow : "white",
changeStatus === e.id ? MainColor.yellow : "white",
border:
tabsPostingDonasi === e.value
changeStatus === e.id
? `1px solid ${AccentColor.yellow}`
: `1px solid white`,
}}
>
{e.value}
{e.name}
</Tabs.Tab>
))}
</Tabs.List>
{listPosting.map((e, i) => (
<Tabs.Panel key={e.id} value={e.value} >
{e.path}
</Tabs.Panel>
))}
{statusId == "1" && <PostingPublishDonasi listPublish={dataStatus} />}
{statusId == "2" && <PostingReviewDonasi listReview={dataStatus} />}
{statusId == "3" && <PostingDraftDonasi listDraft={dataStatus} />}
{statusId == "4" && <PostingRejectDonasi listReject={dataStatus} />}
</Stack>
</Tabs>
</>

View File

@@ -14,22 +14,16 @@ import {
} from "@tabler/icons-react";
import { useAtom } from "jotai";
import { useRouter } from "next/navigation";
import React, { useState } from "react";
import React from "react";
import { gs_donasi_hot_menu } from "../global_state";
export default function LayoutDonasi({
children,
userId,
isRead,
}: {
children: React.ReactNode;
userId: string;
isRead: boolean[];
}) {
const router = useRouter();
const [active, setActive] = useAtom(gs_donasi_hot_menu);
const [isLoading, setLoading] = useState(false);
const [isRightLoading, setRightLoading] = useState(false);
const listFooter = [
{
@@ -41,7 +35,7 @@ export default function LayoutDonasi({
{
id: 2,
name: "Galang Dana",
path: RouterDonasi.main_galang_dana,
path: RouterDonasi.status_galang_dana({ id: "1" }),
icon: <IconMoneybag />,
},
{