upd: diskusi umum

Deskripsi:
- detail anggota diskusi umum
- edit diskusi umum
- mengeluarkan anggota
- mengubah status diskusi umum
- mengarsipkan diskusi umum
- on proses tambah diskusi umum

No Issues
This commit is contained in:
amel
2025-05-06 17:39:09 +08:00
parent 1644bec261
commit 957812fb49
17 changed files with 590 additions and 157 deletions

View File

@@ -25,7 +25,7 @@ import { useDispatch, useSelector } from "react-redux";
export default function CreateMember() {
const dispatch = useDispatch()
const update = useSelector((state: any) => state.positionUpdate)
const update = useSelector((state: any) => state.memberUpdate)
const { token, decryptToken } = useAuthSession()
const [valSelect, setValSelect] = useState<"group" | "position" | "role" | "gender">("group");
const [chooseGroup, setChooseGroup] = useState({ val: "", label: "" });
@@ -36,6 +36,7 @@ export default function CreateMember() {
const entityUser = useSelector((state: any) => state.user);
const [isSelect, setSelect] = useState(false);
const [disableBtn, setDisableBtn] = useState(true)
const [valChoose, setValChoose] = useState("")
const [error, setError] = useState({
group: false,
position: false,
@@ -224,6 +225,7 @@ export default function CreateMember() {
value={chooseGroup.label}
required
onPress={() => {
setValChoose(chooseGroup.val);
setValSelect("group");
setSelect(true);
}}
@@ -237,6 +239,7 @@ export default function CreateMember() {
value={choosePosition.label}
required
onPress={() => {
setValChoose(choosePosition.val);
setValSelect("position");
setSelect(true);
}}
@@ -249,6 +252,7 @@ export default function CreateMember() {
value={chooseRole.label}
required
onPress={() => {
setValChoose(chooseRole.val);
setValSelect("role");
setSelect(true);
}}
@@ -306,6 +310,7 @@ export default function CreateMember() {
value={chooseGender.label}
required
onPress={() => {
setValChoose(chooseGender.val);
setValSelect("gender");
setSelect(true);
}}
@@ -332,6 +337,7 @@ export default function CreateMember() {
}
open={isSelect}
idParent={valSelect == "position" ? chooseGroup.val : ""}
valChoose={valChoose}
/>
</SafeAreaView>
);

View File

@@ -5,6 +5,7 @@ import ModalSelect from "@/components/modalSelect";
import SelectForm from "@/components/selectForm";
import Styles from "@/constants/Styles";
import { apiEditUser, apiGetProfile } from "@/lib/api";
import { setUpdateMember } from "@/lib/memberSlice";
import { useAuthSession } from "@/providers/AuthProvider";
import * as ImagePicker from "expo-image-picker";
import { router, Stack, useLocalSearchParams } from "expo-router";
@@ -18,6 +19,7 @@ import {
ToastAndroid,
View,
} from "react-native";
import { useDispatch, useSelector } from "react-redux";
type Props = {
id: string;
@@ -34,6 +36,8 @@ type Props = {
};
export default function EditMember() {
const dispatch = useDispatch()
const update = useSelector((state: any) => state.memberUpdate)
const { token, decryptToken } = useAuthSession()
const { id } = useLocalSearchParams<{ id: string }>();
const [errorImg, setErrorImg] = useState(false)
@@ -154,7 +158,7 @@ export default function EditMember() {
}
function checkForm() {
if (Object.values(error).some((v) => v == true) == true || Object.values(data).some((v) => v == "") == true) {
if (Object.values(error).some((v) => v == true) || Object.values(data).some((v) => v == "")) {
setDisableBtn(true)
} else {
setDisableBtn(false)
@@ -175,6 +179,7 @@ export default function EditMember() {
const response = await apiEditUser(fd, id)
if (response.success) {
ToastAndroid.show('Berhasil mengupdate data', ToastAndroid.SHORT)
dispatch(setUpdateMember(!update))
router.replace(`/member/${id}`);
} else {
ToastAndroid.show(response.message, ToastAndroid.SHORT)