c709dffd20
feat: Complete User Phase 7 Voting screens migration to OS_Wrapper
...
- Migrate 5 list screens (Beranda, Contribution, History, Status, ListOfContributor)
- Migrate 2 form screens (create, edit) with enableKeyboardHandling
- Migrate 4 detail screens (index, contribution, history, detail)
- Add PADDING_INLINE to tabs screens for consistent spacing
- Update TASK-005 progress to 80% complete (71/89 files)
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com >
2026-04-13 12:24:23 +08:00
54537d2449
feat: Complete Phase 6 Event screens migration + add PADDING_INLINE to tabs
...
User Phase 6 - Event Screens (16 files):
- Beranda, Status, History, Contribution (tabs screens)
→ NewWrapper → OS_Wrapper + contentPadding={PADDING_INLINE}
- create.tsx & edit.tsx → Forms with enableKeyboardHandling + contentPaddingBottom={250}
- [id]/publish.tsx, history.tsx, contribution.tsx, confirmation.tsx → Static detail screens
- [id]/[status]/detail-event.tsx → Status detail screen
- detail/[id].tsx → Detail route screen
- ScreenListOfParticipants.tsx → Participants list screen
Key Improvements:
- Added contentPadding={PADDING_INLINE} to all Event (tabs) screens to prevent tight edge margins.
- Form screens (create, edit) use enableKeyboardHandling + contentPaddingBottom={250}.
- Removed all ViewWrapper and NewWrapper instances from Event feature.
Documentation:
- Update TASK-005 with Phase 6 completion details and new progress totals.
- Added note about PADDING_INLINE usage for tab screens.
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com >
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com >
2026-04-10 13:50:59 +08:00
66792186ca
feat: Complete Forum & Admin User Access migration + fix scroll issues
...
Forum Screens (User Phase 5 - 17 files):
- Migrate all forum list, detail, create, and report screens to OS_Wrapper.
- ViewBeranda, ViewBeranda2, ViewBeranda3: List screens with pull-to-refresh.
- DetailForum, DetailForum2: Comment sections with headers (apply disableFlexGrow fix).
- create, edit, report-*, other-report-*, preview-report-*: Forms with keyboard handling.
Admin Phase 9 (User Access - 2 files):
- index.tsx: List with search and pagination.
- [id]/index.tsx: Detail with status toggle footer.
Scroll Fixes (Critical Bugs):
- Fix "Ghost Scroll" in Android FlatList: Removed TouchableWithoutFeedback and KeyboardAvoidingView wrappers in List Mode.
- Fix Large Header Cut-off: Added optional disableFlexGrow={true} to OS_Wrapper for screens with complex ListHeaderComponents (e.g., Forum Detail).
- Fix Keyboard Dismiss: Changed keyboardShouldPersistTaps to "handled" so taps on empty areas dismiss the keyboard while allowing scroll.
Documentation:
- Update TASK-005 with complete Phase 5 details and new progress totals.
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com >
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com >
2026-04-09 17:48:51 +08:00
c3cf354c28
feat: Migrate Portfolio & Maps screens + perbaiki bug auto-scroll keyboard
...
Phase 3 - Portfolio Screens (6 files):
- [id]/index.tsx: ViewWrapper → OS_Wrapper (detail dengan pull-to-refresh)
- [id]/edit.tsx: NewWrapper → OS_Wrapper (form + keyboard handling)
- [id]/edit-logo.tsx: ViewWrapper → OS_Wrapper (upload logo)
- [id]/edit-social-media.tsx: ViewWrapper → OS_Wrapper (form + keyboard handling)
- ViewListPortofolio.tsx: NewWrapper → OS_Wrapper (pagination list)
- ScreenPortofolioCreate.tsx: NewWrapper → OS_Wrapper (form + keyboard handling)
Phase 4 - Maps Screens (2 files):
- ScreenMapsCreate.tsx: NewWrapper → OS_Wrapper (form + keyboard handling)
- ScreenMapsEdit.tsx: ViewWrapper → OS_Wrapper (form + keyboard handling)
Bug Fixes:
- Perbaiki auto-scroll keyboard yang membuat input paling atas 'terlempar' keluar layar
- Gunakan UIManager.measure untuk mendapatkan posisi absolut input (pageY) secara akurat
- Logika conditional scroll:
* Jika input terlihat (di atas keyboard) → TIDAK SCROLL
* Jika input tertutup keyboard → Scroll secukupnya
- Helper cloneChildrenWithFocusHandler sekarang aktif menyuntikan onFocus handler ke semua TextInput/TextArea/PhoneInput/Select
- Hapus KeyboardAvoidingView dari AndroidWrapper static mode (tidak diperlukan lagi)
Pattern yang diterapkan:
- List screens: contentPaddingBottom=100 (default)
- Form screens: contentPaddingBottom={250} + enableKeyboardHandling
- NO PADDING_INLINE (sesuai preferensi user - mencegah box menyempit)
Dokumentasi:
- Update TASK-005 dengan status lengkap Phase 1-4 (27 files migrated)
- Tambahkan urutan phase baru: Event (Phase 5), Voting (Phase 6), Forum (Phase 7), Donation (Phase 8)
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com >
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com >
2026-04-08 17:27:06 +08:00
6ec839fd67
feat: Migrate Profile, Waiting Room, and Delete Account to OS_Wrapper
...
Profile Screens (8 files):
- [id]/index.tsx: NewWrapper → OS_Wrapper (list with refresh)
- [id]/edit.tsx: ViewWrapper → OS_Wrapper (form + keyboard handling)
- create.tsx: ViewWrapper → OS_Wrapper (form + keyboard handling)
- [id]/blocked-list.tsx: NewWrapper → OS_Wrapper (pagination list)
- [id]/detail-blocked.tsx: NewWrapper → OS_Wrapper (static with footer)
- [id]/update-background.tsx: ViewWrapper → OS_Wrapper (static with footer)
- [id]/update-photo.tsx: ViewWrapper → OS_Wrapper (static with footer)
- All Profile forms use enableKeyboardHandling + contentPaddingBottom={250}
Other Screens (2 files):
- waiting-room.tsx: NewWrapper → OS_Wrapper (static with refresh + footer)
- delete-account.tsx: ViewWrapper → OS_Wrapper (form + keyboard handling)
Bug Fixes:
- AndroidWrapper: Add refreshControl to ScrollView (fix pull-to-refresh on static mode)
Pattern Applied:
- List screens: contentPaddingBottom=100 (default)
- Form screens: contentPaddingBottom=250 (with TextInput)
- No PADDING_INLINE (user preference - prevents box narrowing)
Documentation:
- Update TASK-005 with Phase 1 completion details
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com >
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com >
2026-04-08 14:32:11 +08:00
b8f8a361d6
refactor: Adjust OS_Wrapper defaults for better spacing
...
- Reduce default contentPaddingBottom from 250 to 100
- Better for list screens (less empty space)
- Only form screens with TextInput need 250px
- Set OS_ANDROID_PADDING_TOP to 6px
- More compact tabs on Android
- Update form screens (Create/Edit):
- Explicit contentPaddingBottom={250}
- Only screens with TextInput use larger spacing
- Remove unnecessary PADDING_INLINE from detail screens
- Detail screen doesn't need inline padding
Pattern:
- Default: contentPaddingBottom=100 (list screens)
- Forms: contentPaddingBottom=250 (screens with TextInput)
- contentPadding=0 (per-screen control)
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com >
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com >
2026-04-08 10:31:36 +08:00
1a5ca78041
feat: Complete OS_Wrapper implementation with keyboard handling and PADDING_INLINE
...
OS_Wrapper System:
- Simplify API: Remove PageWrapper, merge keyboard props into OS_Wrapper
- Add auto-scroll when keyboard appears (Android only)
- Add tap-to-dismiss keyboard for both Static and List modes
- Fix contentPaddingBottom default to 250px (prevent keyboard overlap)
- Change default contentPadding to 0 (per-screen control)
- Remove Platform.OS checks from IOSWrapper and AndroidWrapper
Constants:
- Add PADDING_INLINE constant (16px) for consistent inline padding
- Add OS_PADDING_TOP constants for tab layouts
Job Screens Migration (9 files):
- Apply PADDING_INLINE to all Job screens:
- ScreenBeranda, ScreenBeranda2
- ScreenArchive, ScreenArchive2
- MainViewStatus, MainViewStatus2
- ScreenJobCreate, ScreenJobEdit
- Job detail screen
Keyboard Handling:
- Simplified useKeyboardForm hook
- Auto-scroll by keyboard height when keyboard appears
- Track scroll position for accurate scroll targets
- TouchableWithoutFeedback wraps all content for tap-to-dismiss
Documentation:
- Update TASK-005 with Phase 1 completion status
- Update Quick Reference with unified API examples
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com >
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com >
2026-04-07 17:50:15 +08:00
44d9025afe
refactor: Update header components and improve job edit footer layout
...
- Replace Waiting Room header with AppHeader component
- Replace Profile Create header with AppHeader with showBack=false
- Wrap Job Edit submit button with BoxButtonOnFooter for consistent footer layout
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com >
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com >
2026-04-06 17:49:28 +08:00
0f552443c4
refactor: Cleanup test files and migrate Job Detail screen
...
- Delete ScreenJobCreate2.tsx and ScreenJobEdit2.tsx (test files)
- Delete TestWrapper.tsx and TestKeyboardInput.tsx (test components)
- Delete test pages (test-keyboard.tsx, test-keyboard-bug.tsx)
- Update create.tsx to use ScreenJobCreate (not test version)
- Update edit.tsx to use ScreenJobEdit (not test version)
- Migrate Job Detail screen to NewWrapper_V2
- Remove TestWrapper from exports
- Clean up imports
Phase 1 cleanup completed!
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com >
2026-04-02 15:31:26 +08:00
90bc8ae343
feat: Migrate Job screens to NewWrapper_V2 with keyboard handling
...
- Migrate ScreenJobCreate.tsx to NewWrapper_V2
- Migrate ScreenJobEdit.tsx to NewWrapper_V2
- Add NewWrapper_V2 component with auto-scroll keyboard handling
- Add useKeyboardForm hook for keyboard management
- Add FormWrapper component for forms
- Create ScreenJobEdit.tsx from edit route (separation of concerns)
- Add documentation for keyboard implementation
- Add TASK-004 migration plan
- Fix: Footer width 100% with safe positioning
- Fix: Content padding bottom 80px for navigation bar
- Fix: Auto-scroll to focused input
- Fix: No white area when keyboard close
- Fix: Footer not raised after keyboard close
Phase 1 completed: Job screens migrated
### No Issue
2026-04-02 15:07:10 +08:00
98f8c7e2bf
Fix layout tabs pada komponen
...
Fix home tabs
### No Issue
2026-04-01 17:17:12 +08:00
16decd89c8
Refactor: apply PhoneInputCustom to PortofolioEdit
...
Changes:
- Replace react-native-international-phone-number with PhoneInputCustom
- Remove ICountry dependency, use CountryData from constants
- Add phone number state management
- Implement country detection from existing phone number
- Auto-detect country based on calling code on load
- Improve phone number formatting logic
Features Applied:
✅ NO emoji flags - only calling codes (+62, +65, etc)
✅ Clean, professional UI
✅ Modal country picker with search
✅ Auto-detect country from saved phone number
✅ Real-time phone number formatting
✅ Auto-update country code on change
✅ Consistent with LoginView & ScreenPortofolioCreate
Phone Detection Logic:
- Load existing phone number from API
- Detect country by matching calling code
- Extract phone number without country code for display
- Set detected country for country picker
- Re-format on country change
UI:
- Phone Input: [+62 ⌄ | xxx-xxx-xxx]
- Country Picker: Modal with search
- Display: Country name + calling code only
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com >
2026-03-26 12:17:05 +08:00
b6cd308b0b
Refactor pagination implementation dan perbaikan UI
...
- Add default page parameter di apiAllUser
- Refactor MainView_V2.tsx dengan separate render functions
- Update pagination pageSize menjadi 10 di Forum
- Fix iOS height constant dan tab styling
- Rename Admin_ScreenPortofolioCreate ke ScreenPortofolioCreate
- Add TASKS documentation folder
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com >
2026-03-25 16:22:54 +08:00
f68deab8c0
Fix App Header
...
Layouts & Navigation
- app/(application)/_layout.tsx
- app/(application)/(user)/_layout.tsx
- app/(application)/(user)/event/(tabs)/_layout.tsx
- app/(application)/(user)/job/(tabs)/_layout.tsx
- app/(application)/(user)/voting/(tabs)/_layout.tsx
- app/(application)/(user)/portofolio/_layout.tsx
- app/(application)/(user)/profile/_layout.tsx
- app/(application)/admin/_layout.tsx
- app/+not-found.tsx
User – File
- app/(application)/(file)/[id].tsx
User – Collaboration
- app/(application)/(user)/collaboration/[id]/index.tsx
- app/(application)/(user)/collaboration/[id]/detail-project-main.tsx
- app/(application)/(user)/collaboration/[id]/detail-participant.tsx
- app/(application)/(user)/collaboration/[id]/[detail]/info.tsx
- app/(application)/(user)/collaboration/[id]/[detail]/room-chat.tsx
User – Donation
- app/(application)/(user)/donation/[id]/index.tsx
- app/(application)/(user)/donation/[id]/[status]/detail.tsx
- app/(application)/(user)/donation/[id]/(news)/[news]/index.tsx
User – Event
- app/(application)/(user)/event/[id]/[status]/detail-event.tsx
- app/(application)/(user)/event/[id]/confirmation.tsx
- app/(application)/(user)/event/[id]/contribution.tsx
- app/(application)/(user)/event/[id]/history.tsx
- app/(application)/(user)/event/[id]/publish.tsx
User – Investment
- app/(application)/(user)/investment/[id]/index.tsx
- app/(application)/(user)/investment/[id]/[status]/detail.tsx
- app/(application)/(user)/investment/[id]/(my-holding)/[id].tsx
- app/(application)/(user)/investment/[id]/(news)/[news]/index.tsx
User – Job
- app/(application)/(user)/job/[id]/[status]/detail.tsx
User – Portofolio
- app/(application)/(user)/portofolio/[id]/index.tsx
User – Profile
- app/(application)/(user)/profile/[id]/index.tsx
User – Voting
- app/(application)/(user)/voting/[id]/index.tsx
- app/(application)/(user)/voting/[id]/[status]/detail.tsx
- app/(application)/(user)/voting/[id]/contribution.tsx
- app/(application)/(user)/voting/[id]/history.tsx
Components
- components/Button/BackButtonFromNotification.tsx
- components/_ShareComponent/AppHeader.tsx
Admin Screens
- screens/Admin/Notification-Admin/ScreenNotificationAdmin.tsx
- screens/Admin/Notification-Admin/ScreenNotificationAdmin2.tsx
Screens – Donation
- screens/Donation/ScreenListOfNews.tsx
- screens/Donation/ScreenRecapOfNews.tsx
Screens – Forum
- screens/Forum/ViewBeranda.tsx
- screens/Forum/ViewBeranda2.tsx
- screens/Forum/ViewBeranda3.tsx
Screens – Investment
- screens/Invesment/Document/ScreenRecapOfDocument.tsx
- screens/Invesment/News/ScreenListOfNews.tsx
- screens/Invesment/News/ScreenRecapOfNews.tsx
Screens – Notification
- screens/Notification/ScreenNotification_V1.tsx
- screens/Notification/ScreenNotification_V2.tsx
iOS
- ios/HIPMIBadungConnect.xcodeproj/project.pbxproj
Docs
- QWEN.md
### Issue: Tabs can't clicked
2026-03-13 16:41:34 +08:00
37d2fbe48a
Fix code/
...
User Pages
- app/(application)/(user)/home.tsx
- app/(application)/(user)/portofolio/[id]/create.tsx
Components
- components/_ShareComponent/AppHeader.tsx
Screens
- screens/Portofolio/ScreenPortofolioCreate.tsx
Config & Dependencies
- app.config.js
- package.json
- bun.lock
iOS
- ios/HIPMIBadungConnect.xcodeproj/project.pbxproj
- ios/HIPMIBadungConnect/Info.plist
Docs
- docs/prompt-for-qwen-code.md
### No issue
2026-03-12 16:50:02 +08:00
4efdbd3c7b
feat: update admin features, user confirmation, and native configs
...
- Admin: Update layout, notification bell, and event detail screen
- User: Improve event confirmation flow
- Config: Update AndroidManifest, Info.plist, entitlements, and app.config.js
### No Issue
2026-03-11 11:29:20 +08:00
836ef709d2
Fix bug home
...
### No Issue
2026-03-05 16:41:29 +08:00
3bbee15c3a
Perbaikan Bug & Error Handling: │
...
│ │
│ 1. Device Token Registration Error (HTTP 500) │
│ - File: service/api-device-token.ts │
│ - Fix: Hapus nested data wrapper pada payload │
│ - Improvement: Tambahkan error logging detail │
│ │
│ 2. Uncaught Promise Errors │
│ - File: components/Notification/NotificationInitializer.tsx │
│ - Fix: Better error handling untuk device token registration │
│ - File: app/(application)/(user)/home.tsx │
│ - Fix: Add .catch() untuk userData() dan error handling apiUser() │
│ - File: app/(application)/(user)/profile/[id]/index.tsx │
│ - Fix: Add error handling untuk apiProfile(), apiUser(), userData() │
│ │
│ 3. UI Improvements │
│ - File: app/(application)/(user)/home.tsx │
│ - Feature: 4 skeleton lingkaran untuk loading state grid features │
│ │
│ 4. Maps Migration │
│ - File: app/(application)/admin/maps.tsx │
│ - Change: Replace react-native-maps dengan MapsV2Custom (Maplibre) │
│ - Cleanup: Hapus unused imports dan interfaces │
│ │
│ Files Modified (7) │
│ - app/(application)/(user)/home.tsx │
│ - app/(application)/(user)/profile/[id]/index.tsx │
│ - app/(application)/admin/maps.tsx │
│ - components/Notification/NotificationInitializer.tsx │
│ - service/api-device-token.ts │
│ - constants/constans-value.ts │
│ - screens/Home/bottomFeatureSection.tsx │
│ - screens/UserSeach/MainView_V2.tsx
### No Issue
2026-03-04 16:39:57 +08:00
ad7dbaf162
Fix Bug DB
...
User Pages
- app/(application)/(user)/home.tsx
- app/(application)/(user)/portofolio/[id]/index.tsx
- app/(application)/(user)/profile/[id]/index.tsx
Home
- screens/Home/bottomFeatureSection.tsx
Components
- components/Notification/NotificationInitializer.tsx
- components/_ShareComponent/SkeletonCustom.tsx
Service
- service/api-device-token.ts
Config & iOS
- app.config.js
- ios/HIPMIBadungConnect.xcodeproj/project.pbxproj
- ios/HIPMIBadungConnect/Info.plist
### No Issue
2026-03-03 16:44:45 +08:00
4c63485a5b
Clean Code Edit Maps
...
Maps Edit Feature
- app/(application)/(user)/maps/[id]/edit.tsx
- components/Map/MapSelectedV2.tsx
Docs
- docs/prompt-for-qwen-code.md
New Screen
- screens/Maps/ScreenMapsEdit.tsx
### No Issue
2026-03-02 10:31:29 +08:00
f5d09a2906
Fix create maps
...
iOS Project
- HIPMIBadungConnect.xcodeproj/project.pbxproj
Maps & Location Screens
- screens/Maps/MapsView2.tsx
- screens/Portofolio/BusinessLocationSection.tsx
New Map Components
- components/Map/MapsV2Custom.tsx
- components/Map/SelectLocationMap.tsx
### No Issue
2026-02-27 16:57:01 +08:00
e8f5c5b174
User Maps
...
- app/(application)/(user)/maps/index.tsx
- screens/Maps/MapsView2.tsx
New Maps Component
- screens/Maps/DrawerMaps.tsx
Docs / Backup
- docs/PODS.back
### No Issue
2026-02-25 16:46:37 +08:00
768b0caa9e
Fix maps
...
### No Issue
2026-02-24 16:48:37 +08:00
32a42d1b60
Fix UI Admin
...
User & Image
- app/(application)/(image)/take-picture/[id]/index.tsx
- app/(application)/(user)/home.tsx
Admin – Forum
- app/(application)/admin/forum/[id]/index.tsx
- app/(application)/admin/forum/[id]/list-comment.tsx
- app/(application)/admin/forum/[id]/list-report-comment.tsx
Admin Screens – Forum
- screens/Admin/Forum/ScreenForumDetailReportPosting.tsx
- screens/Admin/Forum/ScreenForumReportComment.tsx
- screens/Admin/Forum/ScreenForumReportPosting.tsx
New Admin Screens – Forum
- screens/Admin/Forum/ScreenForumDetailReportComment.tsx
- screens/Admin/Forum/ScreenForumListComment.tsx
Home
- screens/Home/bottomFeatureSection.tsx
Service
- service/api-admin/api-admin-forum.ts
Docs
- docs/prompt-for-qwen-code.md
### No Issue
2026-02-20 16:48:26 +08:00
4862975402
Ringkasan Perubahan
...
File yang Dimodifikasi:
1. `service/api-admin/api-admin-investment.ts` - Tambah parameter page
untuk pagination
2. `app/(application)/admin/investment/[id]/list-of-investor.tsx` - Clean
route file
File Baru:
3. `screens/Admin/Investment/ScreenInvestmentListOfInvestor.tsx` - Screen
component dengan pagination
4. `screens/Admin/Investment/BoxInvestmentListOfInvestor.tsx` - Box
component untuk list item
### No Issue
2026-02-19 14:06:02 +08:00
f284e2ec02
delete comment
2026-02-18 17:20:28 +08:00
76845b71b4
## Perubahan Tampilan Admin
...
### File Baru (4)
- `screens/Admin/Voting/ScreenVotingStatus.tsx`
- `screens/Admin/Voting/ScreenVotingHistory.tsx`
- `screens/Admin/Voting/ScreenEventTypeOfEvent.tsx`
- `screens/Admin/Voting/BoxVotingStatus.tsx`
### File Diubah (3)
- `app/(application)/admin/voting/[status]/status.tsx` → 5 baris
- `app/(application)/admin/voting/history.tsx` → 5 baris
- `app/(application)/admin/event/type-of-event.tsx` → 5 baris
### API Updates (2)
- `service/api-admin/api-admin-voting.ts` → tambah param `page`
- `service/api-admin/api-master-admin.ts` → tambah param `page`
## Fitur Baru
- Pagination (infinite scroll)
- Pull-to-Refresh
- Skeleton Loading
- Empty State
- Search Functionality
### No Issue"
2026-02-18 14:28:15 +08:00
e030b8f486
Fixed navbar admin
...
User Layout
- app/(application)/(user)/home.tsx
Components
- components/Drawer/NavbarMenu_V2.tsx
Docs
- docs/admin-folder-structure.md
### Issue: saat masuk lebih dalam ke sub menu indikator aktif di navbar hilang
2026-02-12 11:48:01 +08:00
5c931b069c
Fixed navbar admin
...
User & Admin Layout
- app/(application)/(user)/home.tsx
- app/(application)/admin/_layout.tsx
Components
- components/Drawer/NavbarMenu.tsx
- components/index.ts
Docs
- docs/prompt-for-qwen-code.md
Backup Component
- components/Drawer/NavbarMenu.back.tsx
New Components
- components/Drawer/NavbarMenu_V2.tsx
- components/_ShareComponent/BasicWrapper.tsx
New Admin Screen
- screens/Admin/listPageAdmin_V2.tsx
### No Issue
2026-02-11 17:40:08 +08:00
b2be7be533
Saya telah melakukan serangkaian perubahan penting dalam pengembangan aplikasi HIPMI Mobile, khususnya dalam modul
...
Donasi. Berikut adalah ringkasan perubahan yang telah dilakukan:
1. Menerapkan sistem pagination pada berbagai komponen layar donasi:
- ScreenBeranda.tsx
- ScreenMyDonation.tsx
- ScreenRecapOfNews.tsx
- ScreenListOfNews.tsx
- ScreenListOfDonatur.tsx
- ScreenFundDisbursement.tsx
2. Memperbarui fungsi-fungsi API untuk mendukung parameter page:
- apiDonationGetAll
- apiDonationGetNewsById
- apiDonationListOfDonaturById
- apiDonationDisbursementOfFundsListById
3. Mengganti komponen wrapper lama (ViewWrapper) dengan NewWrapper yang mendukung sistem pagination
4. Membuat komponen layar terpisah untuk meningkatkan modularitas kode
5. Memperbaiki berbagai error yang terjadi, termasuk masalah dengan import komponen dan struktur JSX
### No Issue
2026-02-10 17:30:30 +08:00
2705f96b01
feat: implement pagination and NewWrapper on donation and investment screens
...
- Implement pagination on investment screens (ScreenMyHolding, ScreenInvestor, ScreenRecapOfNews, ScreenListOfNews)
- Implement pagination on donation screens (ScreenStatus)
- Update API functions to support pagination with page parameter (apiInvestmentGetAll, apiInvestmentGetInvestorById, apiInvestmentGetNews, apiDonationGetByStatus)
- Replace ViewWrapper with NewWrapper for better UI experience
- Update app directory files to use new modular components from screens directory
- Add pull-to-refresh and infinite scroll functionality
- Improve performance by loading data incrementally
- Apply NewWrapper to donation create and create-story screens
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com >
2026-02-09 17:35:54 +08:00
38a6b424e8
Ringkasan Perubahan
...
1. Pembuatan dan Pembaruan Komponen Layar Investasi dengan Sistem Pagination
ScreenMyHolding.tsx
- Diperbarui dari sistem loading data statis ke sistem pagination dinamis
- Menggunakan hook usePagination untuk manajemen data
- Mengganti ViewWrapper dengan NewWrapper untuk tampilan yang lebih modern
- Menambahkan fitur pull-to-refresh dan infinite scroll
- Menggunakan helper pagination dari createPaginationComponents
ScreenInvestor.tsx
- Dibuat baru dengan sistem pagination
- Menggunakan hook usePagination untuk manajemen data
- Menggunakan NewWrapper sebagai komponen dasar
- Menambahkan fitur pull-to-refresh dan infinite scroll
ScreenRecapOfNews.tsx
- Dibuat baru dengan sistem pagination
- Menggunakan hook usePagination untuk manajemen data
- Menggunakan NewWrapper sebagai komponen dasar
- Menambahkan fitur pull-to-refresh dan infinite scroll
ScreenListOfNews.tsx
- Dibuat baru dengan sistem pagination
- Menggunakan hook usePagination untuk manajemen data
- Menggunakan NewWrapper sebagai komponen dasar
- Menambahkan fitur pull-to-refresh dan infinite scroll
2. Perubahan pada Fungsi-Fungsi API untuk Mendukung Pagination
apiInvestmentGetAll
- Sudah mendukung parameter page dengan default "1"
apiInvestmentGetInvestorById
- Ditambahkan parameter page dengan default "1"
- Memungkinkan pengambilan data investor secara bertahap
apiInvestmentGetNews
- Ditambahkan parameter page dengan default "1"
- Memungkinkan pengambilan data berita secara bertahap
3. Pembaruan File-File di Direktori app/ untuk Menggunakan Komponen-Komponen Baru
app/(application)/(user)/investment/[id]/investor.tsx
- Diperbarui untuk menggunakan komponen Investment_ScreenInvestor
- Menghilangkan logika lokal dan menggantinya dengan komponen modular
app/(application)/(user)/investment/[id]/(news)/recap-of-news.tsx
- Diperbarui untuk menggunakan komponen Investment_ScreenRecapOfNews
- Menghilangkan logika lokal dan menggantinya dengan komponen modular
app/(application)/(user)/investment/[id]/(news)/list-of-news.tsx
- Diperbarui untuk menggunakan komponen Investment_ScreenListOfNews
- Menghilangkan logika lokal dan menggantinya dengan komponen modular
4. Implementasi Sistem Pagination
usePagination Hook
- Digunakan secara konsisten di semua komponen layar investasi
- Menyediakan fitur load more dan refresh
- Mengelola state loading, refreshing, dan data
NewWrapper Component
- Digunakan sebagai pengganti ViewWrapper
- Menyediakan dukungan bawaan untuk FlatList
- Menyediakan dukungan untuk refreshControl dan onEndReached
Pagination Helpers
- Menggunakan createPaginationComponents untuk menghasilkan komponen-komponen pagination
- Menyediakan skeleton loading saat data sedang dimuat
- Menyediakan pesan kosong saat tidak ada data
5. Manfaat dari Perubahan Ini
1. Performa Lebih Baik: Dengan pagination, hanya sejumlah kecil data yang dimuat pada satu waktu, meningkatkan
performa aplikasi
2. Pengalaman Pengguna Lebih Baik: Fitur pull-to-refresh dan infinite scroll membuat navigasi lebih intuitif
3. Kode Lebih Modular: Komponen-komponen baru dapat digunakan kembali dan dipelihara lebih mudah
4. Struktur Kode Lebih Rapi: Pemisahan antara logika tampilan dan logika data membuat kode lebih terorganisir
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com >
2026-02-09 14:42:56 +08:00
83fa277e03
Fix Loaddata Invesment & Clearing code
...
UI – Investment (User)
- app/(application)/(user)/investment/(tabs)/index.tsx
- app/(application)/(user)/investment/(tabs)/portofolio.tsx
- app/(application)/(user)/investment/(tabs)/transaction.tsx
- app/(application)/(user)/investment/[id]/(document)/list-of-document.tsx
- app/(application)/(user)/investment/[id]/(document)/recap-of-document.tsx
- app/(application)/(user)/investment/[id]/(transaction-flow)/invoice.tsx
- app/(application)/(user)/investment/[id]/(transaction-flow)/select-bank.tsx
Screens – Investment
- screens/Invesment/ButtonStatusSection.tsx
- screens/Invesment/Document/RecapBoxDetail.tsx
- screens/Invesment/Document/ScreenListDocument.tsx
- screens/Invesment/Document/ScreenRecap.tsx
- screens/Invesment/ScreenBursa.tsx
- screens/Invesment/ScreenPortofolio.tsx
- screens/Invesment/ScreenTransaction.tsx
Profile
- app/(application)/(user)/profile/[id]/detail-blocked.tsx
API Client
- service/api-client/api-investment.ts
Docs
- docs/prompt-for-qwen-code.md
### No issue
2026-02-06 17:27:12 +08:00
c570a19d84
Fix Wrapper
...
UI – Investment (User)
- app/(application)/(user)/investment/create.tsx
- app/(application)/(user)/investment/[id]/edit.tsx
### No Issue"
2026-02-05 17:30:17 +08:00
7415c8c8ce
Fix path Notification admin
...
UI – Notifications (User)
- app/(application)/(user)/notifications/index.tsx
- screens/Notification/ScreenNotification_V2.tsx
UI – Notifications (Admin)
- screens/Admin/Notification-Admin/ScreenNotificationAdmin2.tsx
API
- service/api-notifications.ts
Docs
- docs/prompt-for-qwen-code.md
### No Issue
2026-02-05 16:37:50 +08:00
72a3d42013
Fix Loaddata Voting
...
UI – Voting (User)
- app/(application)/(user)/voting/(tabs)/index.tsx
- app/(application)/(user)/voting/(tabs)/history.tsx
- app/(application)/(user)/voting/(tabs)/contribution.tsx
- app/(application)/(user)/voting/create.tsx
- app/(application)/(user)/voting/[id]/edit.tsx
- app/(application)/(user)/voting/[id]/[status]/detail.tsx
- app/(application)/(user)/voting/[id]/list-of-contributor.tsx
UI – Event
- app/(application)/(user)/event/[id]/edit.tsx
- screens/Event/ScreenStatus.tsx
UI – Voting Screens (New)
- screens/Voting/ScreenBeranda.tsx
- screens/Voting/ScreenContribution.tsx
- screens/Voting/ScreenHistory.tsx
- screens/Voting/ScreenListOfContributor.tsx
- screens/Voting/ScreenStatus.tsx
- screens/Voting/ButtonStatusSection.tsx
UI – Job
- screens/Job/ButtonStatusSection.tsx
- screens/Job/MainViewStatus2.tsx
API Client
- service/api-client/api-voting.ts
Docs
- docs/prompt-for-qwen-code.md
### No Issue
2026-02-05 15:06:14 +08:00
d0abd14047
Fix Loaddata Voting
...
Voting – User
- app/(application)/(user)/voting/(tabs)/status.tsx
- app/(application)/(user)/voting/create.tsx
Screens – Voting
- screens/Voting/ButtonStatusSection.tsx
API Client
- service/api-client/api-voting.ts
Global
- app/+not-found.tsx
- styles/global-styles.ts
Docs
- docs/prompt-for-qwen-code.md
Untracked (New Files)
- screens/Voting/ScreenStatus.tsx
### No issue
2026-02-04 17:44:57 +08:00
5b2be20469
Fix Loaddata pada event dan perbaikan tampilan pada NewWrapper
...
Event – User
- app/(application)/(user)/event/(tabs)/contribution.tsx
- app/(application)/(user)/event/(tabs)/index.tsx
- app/(application)/(user)/event/[id]/list-of-participants.tsx
Voting – User
- app/(application)/(user)/voting/(tabs)/history.tsx
Components
- components/Notification/NotificationInitializer.tsx
- components/_ShareComponent/NewWrapper.tsx
Screens – Event
- screens/Event/BoxPublishSection.tsx
- screens/Event/ButtonStatusSection.tsx
- screens/Event/ScreenHistory.tsx
- screens/Event/ScreenStatus.tsx
Screens – Forum
- screens/Forum/ViewBeranda3.tsx
API Client
- service/api-client/api-event.ts
Styles
- styles/global-styles.ts
Docs
- docs/prompt-for-qwen-code.md
Untracked (New Files)
- screens/Event/ScreenBeranda.tsx
- screens/Event/ScreenContribution.tsx
- screens/Event/ScreenListOfParticipants.tsx
#### No Issue
2026-02-04 16:56:48 +08:00
771ae45f26
Fix load data event
...
Event – User
- app/(application)/(user)/event/(tabs)/history.tsx
- app/(application)/(user)/event/(tabs)/status.tsx
- app/(application)/(user)/event/[id]/edit.tsx
- app/(application)/(user)/event/create.tsx
Event – Screens (Untracked)
- screens/Event/ScreenHistory.tsx
- screens/Event/ScreenStatus.tsx
API
- service/api-client/api-event.ts
Docs
- docs/prompt-for-qwen-code.md
### No Issue
2026-02-03 17:45:27 +08:00
41f4a8ac99
Fix load data notification
...
Notification – User
- app/(application)/(user)/notifications/index.tsx
- screens/Notification/ScreenNotification_V1.tsx
- screens/Notification/ScreenNotification_V2.tsx
Notification – Admin
- app/(application)/admin/notification/index.tsx
- screens/Admin/Notification-Admin/
Job
- screens/Job/MainViewStatus2.tsx
Docs
- docs/prompt-for-qwen-code.md
Deleted
- screens/Notification/ScreenNotification.tsx
### No Issue
2026-02-03 16:59:09 +08:00
48196cd46b
Fix Load data pada halaman yang membutuhkan infinite load
...
Job – User App
- app/(application)/(user)/job/(tabs)/index.tsx
- app/(application)/(user)/job/(tabs)/status.tsx
- app/(application)/(user)/job/(tabs)/archive.tsx
- app/(application)/(user)/job/create.tsx
Job – Screens
- screens/Job/ScreenBeranda.tsx
- screens/Job/ScreenBeranda2.tsx
- screens/Job/MainViewStatus.tsx
- screens/Job/MainViewStatus2.tsx
- screens/Job/ScreenArchive.tsx
- screens/Job/ScreenArchive2.tsx
API – Job (Client)
- service/api-client/api-job.ts
Notification
- screens/Notification/ScreenNotification.tsx
Docs
- QWEN.md
- docs/prompt-for-qwen-code.md
### No Issue
2026-02-02 17:09:58 +08:00
ec79a1fbcd
Fix semua tampilan yang memiliki fungsi infitine load
...
UI – User Notifications
- app/(application)/(user)/notifications/index.tsx
- service/api-notifications.ts
- screens/Notification/
UI – Portofolio (User)
- app/(application)/(user)/portofolio/[id]/create.tsx
- app/(application)/(user)/portofolio/[id]/edit.tsx
- app/(application)/(user)/portofolio/[id]/list.tsx
- screens/Portofolio/BoxPortofolioView.tsx
- screens/Portofolio/ViewListPortofolio.tsx
- screens/Profile/PortofolioSection.tsx
- service/api-client/api-portofolio.ts
Forum & User Search
- screens/Forum/DetailForum2.tsx
- screens/Forum/ViewBeranda3.tsx
- screens/UserSeach/MainView_V2.tsx
Constants & Docs
- constants/constans-value.ts
- docs/prompt-for-qwen-code.md
### No Issue
2026-01-30 17:18:47 +08:00
ed16f1b204
Fix forum detail
...
Forum (User)
- app/(application)/(user)/forum/[id]/index.tsx
- screens/Forum/ViewForumku2.tsx
- service/api-client/api-forum.ts
Forum – New / Refactor
- screens/Forum/DetailForum.tsx
- screens/Forum/DetailForum2.tsx
Documentation
- docs/
Removed
- hipmi-note.md
### No Issue'
2026-01-29 17:36:17 +08:00
b3bfbc0f7e
Fix Infinite Load Data
...
Forum & User Search – User
- app/(application)/(user)/forum/index.tsx
- app/(application)/(user)/user-search/index.tsx
Global & Core
- app/+not-found.tsx
- screens/RootLayout/AppRoot.tsx
- constants/constans-value.ts
Component
- components/Image/AvatarComp.tsx
API Client
- service/api-client/api-user.ts
Untracked Files
- QWEN.md
- helpers/
- hooks/use-pagination.tsx
- screens/Forum/ViewBeranda3.tsx
- screens/UserSeach/
### No Issue
2026-01-29 11:36:24 +08:00
71e45d06cc
Donation – User
...
- app/(application)/(user)/donation/(tabs)/index.tsx
- app/(application)/(user)/donation/(tabs)/my-donation.tsx
- app/(application)/(user)/donation/[id]/(transaction-flow)/index.tsx
Donation – Admin
- app/(application)/admin/donation/[id]/disbursement-of-funds.tsx
Image Preview
- app/(application)/(image)/preview-image/[id]/index.tsx
### No Issue
2026-01-27 17:42:14 +08:00
07e64c335e
Donation – App & Admin
...
- app/(application)/(user)/donation/(tabs)/status.tsx
- app/(application)/(user)/donation/create-story.tsx
- app/(application)/admin/donation/[id]/[status]/transaction-detail.tsx
- app/(application)/admin/donation/[id]/reject-input.tsx
- screens/Admin/Donation/funDonationUpdateStatus.ts
- service/api-admin/api-admin-donation.ts
Config
- app.config.js
- ios/HIPMIBadungConnect/Info.plist
### No Issue
2026-01-23 17:13:06 +08:00
5665dc88ba
Notification investasi done
...
### No Isssue
2026-01-22 17:54:33 +08:00
da82a02a45
Investment UI (Admin & User)
...
- app/(application)/(user)/investment/[id]/(transaction-flow)/invoice.tsx
- app/(application)/admin/investment/[id]/[status]/index.tsx
- app/(application)/admin/investment/[id]/[status]/transaction-detail.tsx
- app/(application)/admin/investment/[status]/status.tsx
API Service (Admin)
- service/api-admin/api-admin-investment.ts
### No issue
2026-01-21 15:39:08 +08:00
14c0f0e499
User – Investment
...
app/(application)/(user)/investment/(tabs)/_layout.tsx
app/(application)/(user)/investment/(tabs)/portofolio.tsx
app/(application)/(user)/investment/create.tsx
Admin – Investment
app/(application)/admin/investment/[id]/reject-input.tsx
Screens / UI
screens/Invesment/BoxBerandaSection.tsx
API
service/api-admin/api-admin-investment.ts
Utils
utils/pickFile.ts
### No Issue
2026-01-20 17:41:02 +08:00
0262423c50
Fix notification to report comment
...
Fix:
User – Forum (Reporting & Preview)
app/(application)/(user)/forum/[id]/other-report-commentar.tsx
app/(application)/(user)/forum/[id]/other-report-posting.tsx
app/(application)/(user)/forum/[id]/preview-report-posting.tsx
app/(application)/(user)/forum/[id]/report-commentar.tsx
app/(application)/(user)/forum/[id]/report-posting.tsx
Admin – Forum Moderation
app/(application)/admin/forum/[id]/list-report-comment.tsx
app/(application)/admin/forum/report-posting.tsx
Layout
app/(application)/(user)/_layout.tsx
API Client & Admin
service/api-admin/api-admin-forum.ts
service/api-client/api-forum.ts
service/api-client/api-master.ts
Utils
utils/badWordsIndonesia.ts
### No Issue
2026-01-19 17:46:54 +08:00