feat: Implement PageWrapper and migrate all Job screens
Create PageWrapper component that routes to: - iOS: NewWrapper (stable, tested) - Android: NewWrapper_V2 (keyboard handling fix) New Files: - components/_ShareComponent/PageWrapper.tsx - docs/PAGEWRAPPER-USAGE.md Migrated Job Screens (10): - screens/Job/ScreenJobCreate.tsx: NewWrapper_V2 → PageWrapper - screens/Job/ScreenJobEdit.tsx: NewWrapper_V2 → PageWrapper - screens/Job/ScreenArchive.tsx: ViewWrapper → PageWrapper - screens/Job/ScreenArchive2.tsx: NewWrapper_V2 → PageWrapper - screens/Job/ScreenBeranda2.tsx: NewWrapper_V2 → PageWrapper - screens/Job/MainViewStatus2.tsx: NewWrapper_V2 → PageWrapper - app/(application)/(user)/job/[id]/index.tsx: ViewWrapper → PageWrapper - app/(application)/(user)/job/[id]/archive.tsx: ViewWrapper → PageWrapper - app/(application)/(user)/job/[id]/[status]/detail.tsx: NewWrapper_V2 → PageWrapper Benefits: - iOS users (70%+) get stable NewWrapper - Android users get keyboard handling fix - Clean API - no Platform.OS checks in screens - Easy future migration path Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
@@ -5,7 +5,7 @@ import {
|
||||
DrawerCustom,
|
||||
LoaderCustom,
|
||||
MenuDrawerDynamicGrid,
|
||||
NewWrapper_V2,
|
||||
PageWrapper,
|
||||
Spacing,
|
||||
StackCustom,
|
||||
} from "@/components";
|
||||
@@ -72,7 +72,7 @@ export default function JobDetailStatus() {
|
||||
),
|
||||
}}
|
||||
/>
|
||||
<NewWrapper_V2>
|
||||
<PageWrapper>
|
||||
{isLoadData ? (
|
||||
<LoaderCustom />
|
||||
) : (
|
||||
@@ -96,7 +96,7 @@ export default function JobDetailStatus() {
|
||||
<Spacing />
|
||||
</>
|
||||
)}
|
||||
</NewWrapper_V2>
|
||||
</PageWrapper>
|
||||
|
||||
<DrawerCustom
|
||||
isVisible={openDrawer}
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
import {
|
||||
ButtonCustom,
|
||||
LoaderCustom,
|
||||
PageWrapper,
|
||||
Spacing,
|
||||
StackCustom,
|
||||
ViewWrapper,
|
||||
} from "@/components";
|
||||
import Job_BoxDetailSection from "@/screens/Job/BoxDetailSection";
|
||||
import { apiJobGetOne, apiJobUpdateData } from "@/service/api-client/api-job";
|
||||
@@ -71,7 +71,7 @@ export default function JobDetailArchive() {
|
||||
{isLoadData ? (
|
||||
<LoaderCustom />
|
||||
) : (
|
||||
<ViewWrapper>
|
||||
<PageWrapper>
|
||||
<>
|
||||
<StackCustom>
|
||||
<Job_BoxDetailSection data={data} />
|
||||
@@ -83,17 +83,10 @@ export default function JobDetailArchive() {
|
||||
>
|
||||
Publish kembali
|
||||
</ButtonCustom>
|
||||
{/* <Job_ButtonStatusSection
|
||||
id={id as string}
|
||||
status={status as string}
|
||||
isLoading={isLoading}
|
||||
onSetLoading={setIsLoading}
|
||||
isArchive={true}
|
||||
/> */}
|
||||
</StackCustom>
|
||||
<Spacing />
|
||||
</>
|
||||
</ViewWrapper>
|
||||
</PageWrapper>
|
||||
)}
|
||||
</>
|
||||
);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* eslint-disable react-hooks/exhaustive-deps */
|
||||
import { ButtonCustom, LoaderCustom, Spacing, StackCustom, ViewWrapper } from "@/components";
|
||||
import { ButtonCustom, LoaderCustom, PageWrapper, Spacing, StackCustom } from "@/components";
|
||||
import { MainColor } from "@/constants/color-palet";
|
||||
import { ICON_SIZE_SMALL } from "@/constants/constans-value";
|
||||
import Job_BoxDetailSection from "@/screens/Job/BoxDetailSection";
|
||||
@@ -88,7 +88,7 @@ export default function JobDetail() {
|
||||
};
|
||||
|
||||
return (
|
||||
<ViewWrapper>
|
||||
<PageWrapper>
|
||||
{isLoading ? (
|
||||
<LoaderCustom />
|
||||
) : (
|
||||
@@ -101,6 +101,6 @@ export default function JobDetail() {
|
||||
<Spacing />
|
||||
</>
|
||||
)}
|
||||
</ViewWrapper>
|
||||
</PageWrapper>
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user