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
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
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
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
6e2046467f
Penerapan notifikasi di event
...
Add:
components/Button/BackButtonFromNotification.tsx
types/type-collect-other.ts
Fix:
- android/app/build.gradle
- app/(application)/(user)/_layout.tsx
- app/(application)/(user)/event/(tabs)/_layout.tsx
- app/(application)/(user)/event/(tabs)/status.tsx
- app/(application)/(user)/event/create.tsx
- app/(application)/(user)/job/(tabs)/_layout.tsx
- app/(application)/(user)/notifications/index.tsx
- app/(application)/admin/event/[id]/[status]/index.tsx
- app/(application)/admin/event/[id]/reject-input.tsx
- app/(application)/admin/notification/index.tsx
- components/Notification/NotificationInitializer.tsx
- hipmi-note.md
- hooks/use-notification-store.tsx
- screens/Admin/Event/funUpdateStatus.ts
- service/api-notifications.ts
- utils/formatChatTime.ts
### No Issue
2026-01-13 17:41:30 +08:00
33cd47aaed
Fix mobile notification:
...
> - Bug penerima pesan 2 kali
Fix:
modified: hooks/use-foreground-notifications.ts
### No Issue
2026-01-09 14:46:21 +08:00
7743a2467c
Fitur notifikasi dan foreground
...
Add:
- types/type-notification-category.ts
Fix:
- app/(application)/(user)/notifications/index.tsx
- app/(application)/(user)/test-notifications.tsx
- app/(application)/admin/notification/index.tsx
- components/Notification/NotificationInitializer.tsx
- hooks/use-notification-store.tsx
- service/api-notifications.ts
- utils/formatChatTime.ts
### No Issue
2025-12-24 15:29:58 +08:00
54611ef812
Fix notifikasi system
...
Add:
- screens/Admin/AdminNotificationBell.tsx
Fix:
- app.config.js
- app/(application)/(user)/home.tsx
- app/(application)/(user)/test-notifications.tsx
- app/(application)/admin/_layout.tsx
- app/_layout.tsx
- components/Notification/NotificationInitializer.tsx
- context/AuthContext.tsx
- hooks/use-notification-store.tsx
- ios/HIPMIBadungConnect/Info.plist
- screens/Home/HeaderBell.tsx
- service/api-device-token.ts
- service/api-notifications.ts
### No Issue
2025-12-23 17:45:30 +08:00
1503707eed
Notifikasi terhubung ke DB
...
Add:
- components/Notification/
- hooks/use-notification-store.tsx.back
Fix:
- app.config.js
- app/(application)/(user)/_layout.tsx
- app/(application)/(user)/home.tsx
- app/(application)/(user)/test-notifications.tsx
- app/(application)/_layout.tsx
- app/_layout.tsx
- components/_Icon/IconComponent.tsx
- components/_Icon/IconPlus.tsx
- components/_ShareComponent/NotificationInitializer.tsx
- context/AuthContext.tsx
- hooks/use-notification-store.tsx
- ios/HIPMIBadungConnect/Info.plist
- screens/Home/HeaderBell.tsx
- service/api-device-token.ts
- service/api-notifications.ts
### No Issue
2025-12-19 17:54:49 +08:00
a01a9bd93f
Filter console dan clean code
...
Add:
- service/api-device-token.ts
Fix:
- app/(application)/(user)/home.tsx
- app/(application)/(user)/test-notifications.tsx
- app/_layout.tsx
- components/_ShareComponent/NotificationInitializer.tsx
- context/AuthContext.tsx
- hooks/use-foreground-notifications.ts
- screens/Home/HeaderBell.tsx
- service/api-notifications.ts
### No Issue
2025-12-17 17:46:28 +08:00
34680a4c38
test
2025-12-13 17:31:48 +08:00
8a900e9469
Halaman unblock user
...
Add:
- app/(application)/(user)/profile/[id]/blocked-list.tsx
app/(application)/(user)/profile/[id]/detail-blocked.tsx
components/_ShareComponent/ListEmptyComponent.tsx
components/_ShareComponent/ListLoaderFooterComponent.tsx
components/_ShareComponent/ListSkeletonComponent.tsx
hooks/use-paginated-api.ts
service/api-client/api-blocked.ts
Fix:
modified: app/(application)/(user)/profile/_layout.tsx
modified: components/_ShareComponent/NewWrapper.tsx
modified: components/index.ts
modified: screens/Profile/ListPage.tsx
modified: styles/global-styles.ts
### No Issue
2025-11-28 13:55:48 +08:00
21c6460220
API
...
Add:
- hooks/
- ios.build.device : untuk mendownload di ios
Fix:
- service/api.t : mengatur api
- context/AuthContext.tsx: Provider untuk access token
### No Issue
2025-08-21 15:22:14 +08:00