feat: Complete Admin Phase 7 Investment screens + fix Admin Phase 8, 10 documentation + migrate dashboard & maps to OS_Wrapper
- Migrate admin/investment/[id]/[status]/index.tsx to OS_Wrapper (detail with pull-to-refresh) - Migrate admin/investment/[id]/[status]/transaction-detail.tsx to OS_Wrapper (transaction detail with footer) - Migrate admin/investment/[id]/reject-input.tsx to OS_Wrapper with enableKeyboardHandling - Migrate admin/investment/index.tsx to OS_Wrapper (dashboard) - Migrate ScreenInvestmentListOfInvestor.tsx to OS_Wrapper - Migrate ScreenInvestmentStatus.tsx to OS_Wrapper - Migrate admin/dashboard.tsx to OS_Wrapper - Migrate admin/maps.tsx to OS_Wrapper - Fix TASK-005 documentation: reorder Admin Phases 1-10, update tracking table - Mark Admin Phase 3 (Donation) as Complete (12 files verified) - Add Admin Phase 10 (Dashboard & Maps) documentation - Update grand total: 178/~184 files (~97% complete) Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import { StackCustom, TextCustom, ViewWrapper } from "@/components";
|
||||
import { StackCustom, TextCustom } from "@/components";
|
||||
import OS_Wrapper from "@/components/_ShareComponent/OS_Wrapper";
|
||||
import AdminComp_BoxDashboard from "@/components/_ShareComponent/Admin/BoxDashboard";
|
||||
import { MainColor } from "@/constants/color-palet";
|
||||
import { apiAdminMainDashboardGetAll } from "@/service/api-admin/api-admin-main-dashboard";
|
||||
@@ -28,7 +29,7 @@ export default function AdminDashboard() {
|
||||
|
||||
return (
|
||||
<>
|
||||
<ViewWrapper>
|
||||
<OS_Wrapper>
|
||||
<StackCustom>
|
||||
<TextCustom bold size={30}>
|
||||
Main Dashboard
|
||||
@@ -37,7 +38,7 @@ export default function AdminDashboard() {
|
||||
<AdminComp_BoxDashboard key={i} item={item} />
|
||||
))}
|
||||
</StackCustom>
|
||||
</ViewWrapper>
|
||||
</OS_Wrapper>
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -12,10 +12,10 @@ import {
|
||||
Spacing,
|
||||
StackCustom,
|
||||
TextCustom,
|
||||
ViewWrapper,
|
||||
} from "@/components";
|
||||
import { IconProspectus } from "@/components/_Icon";
|
||||
import { IconDot, IconList } from "@/components/_Icon/IconComponent";
|
||||
import OS_Wrapper from "@/components/_ShareComponent/OS_Wrapper";
|
||||
import AdminBackButtonAntTitle from "@/components/_ShareComponent/Admin/BackButtonAntTitle";
|
||||
import AdminButtonReject from "@/components/_ShareComponent/Admin/ButtonReject";
|
||||
import AdminButtonReview from "@/components/_ShareComponent/Admin/ButtonReview";
|
||||
@@ -35,6 +35,7 @@ import { formatCurrencyDisplay } from "@/utils/formatCurrencyDisplay";
|
||||
import { router, useFocusEffect, useLocalSearchParams } from "expo-router";
|
||||
import _ from "lodash";
|
||||
import React from "react";
|
||||
import { RefreshControl } from "react-native";
|
||||
import Toast from "react-native-toast-message";
|
||||
|
||||
export default function AdminInvestmentDetail() {
|
||||
@@ -119,22 +120,30 @@ export default function AdminInvestmentDetail() {
|
||||
if (!data) {
|
||||
return (
|
||||
<>
|
||||
<ViewWrapper>
|
||||
<OS_Wrapper>
|
||||
<CustomSkeleton height={200} />
|
||||
</ViewWrapper>
|
||||
</OS_Wrapper>
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
return (
|
||||
<>
|
||||
<ViewWrapper
|
||||
<OS_Wrapper
|
||||
headerComponent={
|
||||
<AdminBackButtonAntTitle
|
||||
title={`Detail Data`}
|
||||
rightComponent={status === "publish" && rightComponent}
|
||||
/>
|
||||
}
|
||||
refreshControl={
|
||||
<RefreshControl
|
||||
refreshing={isLoading}
|
||||
onRefresh={onLoadData}
|
||||
tintColor="#E1B525"
|
||||
colors={["#E1B525"]}
|
||||
/>
|
||||
}
|
||||
>
|
||||
{status === "publish" && (
|
||||
<BaseBox>
|
||||
@@ -280,7 +289,7 @@ export default function AdminInvestmentDetail() {
|
||||
}}
|
||||
/>
|
||||
)}
|
||||
</ViewWrapper>
|
||||
</OS_Wrapper>
|
||||
|
||||
<DrawerCustom
|
||||
isVisible={openDrawer}
|
||||
|
||||
@@ -7,9 +7,9 @@ import {
|
||||
Spacing,
|
||||
StackCustom,
|
||||
TextCustom,
|
||||
ViewWrapper,
|
||||
} from "@/components";
|
||||
import AdminBackButtonAntTitle from "@/components/_ShareComponent/Admin/BackButtonAntTitle";
|
||||
import OS_Wrapper from "@/components/_ShareComponent/OS_Wrapper";
|
||||
import { GridSpan_4_8 } from "@/components/_ShareComponent/GridSpan_4_8";
|
||||
import GridTwoView from "@/components/_ShareComponent/GridTwoView";
|
||||
import { MainColor } from "@/constants/color-palet";
|
||||
@@ -225,11 +225,11 @@ export default function AdminInvestmentTransactionDetail() {
|
||||
|
||||
return (
|
||||
<>
|
||||
<ViewWrapper
|
||||
<OS_Wrapper
|
||||
headerComponent={
|
||||
<AdminBackButtonAntTitle title="Detail Transaksi Investor" />
|
||||
}
|
||||
// footerComponent={buttonAction()}
|
||||
footerComponent={buttonAction()}
|
||||
>
|
||||
<BaseBox>
|
||||
<StackCustom>
|
||||
@@ -244,7 +244,7 @@ export default function AdminInvestmentTransactionDetail() {
|
||||
</BaseBox>
|
||||
<Spacing />
|
||||
{buttonAction()}
|
||||
</ViewWrapper>
|
||||
</OS_Wrapper>
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -3,10 +3,10 @@ import {
|
||||
AlertDefaultSystem,
|
||||
BoxButtonOnFooter,
|
||||
TextAreaCustom,
|
||||
ViewWrapper,
|
||||
} from "@/components";
|
||||
import AdminBackButtonAntTitle from "@/components/_ShareComponent/Admin/BackButtonAntTitle";
|
||||
import AdminButtonReject from "@/components/_ShareComponent/Admin/ButtonReject";
|
||||
import OS_Wrapper from "@/components/_ShareComponent/OS_Wrapper";
|
||||
import { useAuth } from "@/hooks/use-auth";
|
||||
import {
|
||||
apiAdminInvestasiUpdateByStatus,
|
||||
@@ -118,7 +118,9 @@ export default function AdminInvestmentRejectInput() {
|
||||
|
||||
return (
|
||||
<>
|
||||
<ViewWrapper
|
||||
<OS_Wrapper
|
||||
enableKeyboardHandling
|
||||
contentPaddingBottom={250}
|
||||
footerComponent={buttonSubmit}
|
||||
headerComponent={
|
||||
<AdminBackButtonAntTitle title="Penolakan Investasi" />
|
||||
@@ -132,7 +134,7 @@ export default function AdminInvestmentRejectInput() {
|
||||
showCount
|
||||
maxLength={1000}
|
||||
/>
|
||||
</ViewWrapper>
|
||||
</OS_Wrapper>
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import { Spacing, StackCustom, ViewWrapper } from "@/components";
|
||||
import { Spacing, StackCustom } from "@/components";
|
||||
import OS_Wrapper from "@/components/_ShareComponent/OS_Wrapper";
|
||||
import {
|
||||
IconPublish,
|
||||
IconReject,
|
||||
@@ -54,7 +55,7 @@ export default function AdminInvestment() {
|
||||
|
||||
return (
|
||||
<>
|
||||
<ViewWrapper>
|
||||
<OS_Wrapper>
|
||||
<AdminTitlePage title="Investasi" />
|
||||
<Spacing />
|
||||
<StackCustom gap={"xs"}>
|
||||
@@ -62,7 +63,7 @@ export default function AdminInvestment() {
|
||||
<AdminComp_BoxDashboard key={i} item={item} />
|
||||
))}
|
||||
</StackCustom>
|
||||
</ViewWrapper>
|
||||
</OS_Wrapper>
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -6,8 +6,8 @@ import {
|
||||
Spacing,
|
||||
StackCustom,
|
||||
TextCustom,
|
||||
ViewWrapper,
|
||||
} from "@/components";
|
||||
import OS_Wrapper from "@/components/_ShareComponent/OS_Wrapper";
|
||||
import GridTwoView from "@/components/_ShareComponent/GridTwoView";
|
||||
import { MapMarker, MapsV2Custom } from "@/components/Map/MapsV2Custom";
|
||||
import { ICON_SIZE_SMALL } from "@/constants/constans-value";
|
||||
@@ -76,9 +76,9 @@ export default function AdminMaps() {
|
||||
|
||||
return (
|
||||
<>
|
||||
<ViewWrapper style={{ paddingInline: 0, paddingBlock: 0 }}>
|
||||
<OS_Wrapper style={{ paddingInline: 0, paddingBlock: 0 }}>
|
||||
<MapsV2Custom markers={markers} />
|
||||
</ViewWrapper>
|
||||
</OS_Wrapper>
|
||||
|
||||
<DrawerCustom
|
||||
isVisible={openDrawer}
|
||||
|
||||
Reference in New Issue
Block a user