Donasi Info Admni

# feat
- info admin
- hapus admin
## Issue: Loading data belum untuk versi alfa
This commit is contained in:
2024-01-15 11:29:39 +08:00
parent 4af3f74a97
commit 01da30bdb5
128 changed files with 2316 additions and 507 deletions

View File

@@ -2,7 +2,7 @@
import ButtonDonasi from "@/app_modules/donasi/component/footer_button_donasi";
import FooterDonasi from "@/app_modules/donasi/component/footer_close_donasi";
import HeaderTamplateDonasi from "@/app_modules/donasi/component/header_tamplate";
import ComponentDonasi_HeaderTamplate from "@/app_modules/donasi/component/header_tamplate";
import { AppShell } from "@mantine/core";
import React from "react";
@@ -19,7 +19,7 @@ export default function LayoutCeritaPenggalangDonasi({
return (
<>
<AppShell
header={<HeaderTamplateDonasi title="Cerita Penggalang Dana" />}
header={<ComponentDonasi_HeaderTamplate title="Cerita Penggalang Dana" />}
>
{children}
</AppShell>
@@ -28,7 +28,7 @@ export default function LayoutCeritaPenggalangDonasi({
}
return (
<AppShell
header={<HeaderTamplateDonasi title="Cerita Penggalang Dana" />}
header={<ComponentDonasi_HeaderTamplate title="Cerita Penggalang Dana" />}
footer={<ButtonDonasi donasiId={donasiId}/>}
>
{children}

View File

@@ -2,7 +2,7 @@
import { AppShell } from "@mantine/core";
import React from "react";
import HeaderTamplateDonasi from "../../../component/header_tamplate";
import ComponentDonasi_HeaderTamplate from "../../../component/header_tamplate";
export default function LayoutDonaturDonasi({
children,
@@ -11,7 +11,7 @@ export default function LayoutDonaturDonasi({
}) {
return (
<>
<AppShell header={<HeaderTamplateDonasi title="Donatur" />}>
<AppShell header={<ComponentDonasi_HeaderTamplate title="Donatur" />}>
{children}
</AppShell>
</>

View File

@@ -35,15 +35,21 @@ import ComponentDonasi_InformasiPenggalangMain from "../../component/detail_main
export default function DetailMainDonasi({
dataDonasi,
countDonatur
countDonatur,
userLoginId,
}: {
dataDonasi: MODEL_DONASI;
countDonatur: number
countDonatur: number;
userLoginId: string;
}) {
return (
<>
<Stack spacing={40}>
<ComponentDonasi_DetailDataMain donasi={dataDonasi} countDonatur={countDonatur} />
<ComponentDonasi_DetailDataMain
donasi={dataDonasi}
countDonatur={countDonatur}
userLoginId={userLoginId}
/>
<ComponentDonasi_InformasiPenggalangMain author={dataDonasi.Author} />
<ComponentDonasi_CeritaPenggalangMain donasi={dataDonasi} />
</Stack>

View File

@@ -40,7 +40,7 @@ export default function KabarDonasi({
>
{kabar.map((e, i) => (
<Box key={i}>
<ComponentDonasi_ListKabar kabar={e} />
<ComponentDonasi_ListKabar kabar={e} route={RouterDonasi.detail_kabar} />
</Box>
))}
</SimpleGrid>

View File

@@ -2,12 +2,12 @@
import { AppShell } from "@mantine/core"
import React from "react"
import HeaderTamplateDonasi from "../../../component/header_tamplate"
import ComponentDonasi_HeaderTamplate from "../../../component/header_tamplate"
export default function LayoutKabarDonasi({children}: {children: React.ReactNode}){
return<>
<AppShell
header={<HeaderTamplateDonasi title="Kabar Terbaru"/>}
header={<ComponentDonasi_HeaderTamplate title="Kabar Terbaru"/>}
>
{children}
</AppShell>

View File

@@ -2,7 +2,7 @@
import { AppShell, Box, Button, Center, Footer } from "@mantine/core";
import React from "react";
import HeaderTamplateDonasi from "../../component/header_tamplate";
import ComponentDonasi_HeaderTamplate from "../../component/header_tamplate";
import ButtonDonasi from "../../component/footer_button_donasi";
export default function LayoutDetailMainDonasi({
@@ -15,7 +15,7 @@ export default function LayoutDetailMainDonasi({
return (
<>
<AppShell
header={<HeaderTamplateDonasi title="Detail Donasi" />}
header={<ComponentDonasi_HeaderTamplate title="Detail Donasi" />}
footer={<ButtonDonasi donasiId={donasiId}/>}
>
{children}

View File

@@ -1,7 +1,14 @@
"use client";
import { RouterDonasi } from "@/app/lib/router_hipmi/router_donasi";
import ComponentDonasi_NotedBox from "@/app_modules/donasi/component/noted_box";
import TampilanRupiahDonasi from "@/app_modules/donasi/component/tampilan_rupiah";
import {
MODEL_DONASI,
MODEL_DONASI_PENCAIRAN_DANA,
} from "@/app_modules/donasi/model/interface";
import {
AspectRatio,
Avatar,
Button,
Center,
@@ -18,85 +25,103 @@ import {
import { useDisclosure } from "@mantine/hooks";
import { IconTransferIn } from "@tabler/icons-react";
import moment from "moment";
import { useState } from "react";
export default function PencairanDanaDonasi() {
export default function PencairanDanaDonasi({
totalAkumulasi,
listPencairan,
}: {
totalAkumulasi: MODEL_DONASI;
listPencairan: MODEL_DONASI_PENCAIRAN_DANA[];
}) {
const [akumulasi, setAkumulasi] = useState(totalAkumulasi);
const [listPD, setListPD] = useState(listPencairan);
return (
<>
<Stack>
<BoxDanaDicarikan />
<InformasiPencairanDana />
<BoxDanaDicarikan akumulasi={akumulasi} />
<InformasiPencairanDana listPD={listPD} />
</Stack>
</>
);
}
function BoxDanaDicarikan() {
function BoxDanaDicarikan({ akumulasi }: { akumulasi: MODEL_DONASI }) {
return (
<>
<Paper bg={"gray.1"} p={"md"}>
<Stack>
<Grid>
<Grid.Col span={6}>
<Title order={5}>Rp. 10.000.000</Title>
<Text fz={"xs"}>Dana sudah dicairkan</Text>
</Grid.Col>
<Grid.Col span={6}>
<Title order={5}>2 kali</Title>
<Text fz={"xs"}>Pencairan dana</Text>
</Grid.Col>
</Grid>
<ComponentDonasi_NotedBox informasi=" Pencairan dana akan dilakukan oleh Admin HIPMI tanpa campur tangan
<Grid>
<Grid.Col span={6}>
<Title order={5}>
<TampilanRupiahDonasi nominal={akumulasi.totalPencairan} />
</Title>
<Text fz={"xs"}>Dana sudah dicairkan</Text>
</Grid.Col>
<Grid.Col span={6}>
<Title order={5}>{akumulasi.akumulasiPencairan} kali</Title>
<Text fz={"xs"}>Pencairan dana</Text>
</Grid.Col>
</Grid>
<ComponentDonasi_NotedBox
informasi=" Pencairan dana akan dilakukan oleh Admin HIPMI tanpa campur tangan
pihak manapun, jika berita pencairan dana dibawah tidak sesuai
dengan kabar yang diberikan oleh PENGGALANG DANA. Maka pegguna lain
dapat melaporkannya pada Admin HIPMI !"/>
dapat melaporkannya pada Admin HIPMI !"
/>
</Stack>
</Paper>
</>
);
}
function InformasiPencairanDana() {
function InformasiPencairanDana({
listPD,
}: {
listPD: MODEL_DONASI_PENCAIRAN_DANA[];
}) {
const [opened, { open, close }] = useDisclosure(false);
const [idGambar, setIdGambar] = useState("");
return (
<>
<Modal opened={opened} onClose={close} fullScreen>
<Paper>
<Stack>
<Modal opened={opened} onClose={close} size={"xl"}>
<AspectRatio ratio={9 / 16}>
<Paper>
<Image
alt="Foto"
src={RouterDonasi.api_gambar_pencairan + `${idGambar}`}
/>
</Paper>
</AspectRatio>
</Modal>
{listPD.map((e, i) => (
<Paper key={i} withBorder p={"md"}>
<Text fz={"xs"}>{moment(e.createdAt).format("ll")}</Text>
<Stack spacing={"lg"}>
<Title order={5}>{e.title}</Title>
<Spoiler
maxHeight={50}
hideLabel="Sembunyikan"
showLabel="Baca Selengkapnya"
>
{e.deskripsi}
</Spoiler>
<Center>
<Title order={5}>Bukti Pencairan Dana</Title>
<Button
radius={"xl"}
variant="outline"
leftIcon={<IconTransferIn />}
onClick={() => {
open();
setIdGambar(e.imagesId);
}}
>
Bukti Transfer
</Button>
</Center>
<Image alt="Foto" src={"/aset/donasi/bukti.jpg"} />
</Stack>
</Paper>
</Modal>
{Array(2)
.fill(0)
.map((e, i) => (
<Paper key={i} withBorder p={"md"}>
<Text fz={"xs"}>{moment(Date.now()).format("ll")}</Text>
<Stack spacing={"lg"}>
<Title order={5}>Pencairan Dana Sebesar Rp. 5.000.000</Title>
<Spoiler
maxHeight={50}
hideLabel="Sembunyikan"
showLabel="Baca Selengkapnya"
>
Pencairan Dana kepada pihak Penggalang dana sebesar 5 juta yang
di transfer pada, {moment(Date.now()).format("lll")}.
</Spoiler>
<Center>
<Button
radius={"xl"}
variant="outline"
leftIcon={<IconTransferIn />}
onClick={() => open()}
>
Bukti Transfer
</Button>
</Center>
</Stack>
</Paper>
))}
))}
</>
);
}

View File

@@ -1,6 +1,6 @@
"use client";
import HeaderTamplateDonasi from "@/app_modules/donasi/component/header_tamplate";
import ComponentDonasi_HeaderTamplate from "@/app_modules/donasi/component/header_tamplate";
import { AppShell } from "@mantine/core";
import React from "react";
@@ -11,7 +11,7 @@ export default function LayoutPencairanDanaDonasi({
}) {
return (
<>
<AppShell header={<HeaderTamplateDonasi title="Pencairan Dana" />}>
<AppShell header={<ComponentDonasi_HeaderTamplate title="Pencairan Dana" />}>
{children}
</AppShell>
</>

View File

@@ -1,6 +1,6 @@
"use client";
import HeaderTamplateDonasi from "@/app_modules/donasi/component/header_tamplate";
import ComponentDonasi_HeaderTamplate from "@/app_modules/donasi/component/header_tamplate";
import { AppShell } from "@mantine/core";
import React from "react";
@@ -12,7 +12,7 @@ export default function LayoutPenggalangDanaDonasi({
return (
<>
<AppShell
header={<HeaderTamplateDonasi title="Informasi Penggalangan Dana" />}
header={<ComponentDonasi_HeaderTamplate title="Informasi Penggalangan Dana" />}
// footer={<FooterDonasi />}
>
{children}