Commit Graph

569 Commits

Author SHA1 Message Date
f939ddb5f5 Merge pull request 'amalia/02-jun-26' (#53) from amalia/02-jun-26 into join
Reviewed-on: #53
2026-06-02 17:41:33 +08:00
e135c9dc11 chore: bump versionCode 18 → 19 2026-06-02 16:56:54 +08:00
144db584d0 fix: paksa hapus READ_MEDIA_IMAGES dan READ_MEDIA_VIDEO dari merged manifest
expo-media-library (dependency transitif) menyuntikkan kedua permission ini
saat build. tools:node="remove" memastikan permission dihapus dari hasil merge.
2026-06-02 16:55:00 +08:00
90551399a5 fix: hapus permission READ_MEDIA_IMAGES dan READ_MEDIA_VIDEO untuk comply Google Play policy
versionCode bump 17 → 18
2026-06-02 16:24:26 +08:00
0d46d76c70 Merge pull request 'amalia/21-mei-26' (#52) from amalia/21-mei-26 into join
Reviewed-on: #52
2026-05-21 17:25:17 +08:00
e3d2752a4c style: kurangi borderRadius card dari 12 ke 8 agar tampilan lebih tegas 2026-05-21 14:04:25 +08:00
4dcfcbb7a7 style: standardisasi borderRadius approval dan notification — cards 10→12, notifIconContainer 21→100 2026-05-21 13:56:35 +08:00
f27707eb74 style: standardisasi borderRadius announcement — cards 10→12, iconBox 10→8, divisionCircle 13→100 2026-05-21 13:56:14 +08:00
e4e8b44c45 style: standardisasi borderRadius component — cards 10→12, icon circles 20/22→100, chip 5→20, guideCard 16→12 2026-05-21 13:55:49 +08:00
79c9c9046c style: standardisasi borderRadius modal — bottom sheet 18→20, confirm 14→12, decorativeCircle 150→100 2026-05-21 13:54:48 +08:00
f6122fb35a style: standardisasi borderRadius input — inputRoundForm 5→12, verificationCell 15→12 2026-05-21 13:54:18 +08:00
2ae88ff2e3 style: standardisasi borderRadius button — btnFiturMenu 15→20, labelStatus 10→20 2026-05-21 13:53:58 +08:00
fbf25bdd59 style: standardisasi borderRadius card — semua card/container ke 12, sectionBadge ke 20 2026-05-21 13:53:41 +08:00
600218cb11 style: tambah token borderRadius (round04, round12, roundFull) dan update round05 5→8 2026-05-21 13:52:30 +08:00
18eea92cfd feat: bump version ke 2.2.0 dan set default border ImageUser
- Versi app naik dari 2.1.0 ke 2.2.0 (versionCode 16→17, buildNumber 9→10)
- ImageUser: border default true agar avatar selalu tampil dengan border
2026-05-21 13:47:36 +08:00
1c3aa308d1 Merge pull request 'amalia/20-mei-26' (#51) from amalia/20-mei-26 into join
Reviewed-on: #51
2026-05-20 17:21:40 +08:00
c21d928701 feat: redesign halaman detail acara kalender divisi dengan pola sectionCard 2026-05-20 17:08:21 +08:00
d8a50cbc75 feat: redesign halaman anggota diskusi dan info divisi dengan pola sectionCard
- redesign discussion/member/[id]: flat list airy, bubble avatar row, header jumlah anggota, button tambah ikuti pola create
- redesign division/[id]/info: sectionCard deskripsi, list anggota dengan role label, drawer menu konsisten
- fix division/[id]/add-member: border warna mengikuti tema
2026-05-20 17:01:08 +08:00
59459e2c22 Merge pull request 'amalia/19-mei-26' (#50) from amalia/19-mei-26 into join
Reviewed-on: #50
2026-05-19 17:18:34 +08:00
a61c194ece feat: redesign halaman tambah dan edit diskusi divisi dengan pola sectionCard dan fileGrid 2026-05-19 15:17:07 +08:00
2be59b5ac6 feat: redesign halaman tambah dan edit diskusi
- Ganti ButtonSelect dan BorderBottomItem dengan pola sectionCard + fileGrid
- Tambah getFileIcon/getFileColor helper dan ikon berwarna per tipe file
- Bagian anggota pada create menggunakan listItemCard dengan avatar ImageUser
- Terapkan deduplication file berdasarkan nama dengan toast notifikasi
- Bersihkan komentar lama dan sederhanakan logic validasi
2026-05-19 15:10:18 +08:00
d272b96e53 fix: ganti warna desc diskusi dan pindahkan inline styles ke styles.ts
- Ganti warna teks deskripsi dari dimmed ke text pada list diskusi umum dan divisi
- Tambah class discussionHeaderPadding, discussionListPadding, discussionTitleCol,
  discussionDescMargin, discussionEmptyText ke component.styles.ts
- Ganti semua inline style dengan themed object (warna dinamis) dan Styles.* (statis)
2026-05-19 14:47:37 +08:00
6d0203cc7d fix: hindari refetch saat mount pada halaman list pengumuman
Gunakan useRef untuk skip efek di render pertama sehingga refetch
hanya dipanggil saat state update berubah (setelah CRUD), bukan
setiap kali halaman dibuka.
2026-05-19 14:41:39 +08:00
165f423798 fix: cegah upload file duplikat pada form tambah dan edit pengumuman
Cek nama file sebelum menambahkan ke list, skip jika sudah ada.
Gunakan nama file (bukan URI) karena Android dapat menghasilkan URI berbeda
untuk file yang sama di setiap sesi picker.
2026-05-19 14:39:23 +08:00
0cb085caa8 feat: redesign halaman pengumuman dan pindahkan styles ke announcement.styles.ts
- Redesign list, detail, create, dan edit pengumuman menggunakan pola sectionCard
- Buat constants/styles/announcement.styles.ts untuk class announcementList* dan announcementDetail*
- Hapus local StyleSheet S dari index.tsx dan [id].tsx, ganti dengan Styles global
- Tambah getFileIcon/getFileColor helper dan fileGrid berwarna per tipe file
- Sesuaikan edit/[id].tsx dengan pola design create.tsx
2026-05-19 14:27:29 +08:00
2bacc47d75 fix: sesuaikan warna border dengan tema pada halaman pilih anggota dan admin divisi 2026-05-19 12:06:12 +08:00
fcd3dc7537 fix: samakan jarak dan style label filter di discussion, division, member, position 2026-05-19 11:55:58 +08:00
0cbf12eea7 Merge pull request 'amalia/18-mei-26' (#49) from amalia/18-mei-26 into join
Reviewed-on: #49
2026-05-18 17:28:18 +08:00
85aca330e5 feat: filter approval berdasarkan group dan perbaikan tampilan riwayat
- Simpan idGroup user ke Redux saat login agar perbandingan group bisa dilakukan
- Filter button persetujuan project: isApprover hanya tampil jika group sama
- Filter button persetujuan division/task: isApprover hanya tampil jika group sama
- Pass idGroup ke SectionTanggalTugasProject dan SectionTanggalTugasTask dari parent
- Samakan warna icon, label, dan nama pada riwayat persetujuan
- Ubah bg alasan penolakan dari merah ke netral, label tetap merah
- Ekstrak inline styles ModalRiwayatApproval ke approval.styles.ts
2026-05-18 14:52:30 +08:00
3f113a4049 fix: urutkan grup tanggal notifikasi dari terbaru ke terlama 2026-05-18 11:43:16 +08:00
f873921325 fix: ubah label tombol "Pilih dari File Proyek" menjadi "Pilih dari File Kegiatan ini" 2026-05-18 11:37:04 +08:00
90419b5d15 feat: tambah fitur tandai terbaca per notifikasi dan ekstrak styles
- Tambah fungsi handleMarkOneRead untuk tandai satu notifikasi terbaca tanpa navigasi
- Tambah tombol "Tandai dibaca" pada tiap notifikasi yang belum terbaca
- Buat notification.styles.ts dengan 8 class styles untuk notification screen
- Daftarkan NotificationStyles ke constants/styles/index.ts
2026-05-18 11:27:49 +08:00
ecb3d3953b fix: rapikan import dan sesuaikan ukuran icon di notification
- Gabungkan import useState yang duplikat
- Kecilkan ukuran icon check-square dari 22 ke 20
2026-05-18 11:18:59 +08:00
9ca128a5ed Merge pull request 'refactor: pecah lib/api.ts dan constants/Styles.ts per domain' (#48) from amalia/12-mei-26 into join
Reviewed-on: #48
2026-05-12 17:25:26 +08:00
d299484a98 refactor: pecah lib/api.ts dan constants/Styles.ts per domain
- lib/api.ts (879 baris) → 13 file di lib/api/ per domain
- constants/Styles.ts (1.275 baris) → 10 file di constants/styles/ per domain
- tambah docs/FILE-HEALTH.md dan referensinya ke CLAUDE.md
- kedua file lama tetap sebagai re-export — zero breaking changes
2026-05-12 10:34:31 +08:00
003d92e4e3 Merge pull request 'amalia/11-mei-26' (#47) from amalia/11-mei-26 into join
Reviewed-on: #47
2026-05-11 17:34:52 +08:00
18f548ed5c chore: update Podfile.lock 2026-05-11 17:18:47 +08:00
906a619593 revert: kembalikan penyimpanan token ke AsyncStorage 2026-05-11 17:15:52 +08:00
af2048b4cd fix: ganti penyimpanan token dari AsyncStorage ke SecureStore
Token autentikasi kini disimpan di Keychain (iOS) / Keystore (Android)
sehingga otomatis terhapus saat uninstall dan tidak bisa dipulihkan
lewat Google Backup. @notification_permission tetap di AsyncStorage
karena bukan data sensitif.
2026-05-11 17:11:05 +08:00
7341f378dd feat: tambah sistem guide onboarding per fitur dengan GuideOverlay
- Buat komponen GuideOverlay dengan animasi fade+slide, arrow tooltip, dan dot indicator
- Buat hook useGuide untuk menyimpan state guide per fitur via AsyncStorage
- Sentralisasi semua step guide di lib/guideSteps.ts
- Pasang guide pada 12 halaman: village-calendar, project detail, banner, group, position, member, announcement, discussion, division calendar/document/discussion, dan division task detail
- Posisi card menggunakan cardTopRatio (rasio layar) untuk kompatibilitas berbagai ukuran device
- Tambah styles guide dan village calendar di constants/Styles.ts
2026-05-11 16:34:46 +08:00
84935e8188 feat: tambah fitur kalender umum village dengan indikator per jenis event
- Tambah halaman /village-calendar dengan monthly grid dan agenda view
- Tampilkan acara divisi (DivisionCalendarReminder) dan kegiatan (ProjectTask) se-village
- Indikator dot dua warna pada kalender: ungu untuk acara divisi, biru-abu untuk kegiatan
- Tambah endpoint apiGetVillageCalendarByDate dan apiGetVillageCalendarIndicator
- Tambah menu Kalender di halaman /feature dengan grid layout flexWrap
- Sesuaikan warna EventItem dengan TYPE_COLORS village-calendar
- Pindahkan inline style ke Styles.ts sebagai class baru
2026-05-11 15:19:21 +08:00
74d8b8ef31 Merge pull request 'amalia/08-mei-26' (#46) from amalia/08-mei-26 into join
Reviewed-on: #46
2026-05-11 10:17:25 +08:00
d31a21cc9c upd: redesign 2026-05-08 16:52:26 +08:00
4af54980a0 feat: tambah fitur tandai semua notifikasi dibaca dengan modal konfirmasi 2026-05-08 14:56:44 +08:00
4eebf2f893 feat: redesign halaman notifikasi dengan icon berwarna, grouping tanggal, dan urutan unread-first 2026-05-08 14:18:53 +08:00
bc2c89e030 feat: redesign halaman pencarian dengan filter tabs, section badge, dan card style 2026-05-08 11:37:21 +08:00
d96c954559 fix: tombol simpan edit anggota selalu disabled karena idGroup kosong 2026-05-08 10:34:28 +08:00
ca512372dd Merge pull request 'amalia/07-mei-26' (#45) from amalia/07-mei-26 into join
Reviewed-on: #45
2026-05-07 17:38:33 +08:00
d82f0c5b20 feat: redesign halaman detail user dan profile dengan tampilan modern
- Pindahkan badge APPROVER & AKTIF ke dalam header gradient
- Ganti card berlatar menjadi list dengan border bottom saja
- Gunakan icon colors.icon agar terlihat pada tema gelap
- Tambahkan class baru di Styles.ts: memberAvatarRing, memberBadgeRow,
  memberBadgeApprover, memberBadgePill, memberInfoRow, memberInfoIcon,
  memberInfoContent, cWhiteDimmed, pv14, mb08
- Terapkan design yang sama pada halaman profile
2026-05-07 16:45:52 +08:00
fad89fc910 feat: persist view mode (grid/list) across division, project, dan division/task
- Simpan preferensi tampilan ke AsyncStorage dengan key 'division_view_mode'
- Load preferensi saat halaman dibuka agar tidak reset
- Samakan style list item division/task dengan project (bg transparent, icon hitam)
- Sejajarkan toggle dengan input pencarian pada halaman division/task
2026-05-07 16:16:21 +08:00