diff --git a/app/(application)/(user)/voting/[id]/[status]/detail.tsx b/app/(application)/(user)/voting/[id]/[status]/detail.tsx index 79ffe9b..8f065ac 100644 --- a/app/(application)/(user)/voting/[id]/[status]/detail.tsx +++ b/app/(application)/(user)/voting/[id]/[status]/detail.tsx @@ -7,10 +7,10 @@ import { DrawerCustom, LoaderCustom, MenuDrawerDynamicGrid, + OS_Wrapper, Spacing, StackCustom, TextCustom, - ViewWrapper, } from "@/components"; import AppHeader from "@/components/_ShareComponent/AppHeader"; import { IconArchive, IconContribution, IconEdit } from "@/components/_Icon"; @@ -119,7 +119,7 @@ export default function VotingDetailStatus() { ), }} /> - + {loadingGetData ? ( ) : ( @@ -158,7 +158,7 @@ export default function VotingDetailStatus() { )} - + {/* ========= Draft Drawer ========= */} - + {loadingGetData ? ( ) : ( @@ -116,7 +116,7 @@ export default function VotingDetailContribution() { )} - + {/* ========= Publish Drawer ========= */} + {loadingGetData ? ( ) : ( @@ -328,6 +332,6 @@ export default function VotingEdit() { )} - + ); } diff --git a/app/(application)/(user)/voting/[id]/history.tsx b/app/(application)/(user)/voting/[id]/history.tsx index fe1449d..48b05cf 100644 --- a/app/(application)/(user)/voting/[id]/history.tsx +++ b/app/(application)/(user)/voting/[id]/history.tsx @@ -6,8 +6,8 @@ import { DrawerCustom, LoaderCustom, MenuDrawerDynamicGrid, + OS_Wrapper, Spacing, - ViewWrapper, } from "@/components"; import AppHeader from "@/components/_ShareComponent/AppHeader"; import { IconContribution } from "@/components/_Icon"; @@ -94,7 +94,7 @@ export default function VotingDetailHistory() { ), }} /> - + {loadingGetData ? ( ) : ( @@ -116,7 +116,7 @@ export default function VotingDetailHistory() { )} - + {/* ========= Publish Drawer ========= */} + - + ); } @@ -155,7 +156,14 @@ export default function VotingDetail() { }} /> - + + } + > {loadingGetData ? ( ) : ( @@ -182,7 +190,7 @@ export default function VotingDetail() { /> )} - + {/* ========= Publish Drawer ========= */} + - + ); } diff --git a/screens/Voting/ScreenBeranda.tsx b/screens/Voting/ScreenBeranda.tsx index d419897..018ef6b 100644 --- a/screens/Voting/ScreenBeranda.tsx +++ b/screens/Voting/ScreenBeranda.tsx @@ -1,6 +1,6 @@ /* eslint-disable react-hooks/exhaustive-deps */ -import { FloatingButton, SearchInput } from "@/components"; -import NewWrapper from "@/components/_ShareComponent/NewWrapper"; +import { FloatingButton, OS_Wrapper, SearchInput } from "@/components"; +import { PADDING_INLINE } from "@/constants/constans-value"; import { createPaginationComponents } from "@/helpers/paginationHelpers"; import { useAuth } from "@/hooks/use-auth"; import { usePagination } from "@/hooks/use-pagination"; @@ -58,7 +58,8 @@ export default function Voting_ScreenBeranda() { ); return ( - {scrollComponent}} listData={pagination.listData} renderItem={renderVotingItem} diff --git a/tasks/TASK-005-OS-Wrapper-Implementation.md b/tasks/TASK-005-OS-Wrapper-Implementation.md index 3b94a1a..7f5bfca 100644 --- a/tasks/TASK-005-OS-Wrapper-Implementation.md +++ b/tasks/TASK-005-OS-Wrapper-Implementation.md @@ -198,6 +198,35 @@ import { OS_Wrapper } from "@/components"; --- +## ✅ User Phase 7: Voting Screens - COMPLETED (2026-04-13) + +**Files migrated: 11** + +#### Voting List Screens (OS_Wrapper): +- ✅ `screens/Voting/ScreenBeranda.tsx` - NewWrapper → OS_Wrapper (tabs list + contentPadding={PADDING_INLINE}) +- ✅ `screens/Voting/ScreenContribution.tsx` - NewWrapper → OS_Wrapper (tabs list + contentPadding={PADDING_INLINE}) +- ✅ `screens/Voting/ScreenHistory.tsx` - NewWrapper → OS_Wrapper (tabs list + contentPadding={PADDING_INLINE}) +- ✅ `screens/Voting/ScreenStatus.tsx` - NewWrapper → OS_Wrapper (tabs list + contentPadding={PADDING_INLINE}) +- ✅ `screens/Voting/ScreenListOfContributor.tsx` - NewWrapper → OS_Wrapper (pagination list) + +#### Voting Form Screens (OS_Wrapper with keyboard handling): +- ✅ `app/(application)/(user)/voting/create.tsx` - NewWrapper → OS_Wrapper + enableKeyboardHandling + contentPaddingBottom={250} +- ✅ `app/(application)/(user)/voting/[id]/edit.tsx` - NewWrapper → OS_Wrapper + enableKeyboardHandling + contentPaddingBottom={250} + +#### Voting Detail Screens (OS_Wrapper static): +- ✅ `app/(application)/(user)/voting/[id]/index.tsx` - ViewWrapper → OS_Wrapper (detail with pull-to-refresh) +- ✅ `app/(application)/(user)/voting/[id]/contribution.tsx` - ViewWrapper → OS_Wrapper (detail static) +- ✅ `app/(application)/(user)/voting/[id]/history.tsx` - ViewWrapper → OS_Wrapper (detail static) +- ✅ `app/(application)/(user)/voting/[id]/[status]/detail.tsx` - ViewWrapper → OS_Wrapper (detail static) + +**Testing Status:** +- ✅ TypeScript: No errors +- ⏳ Build: Pending +- ⏳ iOS Testing: Pending +- ⏳ Android Testing: Pending + +--- + # 🔴 ADMIN PHASES (Admin-Facing Screens) ## ✅ Admin Phase 9: User Access - COMPLETED (2026-04-09) @@ -341,12 +370,12 @@ import { OS_Wrapper } from "@/components"; | User Phase 4 (Maps) | 2 | 2 | ⏳ Pending | ✅ Complete | | User Phase 5 (Forum) | 17 | 17 | ⏳ Pending | ✅ Complete | | User Phase 6 (Event) | 16 | 16 | ⏳ Pending | ✅ Complete | -| User Phase 7 (Voting) | ~10 | 0 | 0 | ⏳ Pending | +| User Phase 7 (Voting) | 11 | 11 | ✅ No errors | ✅ Complete | | User Phase 8 (Donation) | ~4 | 0 | 0 | ⏳ Pending | | User Phase 9 (Investment) | ~3 | 0 | 0 | ⏳ Pending | | User Phase 10 (Collaboration) | ~3 | 0 | 0 | ⏳ Pending | | User Phase 11 (Others) | ~4 | 0 | 0 | ⏳ Pending | -| **User Total** | **~84** | **60** | **9** | **~71% Complete** | +| **User Total** | **~89** | **71** | **10** | **~80% Complete** | ### Admin Phases: | Phase | Total Files | Migrated | Testing | Status | @@ -381,6 +410,6 @@ Jika ada issue yang tidak bisa di-fix dalam 1 jam: **Co-authored-by**: Qwen-Coder **Created**: 2026-04-06 -**Last Updated**: 2026-04-10 -**Status**: User Phase 1-6 Complete ✅ (60 files migrated) -**Next**: User Phase 7 - Voting Screens +**Last Updated**: 2026-04-13 +**Status**: User Phase 1-7 Complete ✅ | Admin Phase 9 Complete ✅ (71 files migrated) +**Next**: User Phase 8 - Donation Screens OR Admin Phase 1-3 (HIGH Priority)