3.4 KiB
3.4 KiB
Task: TASK-003 - Footer Terangkat Saat Keyboard Close
📋 Deskripsi
Bug: Setelah input ke text input dan menutup keyboard, bagian bawah layar berwarna putih seakan footer terangkat.
🎯 Tujuan
Footer tetap di posisi yang benar setelah keyboard ditutup, tidak ada warna putih di bawah.
🔍 Analisis Masalah
Gejala
- ✅ Terjadi di emulator dan device
- ✅ Setelah input ke text input
- ✅ Saat keyboard menutup (close)
- ✅ Bagian bawah berwarna putih
- ✅ Footer seperti terangkat
Root Cause (Diduga)
-
KeyboardAvoidingView behavior
behavior={Platform.OS === "ios" ? "padding" : "height"}- Android menggunakan
heightyang bisa menyebabkan layout shift
-
Keyboard listener tidak clean up
- Event listener mungkin masih aktif setelah keyboard close
-
Layout tidak re-render setelah keyboard close
- Component tidak detect keyboard state change
📝 Sub-Tasks
Task 3.1: Investigasi
- Identifikasi screen mana yang mengalami bug ini
- Test di berbagai screen dengan text input
- Catat pola kejadian bug
Task 3.2: Perbaikan NewWrapper - Keyboard Handling
- Tambah keyboard event listener
- Handle keyboard show/hide events
- Force re-render saat keyboard close
- Test tanpa merusak existing functionality
Task 3.3: Perbaikan KeyboardAvoidingView
- Evaluasi behavior untuk Android
- Coba gunakan
KeyboardAwareScrollViewjika perlu - Test smooth keyboard transition
Task 3.4: Testing & Validasi
- Test di emulator Android
- Test di device Android
- Test di emulator iOS
- Test di device iOS
- Pastikan tidak ada regression
✅ Acceptance Criteria
- Footer tetap di posisi setelah keyboard close
- Tidak ada warna putih di bagian bawah
- Keyboard transition smooth (no lag)
- Input tetap berfungsi normal
- No regression di fitur lain
📚 Referensi
🔄 Status
Status: ❌ Reverted Created: 2026-04-01 Updated: 2026-04-01 Completed: -
📝 Notes
Implementation sudah dilakukan tetapi di-revert karena berefek pada tampilan lain. Perlu pendekatan yang berbeda untuk fix bug ini.
Root Cause (Identified)
- Footer menggunakan
position: absolute- Footer melayang di atas konten, tidak ikut layout flow KeyboardAvoidingViewbehavior - Layout shift saat keyboard show/hide- View wrapper dengan
flex: 0- ScrollView tidak expand dengan benar
Implementation Attempted
File: components/_ShareComponent/NewWrapper.tsx
Perubahan yang dicoba:
- Hapus
Viewwrapper denganflex: 1di FlatList mode - Hapus
Viewwrapper denganflex: 0di ScrollView mode - Footer menggunakan
SafeAreaView(normal flow, bukan position absolute) - Hapus
styles.footerContainerdenganposition: absolute
Why Reverted
❌ Berdampak pada tampilan lain (footer terangkat/berantakan) ❌ Perlu pendekatan yang lebih hati-hati ❌ Perlu test lebih menyeluruh di semua screen
Next Steps
- Analisis lebih detail - Cek screen mana saja yang affected
- Pendekatan bertahap - Fix per screen atau per type
- Test menyeluruh - Pastikan tidak ada regression
- Alternative solution - Mungkin perlu custom keyboard handling