fix ui dashboard & event

This commit is contained in:
2025-01-28 21:26:33 +08:00
parent 93874478ac
commit 22fa1e8bcd
18 changed files with 137 additions and 96 deletions

View File

@@ -37,7 +37,7 @@ export async function POST(
fileName: req.fileName as string, fileName: req.fileName as string,
fileExt: req.fileExt as string, fileExt: req.fileExt as string,
fileId: req.fileId as string, fileId: req.fileId as string,
authorId: userLoginId, // authorId: userLoginId,
}, },
}); });

View File

@@ -10,7 +10,7 @@ export const MainColor = {
}; };
export const AccentColor = { export const AccentColor = {
blackgray: "#333533", blackgray: "#333533FF",
darkblue: "#002E59", darkblue: "#002E59",
blue: "#00447D", blue: "#00447D",
softblue: "#007CBA", softblue: "#007CBA",
@@ -24,9 +24,20 @@ export const AdminColor = {
yellow: "#FFEB99", yellow: "#FFEB99",
green: "#A7DCA5", green: "#A7DCA5",
orange: "#F7C69B", orange: "#F7C69B",
red: "#F4A8A8" red: "#F4A8A8",
bgAdmin: "#182c47",
white: "#D6D9DCFF",
dividerWhite: "#D6D9DC2E",
softBlue: "#163C64FF"
} }
//yellow: "#FFC300" //yellow: "#FFC300"
//yellow: "#FFD60A" //yellow: "#FFD60A"
// white: "#FEFFFE" // white: "#FEFFFE"
// Warna Terang: #80a7c4
// Warna Sedang: #40738d
// Warna Asli: #002e59
// Warna Lebih Gelap: #001f3b
// Warna Tergelap: #001323

View File

@@ -21,7 +21,7 @@ export function ComponentAdminGlobal_TitlePage({
p={"xs"} p={"xs"}
style={{ borderRadius: "6px" }} style={{ borderRadius: "6px" }}
> >
<Title order={4}>{name}</Title> <Title c={"white"} order={4}>{name}</Title>
{component ? component : ""} {component ? component : ""}
</Group> </Group>
</> </>

View File

@@ -1,5 +1,6 @@
"use client"; "use client";
import { AccentColor, AdminColor } from "@/app_modules/_global/color/color_pallet";
import { Group, Button, Loader } from "@mantine/core"; import { Group, Button, Loader } from "@mantine/core";
import { IconChevronLeft } from "@tabler/icons-react"; import { IconChevronLeft } from "@tabler/icons-react";
import { useRouter } from "next/navigation"; import { useRouter } from "next/navigation";
@@ -17,7 +18,7 @@ export default function AdminGlobal_ComponentBackButton({
<> <>
<Group> <Group>
<Button <Button
c={"gray"} c={AccentColor.white}
leftIcon={ leftIcon={
isLoading ? ( isLoading ? (
<Loader size={"xs"} color={"gray"} /> <Loader size={"xs"} color={"gray"} />
@@ -25,7 +26,7 @@ export default function AdminGlobal_ComponentBackButton({
<IconChevronLeft /> <IconChevronLeft />
) )
} }
variant="white" style={{ backgroundColor: AdminColor.softBlue}}
onClick={() => { onClick={() => {
setLoading(true); setLoading(true);
// setTimeout(() => , 3000); // setTimeout(() => , 3000);

View File

@@ -1,13 +1,13 @@
"use client"; "use client";
import { Box, Title, Divider, Stack } from "@mantine/core"; import { AdminColor } from "@/app_modules/_global/color/color_pallet";
import { Divider, Stack, Title } from "@mantine/core";
export default function ComponentAdminGlobal_HeaderTamplate({name}: {name: string}) { export default function ComponentAdminGlobal_HeaderTamplate({name}: {name: string}) {
return ( return (
<> <>
<Stack spacing={5} > <Stack spacing={5} >
<Title>{name ? name : null}</Title> <Title mb={"md"} c={AdminColor.white}>{name ? name : null}</Title>
<Divider/>
</Stack> </Stack>
</> </>
); );

View File

@@ -19,6 +19,7 @@ import { IconAlertTriangle, IconBookmark, IconCategory, IconChevronsRight, IconU
import { useRouter } from "next/navigation"; import { useRouter } from "next/navigation";
import ComponentAdminGlobal_HeaderTamplate from "../../_admin_global/header_tamplate"; import ComponentAdminGlobal_HeaderTamplate from "../../_admin_global/header_tamplate";
import { AccentColor, MainColor } from "@/app_modules/_global/color"; import { AccentColor, MainColor } from "@/app_modules/_global/color";
import { AdminColor } from "@/app_modules/_global/color/color_pallet";
export default function AdminDonasi_Main({ export default function AdminDonasi_Main({
countPublish, countPublish,
@@ -84,7 +85,7 @@ export default function AdminDonasi_Main({
{listBox.map((e, i) => ( {listBox.map((e, i) => (
<Paper <Paper
key={i} key={i}
bg={e.color} bg={AdminColor.softBlue}
shadow="md" shadow="md"
radius="md" radius="md"
p="md" p="md"

View File

@@ -15,6 +15,7 @@ import {
import { IconAlertTriangle, IconBookmark, IconBriefcase, IconHistory, IconUpload } from "@tabler/icons-react"; import { IconAlertTriangle, IconBookmark, IconBriefcase, IconHistory, IconUpload } from "@tabler/icons-react";
import { useRouter } from "next/navigation"; import { useRouter } from "next/navigation";
import ComponentAdminGlobal_HeaderTamplate from "../../_admin_global/header_tamplate"; import ComponentAdminGlobal_HeaderTamplate from "../../_admin_global/header_tamplate";
import { AdminColor } from "@/app_modules/_global/color/color_pallet";
export default function AdminEvent_Main({ export default function AdminEvent_Main({
countPublish, countPublish,
@@ -104,7 +105,7 @@ export default function AdminEvent_Main({
{listStatus.map((e, i) => ( {listStatus.map((e, i) => (
<Paper <Paper
key={i} key={i}
bg={e.color} bg={AdminColor.softBlue}
shadow="md" shadow="md"
radius="md" radius="md"
p="md" p="md"
@@ -136,7 +137,7 @@ export default function AdminEvent_Main({
{listBox2.map((e, i) => ( {listBox2.map((e, i) => (
<Paper <Paper
key={i} key={i}
bg={e.color} bg={AdminColor.softBlue}
shadow="md" shadow="md"
radius="md" radius="md"
p="md" p="md"

View File

@@ -1,3 +1,4 @@
import { AdminColor } from "@/app_modules/_global/color/color_pallet";
import { MODEL_USER } from "@/app_modules/home/model/interface"; import { MODEL_USER } from "@/app_modules/home/model/interface";
import { Paper, Stack, Title, Grid, Text } from "@mantine/core"; import { Paper, Stack, Title, Grid, Text } from "@mantine/core";
@@ -7,8 +8,8 @@ export function ComponentAdminInvestasi_DetailDataAuthor({
data: any; data: any;
}) { }) {
return ( return (
<Paper withBorder p={"lg"}> <Paper bg={AdminColor.softBlue} p={"lg"}>
<Stack> <Stack c={AdminColor.white}>
<Title order={3}>Data User</Title> <Title order={3}>Data User</Title>
<Stack spacing={"xs"}> <Stack spacing={"xs"}>
<Grid> <Grid>

View File

@@ -1,10 +1,11 @@
import { AdminColor } from "@/app_modules/_global/color/color_pallet";
import { Paper, Stack, Title, Grid, Box, Text } from "@mantine/core"; import { Paper, Stack, Title, Grid, Box, Text } from "@mantine/core";
export function ComponentAdminInvestasi_DetailData({ data }: { data: any }) { export function ComponentAdminInvestasi_DetailData({ data }: { data: any }) {
return ( return (
<> <>
<Paper withBorder p={"lg"}> <Paper bg={AdminColor.softBlue} p={"lg"}>
<Stack> <Stack c={AdminColor.white}>
<Title order={3}>Rincian Data Investasi</Title> <Title order={3}>Rincian Data Investasi</Title>
<Grid justify="center"> <Grid justify="center">
<Grid.Col span={6}> <Grid.Col span={6}>

View File

@@ -1,12 +1,13 @@
import { Paper, Stack, Title } from "@mantine/core"; import { Paper, Stack, Title } from "@mantine/core";
import { Admin_ComponentLoadImageLandscape } from "../../_admin_global"; import { Admin_ComponentLoadImageLandscape } from "../../_admin_global";
import { AccentColor, AdminColor } from "@/app_modules/_global/color/color_pallet";
export function ComponentAdminInvestasi_DetailGambar({imagesId}: {imagesId: any}) { export function ComponentAdminInvestasi_DetailGambar({imagesId}: {imagesId: any}) {
return ( return (
<> <>
<Paper withBorder p={"lg"}> <Paper bg={AdminColor.softBlue} p={"lg"}>
<Stack> <Stack>
<Title align="center" order={3}> <Title c={AdminColor.white} align="center" order={3}>
Gambar Proyek Gambar Proyek
</Title> </Title>

View File

@@ -1,5 +1,6 @@
import { APIs } from "@/app/lib"; import { APIs } from "@/app/lib";
import { RouterInvestasi_OLD } from "@/app/lib/router_hipmi/router_investasi"; import { RouterInvestasi_OLD } from "@/app/lib/router_hipmi/router_investasi";
import { AdminColor } from "@/app_modules/_global/color/color_pallet";
import { MODEL_INVESTASI_DOKUMEN } from "@/app_modules/investasi/_lib/interface"; import { MODEL_INVESTASI_DOKUMEN } from "@/app_modules/investasi/_lib/interface";
import { import {
SimpleGrid, SimpleGrid,
@@ -37,8 +38,8 @@ export function ComponentAdminInvestasi_UIDetailFile({
{ maxWidth: "36rem", cols: 1, spacing: "sm" }, { maxWidth: "36rem", cols: 1, spacing: "sm" },
]} ]}
> >
<Paper withBorder p={"lg"}> <Paper bg={AdminColor.softBlue} p={"lg"}>
<Stack> <Stack c={AdminColor.white}>
<Title order={3}>File & Dokumen</Title> <Title order={3}>File & Dokumen</Title>
<Stack spacing={50}> <Stack spacing={50}>

View File

@@ -26,6 +26,7 @@ import {
AdminInvestasi_ComponentCekBuktiTransfer, AdminInvestasi_ComponentCekBuktiTransfer,
} from "../../_component"; } from "../../_component";
import { adminInvestasi_funGetAllTransaksiById } from "../../fun"; import { adminInvestasi_funGetAllTransaksiById } from "../../fun";
import { AdminColor } from "@/app_modules/_global/color/color_pallet";
export function AdminInvestasi_ViewDaftarTransaksi({ export function AdminInvestasi_ViewDaftarTransaksi({
dataTransaksi, dataTransaksi,
@@ -167,7 +168,7 @@ export function AdminInvestasi_ViewDaftarTransaksi({
<Stack spacing={"xs"} h={"100%"}> <Stack spacing={"xs"} h={"100%"}>
<ComponentAdminGlobal_TitlePage <ComponentAdminGlobal_TitlePage
name="Transkasi" name="Transkasi"
color="gray.4" color={AdminColor.softBlue}
component={<Group> component={<Group>
<ActionIcon <ActionIcon
size={"lg"} size={"lg"}
@@ -232,7 +233,7 @@ export function AdminInvestasi_ViewDaftarTransaksi({
</Group> </Group>
</Group> */} </Group> */}
<Paper p={"md"} withBorder shadow="lg" h={"80vh"}> <Paper bg={AdminColor.softBlue} p={"md"} shadow="lg" h={"80vh"}>
<ScrollArea w={"100%"} h={"90%"}> <ScrollArea w={"100%"} h={"90%"}>
<Table <Table
verticalSpacing={"xl"} verticalSpacing={"xl"}
@@ -245,28 +246,28 @@ export function AdminInvestasi_ViewDaftarTransaksi({
<thead> <thead>
<tr> <tr>
<th> <th>
<Center>Nama Investor</Center> <Center c={AdminColor.white}>Nama Investor</Center>
</th> </th>
<th> <th>
<Center>Nama Bank</Center> <Center c={AdminColor.white}>Nama Bank</Center>
</th> </th>
<th> <th>
<Center>Jumlah Investasi</Center> <Center c={AdminColor.white}>Jumlah Investasi</Center>
</th> </th>
<th> <th>
<Center>Lembar Terbeli</Center> <Center c={AdminColor.white}>Lembar Terbeli</Center>
</th> </th>
<th> <th>
<Center>Tanggal</Center> <Center c={AdminColor.white}>Tanggal</Center>
</th> </th>
<th> <th>
<Center>Status</Center> <Center c={AdminColor.white}>Status</Center>
</th> </th>
<th> <th>
<Center>Bukti Transfer</Center> <Center c={AdminColor.white}>Bukti Transfer</Center>
</th> </th>
<th> <th>
<Center>Aksi</Center> <Center c={AdminColor.white}>Aksi</Center>
</th> </th>
</tr> </tr>
</thead> </thead>

View File

@@ -1,7 +1,7 @@
"use client"; "use client";
import { MODEL_INVESTASI } from "@/app_modules/investasi/_lib/interface"; import { MODEL_INVESTASI } from "@/app_modules/investasi/_lib/interface";
import { Button, Group, Stack } from "@mantine/core"; import { Button, Group, Stack, Tabs } from "@mantine/core";
import { IconCircleCheck } from "@tabler/icons-react"; import { IconCircleCheck } from "@tabler/icons-react";
import { useState } from "react"; import { useState } from "react";
import AdminGlobal_ComponentBackButton from "../../_admin_global/back_button"; import AdminGlobal_ComponentBackButton from "../../_admin_global/back_button";
@@ -50,7 +50,7 @@ export function AdminInvestasi_DetailPublish({
<Group> <Group>
{listPage.map((e) => ( {listPage.map((e) => (
<Button <Button variant="outline"
key={e.id} key={e.id}
color={selectPage == e.id ? "green" : "gray"} color={selectPage == e.id ? "green" : "gray"}
radius={"xl"} radius={"xl"}

View File

@@ -24,7 +24,7 @@ import ComponentAdminGlobal_IsEmptyData from "../../_admin_global/is_empty_data"
import { adminInvestasi_funGetAllPublish } from "../fun/get/get_all_publish"; import { adminInvestasi_funGetAllPublish } from "../fun/get/get_all_publish";
import { ComponentAdminGlobal_TitlePage } from "../../_admin_global/_component"; import { ComponentAdminGlobal_TitlePage } from "../../_admin_global/_component";
import { MainColor } from "@/app_modules/_global/color"; import { MainColor } from "@/app_modules/_global/color";
import { AdminColor } from "@/app_modules/_global/color/color_pallet"; import { AccentColor, AdminColor } from "@/app_modules/_global/color/color_pallet";
export default function Admin_TablePublishInvestasi({ export default function Admin_TablePublishInvestasi({
dataInvestsi, dataInvestsi,
@@ -76,26 +76,26 @@ function TableView({ listData }: { listData: any }) {
<tr key={e.id}> <tr key={e.id}>
<td> <td>
<Center w={200}> <Center w={200}>
<Text lineClamp={1}>{e.author.username}</Text> <Text c={AccentColor.white} lineClamp={1}>{e.author.username}</Text>
</Center> </Center>
</td> </td>
<td> <td>
<Center w={400}> <Center w={400}>
<Text lineClamp={1}>{e.title}</Text> <Text c={AccentColor.white} lineClamp={1}>{e.title}</Text>
</Center> </Center>
</td> </td>
<td> <td>
<Center w={200}>{_.toNumber(e.progress).toFixed(2)} %</Center> <Center c={AccentColor.white} w={200}>{_.toNumber(e.progress).toFixed(2)} %</Center>
</td> </td>
<td> <td>
<Center w={200}> <Center c={AccentColor.white} w={200}>
{new Intl.NumberFormat("id-ID", { {new Intl.NumberFormat("id-ID", {
maximumFractionDigits: 10, maximumFractionDigits: 10,
}).format(+e.sisaLembar)} }).format(+e.sisaLembar)}
</Center> </Center>
</td> </td>
<td> <td>
<Center w={200}> <Center c={AccentColor.white} w={200}>
{new Intl.NumberFormat("id-ID", { {new Intl.NumberFormat("id-ID", {
maximumFractionDigits: 10, maximumFractionDigits: 10,
}).format(+e.totalLembar)} }).format(+e.totalLembar)}
@@ -103,7 +103,7 @@ function TableView({ listData }: { listData: any }) {
</td> </td>
<td> <td>
<Center w={200}> <Center w={200}>
<Text lineClamp={1}>{e.Investasi_Invoice.length}</Text> <Text c={AccentColor.white} lineClamp={1}>{e.Investasi_Invoice.length}</Text>
</Center> </Center>
</td> </td>
<td> <td>
@@ -133,16 +133,16 @@ function TableView({ listData }: { listData: any }) {
<Stack spacing={"xs"} h={"100%"}> <Stack spacing={"xs"} h={"100%"}>
<ComponentAdminGlobal_TitlePage <ComponentAdminGlobal_TitlePage
name="Publish" name="Publish"
color={AdminColor.green} color={AdminColor.softBlue}
component={ component={
<TextInput <TextInput
icon={<IconSearch size={20} />} icon={<IconSearch size={20} />}
radius={"xl"} radius={"xl"}
placeholder="Cari nama proyek" placeholder={"Cari nama proyek"}
onChange={(val) => { onChange={(val) => {
onSearch(val.currentTarget.value); onSearch(val.currentTarget.value);
}} }}
/> />
} }
/> />
{/* <Group {/* <Group
@@ -167,7 +167,7 @@ function TableView({ listData }: { listData: any }) {
{_.isEmpty(data) ? ( {_.isEmpty(data) ? (
<ComponentAdminGlobal_IsEmptyData /> <ComponentAdminGlobal_IsEmptyData />
) : ( ) : (
<Paper p={"md"} withBorder shadow="lg" h={"80vh"}> <Paper bg={AdminColor.softBlue} p={"md"} shadow="lg" h={"80vh"}>
<ScrollArea w={"100%"} h={"90%"} offsetScrollbars> <ScrollArea w={"100%"} h={"90%"} offsetScrollbars>
<Table <Table
verticalSpacing={"md"} verticalSpacing={"md"}
@@ -175,31 +175,31 @@ function TableView({ listData }: { listData: any }) {
p={"md"} p={"md"}
w={"100%"} w={"100%"}
h={"100%"} h={"100%"}
striped
highlightOnHover
> >
<thead> <thead>
<tr> <tr>
<th> <th>
<Center w={200}>Username</Center> <Center c={AccentColor.white} w={200}>Username</Center>
</th> </th>
<th> <th>
<Center w={400}>Nama Proyek</Center> <Center c={AccentColor.white} w={400}>Nama Proyek</Center>
</th> </th>
<th> <th>
<Center w={200}>Progres</Center> <Center c={AccentColor.white} w={200}>Progres</Center>
</th> </th>
<th> <th>
<Center w={200}>Sisa Saham</Center> <Center c={AccentColor.white} w={200}>Sisa Saham</Center>
</th> </th>
<th> <th>
<Center w={200}>Total Saham</Center> <Center c={AccentColor.white} w={200}>Total Saham</Center>
</th> </th>
<th> <th>
<Center w={200}>Validasi</Center> <Center c={AccentColor.white} w={200}>Validasi</Center>
</th> </th>
<th> <th>
<Center w={200}>Aksi</Center> <Center c={AccentColor.white} w={200}>Aksi</Center>
</th> </th>
</tr> </tr>
</thead> </thead>

View File

@@ -101,29 +101,29 @@ function TableView({ listData }: { listData: any }) {
const tableBody = data.map((e) => ( const tableBody = data.map((e) => (
<tr key={e.id}> <tr key={e.id}>
<td> <td>
<Center w={200}> <Center c={AccentColor.white} w={200}>
<Text lineClamp={1}>{e.author.username}</Text> <Text lineClamp={1}>{e.author.username}</Text>
</Center> </Center>
</td> </td>
<td> <td>
<Center w={400}> <Center c={AccentColor.white} w={400}>
<Text lineClamp={1}>{e.title}</Text> <Text lineClamp={1}>{e.title}</Text>
</Center> </Center>
</td> </td>
<td> <td>
<Center w={200}> <Center c={AccentColor.white} w={200}>
<Text lineClamp={1}>{e.roi} %</Text> <Text lineClamp={1}>{e.roi} %</Text>
</Center> </Center>
</td> </td>
<td> <td>
<Center w={200}> <Center c={AccentColor.white} w={200}>
<ComponentAdminGlobal_TampilanRupiahDonasi <ComponentAdminGlobal_TampilanRupiahDonasi
nominal={_.toNumber(e.targetDana)} nominal={_.toNumber(e.targetDana)}
/> />
</Center> </Center>
</td> </td>
<td> <td>
<Center w={200}> <Center c={AccentColor.white} w={200}>
<ComponentAdminGlobal_TampilanRupiahDonasi <ComponentAdminGlobal_TampilanRupiahDonasi
nominal={_.toNumber(e.hargaLembar)} nominal={_.toNumber(e.hargaLembar)}
/> />
@@ -155,7 +155,7 @@ function TableView({ listData }: { listData: any }) {
<Stack spacing={"xs"} h={"100%"}> <Stack spacing={"xs"} h={"100%"}>
<ComponentAdminGlobal_TitlePage <ComponentAdminGlobal_TitlePage
name="Review" name="Review"
color={AdminColor.orange} color={AdminColor.softBlue}
component={ component={
<TextInput <TextInput
icon={<IconSearch size={20} />} icon={<IconSearch size={20} />}
@@ -189,7 +189,7 @@ function TableView({ listData }: { listData: any }) {
{_.isEmpty(data) ? ( {_.isEmpty(data) ? (
<ComponentAdminGlobal_IsEmptyData /> <ComponentAdminGlobal_IsEmptyData />
) : ( ) : (
<Paper p={"md"} withBorder shadow="lg" h={"80vh"}> <Paper p={"md"} bg={AdminColor.softBlue} shadow="lg" h={"80vh"}>
{isShowReload && ( {isShowReload && (
<Paper bg={"red"} w={"50%"}> <Paper bg={"red"} w={"50%"}>
<Affix position={{ top: rem(200) }} w={"100%"}> <Affix position={{ top: rem(200) }} w={"100%"}>
@@ -221,29 +221,27 @@ function TableView({ listData }: { listData: any }) {
p={"md"} p={"md"}
w={"100%"} w={"100%"}
h={"100%"} h={"100%"}
striped
highlightOnHover
> >
<thead> <thead>
<tr> <tr>
<th> <th>
<Center w={200}>Username</Center> <Center c={AccentColor.white} w={200}>Username</Center>
</th> </th>
<th> <th>
<Center w={400}>Nama Proyek</Center> <Center c={AccentColor.white} w={400}>Nama Proyek</Center>
</th> </th>
<th> <th>
<Center w={200}>ROI</Center> <Center c={AccentColor.white} w={200}>ROI</Center>
</th> </th>
<th> <th>
<Center w={200}>Target Dana</Center> <Center c={AccentColor.white} w={200}>Target Dana</Center>
</th> </th>
<th> <th>
<Center w={200}>Harga Perlembar</Center> <Center c={AccentColor.white} w={200}>Harga Perlembar</Center>
</th> </th>
<th> <th>
<Center w={200}>Aksi</Center> <Center c={AccentColor.white} w={200}>Aksi</Center>
</th> </th>
</tr> </tr>
</thead> </thead>

View File

@@ -9,6 +9,7 @@ import {
Box, Box,
Center, Center,
Divider, Divider,
Flex,
Grid, Grid,
Group, Group,
Paper, Paper,
@@ -17,16 +18,20 @@ import {
Stack, Stack,
Table, Table,
Text, Text,
ThemeIcon,
Title, Title,
} from "@mantine/core"; } from "@mantine/core";
import { import {
IconAlertTriangle,
IconArrowBadgeRight, IconArrowBadgeRight,
IconArrowBigRightLine, IconArrowBigRightLine,
IconArrowsMaximize, IconArrowsMaximize,
IconBookmark,
IconCaretRight, IconCaretRight,
IconChevronsDownRight, IconChevronsDownRight,
IconChevronsRight, IconChevronsRight,
IconEdit, IconEdit,
IconUpload,
IconZoomCheck, IconZoomCheck,
} from "@tabler/icons-react"; } from "@tabler/icons-react";
import { useRouter } from "next/navigation"; import { useRouter } from "next/navigation";
@@ -39,6 +44,8 @@ import _ from "lodash";
import TableTotalInvestasi from "./table_total_investasi"; import TableTotalInvestasi from "./table_total_investasi";
import TablePublikasiProgresInvestasi from "./table_publikasi_progres"; import TablePublikasiProgresInvestasi from "./table_publikasi_progres";
import ComponentAdminGlobal_HeaderTamplate from "../../_admin_global/header_tamplate"; import ComponentAdminGlobal_HeaderTamplate from "../../_admin_global/header_tamplate";
import { AccentColor, MainColor } from "@/app_modules/_global/color";
import { AdminColor } from "@/app_modules/_global/color/color_pallet";
export default function Admin_Investasi({ export default function Admin_Investasi({
listInvestasi, listInvestasi,
@@ -66,21 +73,25 @@ export default function Admin_Investasi({
name: "Publish", name: "Publish",
jumlah: countPublish, jumlah: countPublish,
link: RouterAdminInvestasi_OLD.table_status_publish, link: RouterAdminInvestasi_OLD.table_status_publish,
color: "green", color: MainColor.green,
icon: <IconUpload size={18} color="#4CAF4F" />,
}, },
{ {
id: 2, id: 2,
name: "Review", name: "Review",
jumlah: countReview, jumlah: countReview,
link: RouterAdminInvestasi_OLD.table_status_review, link: RouterAdminInvestasi_OLD.table_status_review,
color: "orange", color: MainColor.orange,
icon: <IconBookmark size={18} color="#FF7043" />
}, },
{ {
id: 3, id: 3,
name: "Reject", name: "Reject",
jumlah: countReject, jumlah: countReject,
link: RouterAdminInvestasi_OLD.table_status_reject, link: RouterAdminInvestasi_OLD.table_status_reject,
color: "red", color: MainColor.red,
icon: <IconAlertTriangle size={18} color="#FF4B4C" />
}, },
]; ];
@@ -101,18 +112,23 @@ export default function Admin_Investasi({
{listBox.map((e, i) => ( {listBox.map((e, i) => (
<Paper <Paper
key={i} key={i}
bg={`${e.color}.2`} bg={AdminColor.softBlue}
shadow="md" shadow="md"
radius="md" radius="md"
p="md" p="md"
// sx={{ borderColor: e.color, borderStyle: "solid" }} // sx={{ borderColor: e.color, borderStyle: "solid" }}
> >
<Group position="center">
<Stack align="center" spacing={0}> <Stack spacing={0}>
<Text>{e.name}</Text> <Text fw={"bold"} color={AccentColor.white}>{e.name}</Text>
<Title>{e.jumlah}</Title> <Flex align={"center"} justify={"space-between"}>
</Stack> <Title c={AccentColor.white}>{e.jumlah}</Title>
</Group> <ThemeIcon radius={"xl"} size={"md"} color={AccentColor.white}>
{e.icon}
</ThemeIcon>
</Flex>
</Stack>
</Paper> </Paper>
))} ))}
</SimpleGrid> </SimpleGrid>

View File

@@ -1,6 +1,9 @@
"use client"; "use client";
import { Divider, Grid, Group, Paper, Stack, Text, Title } from "@mantine/core"; import { AccentColor, AdminColor, MainColor } from "@/app_modules/_global/color/color_pallet";
import { Divider, Flex, Grid, Group, Paper, Stack, Text, ThemeIcon, Title } from "@mantine/core";
import { IconFileText, IconUsers } from "@tabler/icons-react";
import ComponentAdminGlobal_HeaderTamplate from "../../_admin_global/header_tamplate";
export default function AdminMain({ export default function AdminMain({
countUser, countUser,
@@ -15,33 +18,35 @@ export default function AdminMain({
name: "User", name: "User",
jumlah: countUser, jumlah: countUser,
link: "", link: "",
color: "green", icon: <IconUsers size={18} color="#0066CCFF" />
}, },
{ {
id: 2, id: 2,
name: "Portofolio", name: "Portofolio",
jumlah: countPorto, jumlah: countPorto,
link: "", link: "",
color: "orange", icon: <IconFileText size={18} color={"#B6A22EFF"}/>
}, },
]; ];
return ( return (
<> <>
<Stack spacing={"sm"}> <Stack spacing={"sm"}>
<Title>Main Dashboard</Title> <ComponentAdminGlobal_HeaderTamplate name="Main Dashboard"/>
<Divider mb={"md"} /> {/* <Title c={AdminColor.white}>Main Dashboard</Title>
<Divider c={AdminColor.dividerWhite} mb={"md"} size={"xs"} /> */}
<Grid> <Grid>
{listBox.map((e) => ( {listBox.map((e) => (
<Grid.Col md={4} lg={4} key={e.id}> <Grid.Col md={4} lg={4} key={e.id}>
<Paper withBorder shadow="md" radius="md" p="md"> <Paper style={{ borderColor: "transparent"}} bg={AdminColor.softBlue} withBorder shadow="md" radius="md" p="md">
<Group position="center"> <Stack spacing={0}>
<Stack align="center" spacing={0}> <Text fw={"bold"} c={MainColor.white}>{e.name}</Text>
<Text>{e.name}</Text> <Flex align={"center"} justify={"space-between"}>
<Title>{e.jumlah}</Title> <Title c={MainColor.white}>{e.jumlah}</Title>
<ThemeIcon radius={"xl"} size={"md"} color={AccentColor.white}>{e.icon}</ThemeIcon>
</Flex>
</Stack> </Stack>
</Group>
</Paper> </Paper>
</Grid.Col> </Grid.Col>
))} ))}

View File

@@ -36,6 +36,7 @@ import {
} from "./_admin_global/new_global_state"; } from "./_admin_global/new_global_state";
import adminNotifikasi_getByUserId from "./notifikasi/fun/get/get_notifikasi_by_user_id"; import adminNotifikasi_getByUserId from "./notifikasi/fun/get/get_notifikasi_by_user_id";
import { ComponentAdmin_UIDrawerNotifikasi } from "./notifikasi/ui_drawer_notifikasi"; import { ComponentAdmin_UIDrawerNotifikasi } from "./notifikasi/ui_drawer_notifikasi";
import { AdminColor } from "../_global/color/color_pallet";
export function Admin_NewLayout({ export function Admin_NewLayout({
children, children,
@@ -93,10 +94,12 @@ export function Admin_NewLayout({
return ( return (
<> <>
<AppShell <AppShell
bg={"#001f3b"}
padding="md" padding="md"
navbarOffsetBreakpoint={1024} navbarOffsetBreakpoint={1024}
navbar={ navbar={
<Navbar <Navbar
style={{ borderColor: "transparent" }}
height={"100%"} height={"100%"}
width={{ base: 250 }} width={{ base: 250 }}
hiddenBreakpoint={1024} hiddenBreakpoint={1024}
@@ -182,7 +185,7 @@ export function Admin_NewLayout({
} }
> >
{!matches ? ( {!matches ? (
<Stack align="center" justify="center" h={"100%"}> <Stack align="center" justify="center" h={"100%"}>
<Title>Sorry !</Title> <Title>Sorry !</Title>
<Title order={4} align="center"> <Title order={4} align="center">
View Only Available For Desktop View Only Available For Desktop