feat: tambah komponen pilih anggota berdasarkan divisi pada tambah diskusi umum

This commit is contained in:
2026-06-09 15:25:15 +08:00
parent 6c80eb77fb
commit 209254af23
2 changed files with 301 additions and 11 deletions

View File

@@ -1,5 +1,6 @@
import AppHeader from "@/components/AppHeader";
import ButtonSaveHeader from "@/components/buttonSaveHeader";
import ModalSelectMemberByDivision from "@/components/discussion_general/modalSelectMemberByDivision";
import DrawerBottom from "@/components/drawerBottom";
import ImageUser from "@/components/imageNew";
import { InputForm } from "@/components/inputForm";
@@ -50,10 +51,10 @@ export default function CreateDiscussionGeneral() {
const userLogin = useSelector((state: any) => state.entities)
const [chooseGroup, setChooseGroup] = useState({ val: "", label: "" });
const [valChoose, setValChoose] = useState("")
const [valSelect, setValSelect] = useState<"group" | "member">("group");
const dispatch = useDispatch()
const [disableBtn, setDisableBtn] = useState(true);
const [isSelect, setSelect] = useState(false);
const [isMemberModal, setMemberModal] = useState(false);
const entitiesMember = useSelector((state: any) => state.memberChoose)
const update = useSelector((state: any) => state.discussionGeneralDetailUpdate)
const [loading, setLoading] = useState(false)
@@ -90,16 +91,13 @@ export default function CreateDiscussionGeneral() {
function handleOpenMemberPicker() {
if (entityUser.role === "supadmin" || entityUser.role === "developer") {
if (chooseGroup.val !== "") {
setSelect(true);
setValSelect("member");
setMemberModal(true);
} else {
Toast.show({ type: 'small', text1: 'Pilih Lembaga Desa terlebih dahulu' })
}
} else {
validationForm('group', userLogin.idGroup, userLogin.group);
setValChoose(userLogin.idGroup)
setSelect(true);
setValSelect("member");
setMemberModal(true);
}
}
@@ -185,7 +183,7 @@ export default function CreateDiscussionGeneral() {
value={chooseGroup.label}
required
bg={colors.card}
onPress={() => { setValChoose(chooseGroup.val); setValSelect("group"); setSelect(true) }}
onPress={() => { setValChoose(chooseGroup.val); setSelect(true) }}
error={error.group}
errorText="Lembaga Desa tidak boleh kosong"
/>
@@ -305,14 +303,19 @@ export default function CreateDiscussionGeneral() {
</ScrollView>
<ModalSelect
category={valSelect}
category="group"
close={setSelect}
onSelect={(value) => validationForm(valSelect, value.val, value.label)}
title={valSelect === "group" ? "Lembaga Desa" : "Pilih Anggota"}
onSelect={(value) => validationForm("group", value.val, value.label)}
title="Lembaga Desa"
open={isSelect}
idParent={valSelect === "member" ? chooseGroup.val : ""}
idParent=""
valChoose={valChoose}
/>
<ModalSelectMemberByDivision
open={isMemberModal}
close={setMemberModal}
idGroup={chooseGroup.val || userLogin.idGroup}
/>
<DrawerBottom animation="slide" isVisible={isModalFile} setVisible={setModalFile} title="Menu">
<View style={Styles.rowItemsCenter}>