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)