upd: modal konfirmasi

Deskripsi:
- menerapkan semua modal baru pada semua fitur

No Issues''
This commit is contained in:
2026-02-14 14:01:41 +08:00
parent 10212aa5de
commit 039b26f5aa
31 changed files with 718 additions and 245 deletions

View File

@@ -9,7 +9,7 @@ import { useState } from "react"
import { View } from "react-native"
import Toast from "react-native-toast-message"
import { useDispatch, useSelector } from "react-redux"
import AlertKonfirmasi from "../alertKonfirmasi"
import ModalConfirmation from "../ModalConfirmation"
import ButtonMenuHeader from "../buttonMenuHeader"
import DrawerBottom from "../drawerBottom"
import MenuItemRow from "../menuItemRow"
@@ -25,6 +25,8 @@ export default function HeaderRightDiscussionGeneralDetail({ id, active, status
const { colors } = useTheme();
const [isVisible, setVisible] = useState(false)
const entityUser = useSelector((state: any) => state.user)
const [showModal, setShowModal] = useState(false)
const [modalConfig, setModalConfig] = useState({ title: '', message: '', onConfirm: () => { } })
const dispatch = useDispatch()
const update = useSelector((state: any) => state.discussionGeneralDetailUpdate)
@@ -88,13 +90,14 @@ export default function HeaderRightDiscussionGeneralDetail({ id, active, status
title={status == 1 ? 'Tutup Diskusi' : 'Buka Diskusi'}
onPress={() => {
setVisible(false)
AlertKonfirmasi({
title: 'Konfirmasi',
desc: status == 1 ? 'Apakah anda yakin ingin menutup diskusi?' : 'Apakah anda yakin ingin membuka diskusi?',
onPress: () => {
handleUpdateStatus()
}
})
setTimeout(() => {
setModalConfig({
title: 'Konfirmasi',
message: status == 1 ? 'Apakah anda yakin ingin menutup diskusi?' : 'Apakah anda yakin ingin membuka diskusi?',
onConfirm: () => handleUpdateStatus()
})
setShowModal(true)
}, 600)
}}
/>
</>
@@ -105,11 +108,14 @@ export default function HeaderRightDiscussionGeneralDetail({ id, active, status
title="Aktifkan Diskusi"
onPress={() => {
setVisible(false)
AlertKonfirmasi({
title: 'Konfirmasi',
desc: 'Apakah anda yakin ingin mengaktifkan diskusi ini?',
onPress: () => { handleDelete() }
})
setTimeout(() => {
setModalConfig({
title: 'Konfirmasi',
message: 'Apakah anda yakin ingin mengaktifkan diskusi ini?',
onConfirm: () => handleDelete()
})
setShowModal(true)
}, 600)
}}
/>
@@ -125,16 +131,32 @@ export default function HeaderRightDiscussionGeneralDetail({ id, active, status
title="Arsipkan"
onPress={() => {
setVisible(false)
AlertKonfirmasi({
title: 'Konfirmasi',
desc: 'Apakah anda yakin ingin mengarsipkan diskusi?',
onPress: () => { handleDelete() }
})
setTimeout(() => {
setModalConfig({
title: 'Konfirmasi',
message: 'Apakah anda yakin ingin mengarsipkan diskusi?',
onConfirm: () => handleDelete()
})
setShowModal(true)
}, 600)
}}
/>
</View>
}
</DrawerBottom>
<ModalConfirmation
visible={showModal}
title={modalConfig.title}
message={modalConfig.message}
onConfirm={() => {
setShowModal(false)
modalConfig.onConfirm()
}}
onCancel={() => setShowModal(false)}
confirmText="Ya"
cancelText="Batal"
/>
</>
)
}