Kami telah melakukan serangkaian perubahan pada file app/(application)/admin/event/[id]/[status]/index.tsx
untuk memperbaiki error dan meningkatkan fungsionalitas aplikasi. Berikut adalah perubahan-perubahan yang
telah dilakukan:
1. Perbaikan Fungsi Download QR Code
- Mengganti implementasi fungsi downloadQRCode yang sebelumnya menggunakan modul native
(react-native-view-shot dan @react-native-camera-roll/camera-roll) yang menyebabkan error
- Mengganti dengan implementasi sederhana yang menampilkan pesan bahwa fitur sedang dalam pengembangan
- Menambahkan pengecekan platform untuk memastikan fitur hanya berjalan di platform yang didukung (non-web)
2. Pembersihan Kode
- Menghapus penggunaan useRef karena tidak lagi diperlukan setelah mengganti implementasi
- Menghapus komponen View yang digunakan sebagai referensi karena tidak lagi diperlukan
- Menyederhanakan struktur komponen QR code
3. Perbaikan Tampilan
- Menyesuaikan tampilan tombol download agar tetap muncul meskipun QR code sedang dimuat
- Memastikan bahwa tombol download QR tetap terlihat dan fungsional
4. Penanganan Error
- Menambahkan penanganan error yang lebih baik untuk mencegah crash aplikasi
- Mengganti implementasi yang menyebabkan error Invariant Violation terkait modul native yang tidak terdaftar
Tujuan dari Perubahan Ini
1. Mengatasi Error Runtime: Mengatasi error Invariant Violation: TurboModuleRegistry.getEnforcing(...):
'RNViewShot' could not be found dan error terkait modul native lainnya
2. Meningkatkan Stabilitas Aplikasi: Memastikan bahwa aplikasi tidak mengalami crash akibat modul yang tidak
terdaftar
3. Menyederhanakan Fungsionalitas: Menyediakan implementasi sementara untuk fitur download QR code sampai
konfigurasi native module selesai
4. Meningkatkan Pengalaman Pengguna: Memastikan bahwa antarmuka tetap responsif dan memberikan umpan balik yang
jelas kepada pengguna
File yang Terpengaruh
- app/(application)/admin/event/[id]/[status]/index.tsx
### No Issue
107 lines
5.3 KiB
Markdown
107 lines
5.3 KiB
Markdown
<!-- ===================== Start Penerapan Pagination Dari Source ===================== -->
|
|
|
|
File source: app/(application)/(user)/donation/[id]/fund-disbursement.tsx
|
|
Folder tujuan: screens/Donation
|
|
Nama file utama: ScreenFundDisbursement.tsx
|
|
|
|
Buat file baru pada "Folder tujuan" dengan nama "Nama file utama" dan ubah nama function menjadi "Donation_ScreenFundDisbursement" kemudian clean code, import dan panggil function tersebut pada file "File source"
|
|
Selanjutnya terapkan pagination pada file "Nama file utama"
|
|
|
|
Function fecth: apiDonationDisbursementOfFundsListById
|
|
File function fetch: service/api-client/api-donation.ts
|
|
File komponen wrapper: components/_ShareComponent/NewWrapper.tsx
|
|
|
|
Terapkan pagination pada file "Nama file utama"
|
|
Analisa juga file "Nama file utama" , jika belum menggunakan NewWrapper pada file "File komponen wrapper" , maka terapkan juga dan ganti wrapper lama yaitu komponen ViewWrapper
|
|
|
|
Komponen pagination yang digunaka berada pada file hooks/use-pagination.tsx dan helpers/paginationHelpers.tsx
|
|
|
|
Perbaiki fetch "Function fecth" , pada file "File function fetch"
|
|
Jika tidak ada props page maka tambahkan props page dan default page: "1"
|
|
|
|
Gunakan bahasa indonesia pada cli agar saya mudah membacanya.
|
|
|
|
<!-- Additional Prompt -->
|
|
File refrensi: screens/Admin/Event/ScreenEventStatus.tsx
|
|
Anda bisa menggunakan refrensi dari "File refrensi" jika butuh pemahaman dengan tipe fitur yang hampir sama
|
|
|
|
<!-- ===================== End Penerapan Pagination ` ===================== -->
|
|
|
|
<!-- ===================== Start Penerapan NewWrapper & Pagination ===================== -->
|
|
File utama: screens/Donation/ScreenFundDisbursement.tsx
|
|
Function fecth: apiDonationDisbursementOfFundsListById
|
|
File function fetch: service/api-client/api-donation.ts
|
|
File komponen wrapper: components/_ShareComponent/NewWrapper.tsx
|
|
|
|
Terapkan pagination pada file "File utama"
|
|
Analisa juga file "File utama" , jika belum menggunakan NewWrapper pada file "File komponen wrapper" , maka terapkan juga dan ganti wrapper lama yaitu komponen ViewWrapper
|
|
|
|
Komponen pagination yang digunaka berada pada file hooks/use-pagination.tsx dan helpers/paginationHelpers.tsx
|
|
|
|
Perbaiki fetch "Function fecth" , pada file "File function fetch"
|
|
Jika tidak ada props page maka tambahkan props page dan default page: "1"
|
|
|
|
Gunakan bahasa indonesia pada cli agar saya mudah membacanya.
|
|
|
|
|
|
<!-- Additinal prompt -->
|
|
|
|
<!-- ===================== End Penerapan NewWrapper & Pagination ===================== -->
|
|
|
|
<!-- Start Penerapan NewWrapper -->
|
|
Terapkan NewWrapper pada file: app/(application)/(user)/donation/create.tsx
|
|
Component yang digunakan: components/_ShareComponent/NewWrapper.tsx
|
|
<!-- End Penerapan NewWrapper -->
|
|
|
|
<!-- Start Random Prompt -->
|
|
|
|
|
|
Gunakan bahasa indonesia pada cli agar saya mudah membacanya.eclar
|
|
<!-- End Random Prompt -->
|
|
|
|
<!-- START Prompt Admin Refactoring -->
|
|
<!-- Pindah kode ke Screen Component -->
|
|
File source: app/(application)/admin/event/[id]/list-of-participants.tsx
|
|
Folder tujuan: screens/Admin/Event
|
|
Nama file utama: ScreenEventListOfParticipants.tsx
|
|
Nama function utama: Admin_ScreenEventListOfParticipants
|
|
File komponen wrapper: components/_ShareComponent/NewWrapper.tsx
|
|
|
|
Buat file baru pada "Folder tujuan" dengan nama "Nama file utama" dan ubah nama function menjadi "Nama function utama" kemudian clean code, import dan panggil function tersebut pada file "File source"
|
|
Analisa juga file "Nama file utama" , jika belum menggunakan NewWrapper pada file "File komponen wrapper" , maka terapkan juga dan ganti wrapper lama yaitu komponen ViewWrapper
|
|
|
|
|
|
<!-- Penerapan Pagination -->
|
|
Function fecth: apiAdminEventListOfParticipants
|
|
File function fetch: service/api-admin/api-admin-event.ts
|
|
|
|
Terapkan pagination pada file "Nama file utama"
|
|
Komponen pagination yang digunaka berada pada file hooks/use-pagination.tsx dan helpers/paginationHelpers.tsx
|
|
Perbaiki fetch "Function fecth" , pada file "File function fetch"
|
|
Jika tidak ada props page maka tambahkan props page dan default page: "1" ( string )
|
|
Kemudian rapikan code nya pisah komponen seperti render item dan lainnya agar lebih rapi dan di dalam return panggil komponen tersebut
|
|
|
|
Gunakan bahasa indonesia pada cli agar saya mudah membacanya.
|
|
<!-- END Prompt Admin Refactoring -->
|
|
|
|
<!-- Use Prompt Now -->
|
|
Terapkan NewWrapper pada file: screens/Admin/App-Information/InformationBankSection.tsx
|
|
Component yang digunakan: components/_ShareComponent/NewWrapper.tsx
|
|
|
|
Function fecth: apiAdminMasterBank
|
|
File function fetch: service/api-admin/api-master-admin.ts
|
|
|
|
Terapkan pagination pada file "Nama file utama"
|
|
Komponen pagination yang digunaka berada pada file hooks/use-pagination.tsx dan helpers/paginationHelpers.tsx
|
|
Perbaiki fetch "Function fecth" , pada file "File function fetch"
|
|
Jika tidak ada props page maka tambahkan props page dan default page: "1" ( string )
|
|
<!-- Baru -->
|
|
File Utama: screens/Admin/App-Information/InformationBankSection.tsx
|
|
Terapkan FlatList dan pagination pada file "File Utama"
|
|
Komponen pagination yang digunaka berada pada file hooks/use-pagination.tsx dan helpers/paginationHelpers.tsx
|
|
Function fecth: apiAdminMasterBank
|
|
File function fetch: service/api-admin/api-master-admin.ts
|
|
Jika tidak ada props page maka tambahkan props page dan default page: "1" ( string )
|
|
Jika butuh refrensi FlatList bisa lihat pada file components/_ShareComponent/NewWrapper.tsx
|
|
<!-- END Use Prompt Now -->
|