Commit Graph

563 Commits

Author SHA1 Message Date
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
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
e48456ea7f feat: tambah fitur approval task pada project dan divisi
- tambah komponen ModalRiwayatApproval dan ModalTolakApproval
- update itemSectionTanggalTugas untuk mendukung status menunggu persetujuan
- update sectionTanggalTugas (project) dan sectionTanggalTugasTask (divisi) dengan alur approval lengkap
- tambah API approval project task dan division task di lib/api.ts
- tambah toggle approver di headerMemberDetail dan tampilkan badge approver di detail member
- update carouselHome untuk dispatch isApprover ke Redux
- update drawerBottom untuk mendukung scroll pada modal
- ganti label 'Belum dimulai' menjadi 'Belum ada tugas yang diselesaikan'
2026-05-07 16:04:02 +08:00
d2e1663f9f Merge pull request 'amalia/06-mei-26' (#44) from amalia/06-mei-26 into join
Reviewed-on: #44
2026-05-06 17:15:40 +08:00
bdfb3a8b2b feat: redesign halaman create project dan task divisi dengan section card
- Ganti ButtonSelect dengan section card (Tanggal & Tugas, File, Anggota)
- Tiap card: header pressable dengan icon, badge count, chevron, dan preview isi
- Background item list (file & anggota) dibuat transparan (hanya border)
- Badge file seragam dengan badge tugas dan orang
- Tambah prop showTitle pada SectionListAddTask
- Ekstrak inline style ke Styles.ts: sectionActionRow, sectionBadge, positionBadge, listItemCard

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-06 17:10:08 +08:00
11bb1ddc98 feat: terapkan design baru pada halaman create project dan create task divisi
- Ganti file list (BorderBottomItem) dengan fileGrid/fileCard bergaya baru
  dengan icon berwarna sesuai tipe file
- Ganti member section dengan card individual per anggota (avatar + nama + badge jabatan)
- Header anggota: label kiri + jumlah orang di kanan
- Simpan field position saat memilih anggota di modalSelect
- Hapus wrapper wrapPaper di SectionListAddTask

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-06 16:50:54 +08:00
97726609e1 feat: redesign section member dan fix warna dimmed
- SectionMember & SectionMemberTask: ganti BorderBottomItem dengan card item
  custom (avatar + nama + badge jabatan), skeleton baru, label jumlah anggota
- Colors.ts: hapus suffix alpha '#707887ff' → '#707887' pada warna dimmed

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-06 16:23:35 +08:00
b61cd51628 feat: redesign section progress, report, link, file, dan cancel pada project & division/task
- SectionProgress: progress bar animated, badge persentase, label status, task count
- SectionReport: header ikon, left accent border, TextExpandable dengan label Indonesia
- SectionLink: tap langsung buka URL, ikon per domain, long press untuk hapus
- SectionFile: icon container konsisten 30×30 di semua section
- SectionCancel: card subtle dengan warna error, konsisten dengan visual language baru
- TextExpandable: fix bug show/hide tidak muncul setelah content diupdate
- Tambah 14 style class baru di Styles.ts untuk menggantikan inline style
- Terapkan semua perubahan ke fitur division/task
- Fix menu "Edit Tugas" di sectionTanggalTugasTask yang terpotong karena overflow

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-06 16:22:52 +08:00