Integrasi API: Admin event & QR Code event
Add: - app/(application)/(user)/event/[id]/confirmation.tsx - screens/Admin/Event/ - service/api-admin/api-admin-event.ts Fix: - app.config.js : penambahan DEEP_LINK_URL untuk url QR Code - app/(application)/(user)/event/create.tsx - app/(application)/admin/event/[id]/[status]/index.tsx - app/(application)/admin/event/[id]/reject-input.tsx - app/(application)/admin/event/[status]/status.tsx - app/(application)/admin/event/index.tsx - app/(application)/admin/job/[id]/[status]/index.tsx - screens/Admin/listPageAdmin.tsx - service/api-config.ts - ### No Issue
This commit is contained in:
@@ -9,13 +9,67 @@ import {
|
||||
import AdminComp_BoxDashboard from "@/components/_ShareComponent/Admin/BoxDashboard";
|
||||
import AdminTitlePage from "@/components/_ShareComponent/Admin/TitlePage";
|
||||
import { MainColor } from "@/constants/color-palet";
|
||||
import { apiAdminEvent } from "@/service/api-admin/api-admin-event";
|
||||
import { useFocusEffect } from "expo-router";
|
||||
import { useCallback, useState } from "react";
|
||||
|
||||
export default function AdminVoting() {
|
||||
const [data, setData] = useState<any | null>(null);
|
||||
|
||||
useFocusEffect(
|
||||
useCallback(() => {
|
||||
onLoadData();
|
||||
}, [])
|
||||
);
|
||||
|
||||
const onLoadData = async () => {
|
||||
try {
|
||||
const response = await apiAdminEvent({
|
||||
category: "dashboard",
|
||||
});
|
||||
|
||||
if (response.success) {
|
||||
setData(response.data);
|
||||
}
|
||||
} catch (error) {
|
||||
console.log("[ERROR]", error);
|
||||
}
|
||||
};
|
||||
|
||||
const listData = [
|
||||
{
|
||||
label: "Publish",
|
||||
value: (data && data.publish) || 0,
|
||||
icon: <IconPublish size={25} color={MainColor.green} />,
|
||||
},
|
||||
{
|
||||
label: "Review",
|
||||
value: (data && data.review) || 0,
|
||||
icon: <IconReview size={25} color={MainColor.orange} />,
|
||||
},
|
||||
{
|
||||
label: "Reject",
|
||||
value: (data && data.reject) || 0,
|
||||
icon: <IconReject size={25} color={MainColor.red} />,
|
||||
},
|
||||
{
|
||||
label: "Riwayat",
|
||||
value: (data && data.history) || 0,
|
||||
icon: <IconArchive size={25} color={MainColor.placeholder} />,
|
||||
},
|
||||
{
|
||||
label: "Tipe Acara",
|
||||
value: (data && data.typeOfEvent) || 0,
|
||||
icon: <IconList size={25} color={MainColor.placeholder} />,
|
||||
},
|
||||
];
|
||||
|
||||
return (
|
||||
<>
|
||||
<ViewWrapper>
|
||||
<AdminTitlePage title="Event" />
|
||||
<Spacing />
|
||||
|
||||
<StackCustom gap={"xs"}>
|
||||
{listData.map((item, i) => (
|
||||
<AdminComp_BoxDashboard key={i} item={item} />
|
||||
@@ -25,31 +79,3 @@ export default function AdminVoting() {
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
const listData = [
|
||||
{
|
||||
label: "Publish",
|
||||
value: 3,
|
||||
icon: <IconPublish size={25} color={MainColor.green} />,
|
||||
},
|
||||
{
|
||||
label: "Review",
|
||||
value: 8,
|
||||
icon: <IconReview size={25} color={MainColor.orange} />,
|
||||
},
|
||||
{
|
||||
label: "Reject",
|
||||
value: 4,
|
||||
icon: <IconReject size={25} color={MainColor.red} />,
|
||||
},
|
||||
{
|
||||
label: "Riwayat",
|
||||
value: 6,
|
||||
icon: <IconArchive size={25} color={MainColor.placeholder} />,
|
||||
},
|
||||
{
|
||||
label: "Tipe Acara",
|
||||
value: 7,
|
||||
icon: <IconList size={25} color={MainColor.placeholder} />,
|
||||
},
|
||||
];
|
||||
|
||||
Reference in New Issue
Block a user