feat: add StatusBadge component and integrate action confirmation modal

- Introduced StatusBadge component for displaying various status indicators with customizable colors and icons.
- Updated ModulePageHeader to conditionally render badges based on props.
- Implemented ActionConfirmationModal for handling lifecycle actions (delete, activate, etc.) with support for forms and custom body rendering.
- Enhanced EnterpriseDetailPageProvider to manage action confirmation modal state and execution of actions.
- Added new modal configurations for various actions in EnterpriseDetailPageConfig.
- Updated theme provider to include ModalsProvider and Notifications for better user feedback.
This commit is contained in:
Firman Ramdhani
2026-07-15 17:27:29 +07:00
parent 7ce4ced7d6
commit 43f9d3d491
21 changed files with 966 additions and 93 deletions
+30 -4
View File
@@ -58,10 +58,34 @@
"reload": "Reload"
},
"confirmDialog": {
"title": "Are you sure?",
"deleteMessage": "This action cannot be undone.",
"confirmButton": "Confirm",
"cancelButton": "Cancel"
"delete": {
"title": "Delete Item",
"description": "Are you sure you want to delete this item? This action cannot be undone."
},
"activate": {
"title": "Activate Item",
"description": "Are you sure you want to activate this item?"
},
"deactivate": {
"title": "Deactivate Item",
"description": "Are you sure you want to deactivate this item?"
},
"confirm": {
"title": "Confirm Data",
"description": "Are you sure you want to confirm this data?"
},
"cancel": {
"title": "Cancel Data",
"description": "Are you sure you want to cancel this data?"
},
"rollback": {
"title": "Rollback Data",
"description": "Are you sure you want to rollback this data?"
},
"hold": {
"title": "Hold Data",
"description": "Are you sure you want to hold this data?"
}
},
"draft": {
"recoveryTitle": "Draft Found",
@@ -70,6 +94,8 @@
"discardDraft": "Start Fresh"
},
"notifications": {
"successTitle": "Success",
"errorTitle": "Error",
"saveSuccess": "Data saved successfully",
"deleteSuccess": "Data deleted successfully",
"actionSuccess": "{{action}} completed successfully",
+32 -6
View File
@@ -47,8 +47,8 @@
"delete": "Hapus",
"save": "Simpan",
"print": "Cetak",
"confirm": "Konfirmasi",
"cancel": "Batal",
"confirm": "Confirm",
"cancel": "Cancel",
"activate": "Aktifkan",
"deactivate": "Nonaktifkan",
"duplicate": "Duplikat",
@@ -58,10 +58,34 @@
"reload": "Muat Ulang"
},
"confirmDialog": {
"title": "Apakah Anda yakin?",
"deleteMessage": "Tindakan ini tidak dapat dibatalkan.",
"confirmButton": "Konfirmasi",
"cancelButton": "Batal"
"delete": {
"title": "Hapus Data",
"description": "Apakah Anda yakin ingin menghapus data ini? Tindakan ini tidak dapat dibatalkan."
},
"activate": {
"title": "Aktifkan Data",
"description": "Apakah Anda yakin ingin mengaktifkan data ini?"
},
"deactivate": {
"title": "Nonaktifkan Data",
"description": "Apakah Anda yakin ingin menonaktifkan data ini?"
},
"confirm": {
"title": "Confirm Data",
"description": "Apakah Anda yakin ingin mengkonfirmasi data ini?"
},
"cancel": {
"title": "Cancel Data",
"description": "Apakah Anda yakin ingin membatalkan tindakan ini?"
},
"rollback": {
"title": "Rollback Data",
"description": "Apakah Anda yakin ingin mengembalikan data ini?"
},
"hold": {
"title": "Hold Data",
"description": "Apakah Anda yakin ingin menahan data ini?"
}
},
"draft": {
"recoveryTitle": "Draf Ditemukan",
@@ -70,6 +94,8 @@
"discardDraft": "Mulai Baru"
},
"notifications": {
"successTitle": "Berhasil",
"errorTitle": "Galat",
"saveSuccess": "Data berhasil disimpan",
"deleteSuccess": "Data berhasil dihapus",
"actionSuccess": "{{action}} berhasil diselesaikan",