upd: button save

Deskripsi:
- disable button saat udh submit

No Issues
This commit is contained in:
2025-08-04 13:56:33 +08:00
parent b7c44109a1
commit fafb52d87c
31 changed files with 211 additions and 64 deletions

View File

@@ -31,6 +31,7 @@ export default function AddMemberProject() {
const [idGroup, setIdGroup] = useState('')
const [selectMember, setSelectMember] = useState<any[]>([])
const [search, setSearch] = useState('')
const [loading, setLoading] = useState(false)
async function handleLoad() {
try {
@@ -43,6 +44,7 @@ export default function AddMemberProject() {
setData(responsemember.data.filter((i: any) => i.idUserRole != 'supadmin'))
} catch (error) {
console.error(error)
Toast.show({ type: 'small', text1: 'Terjadi kesalahan', })
}
}
@@ -73,6 +75,7 @@ export default function AddMemberProject() {
async function handleAddMember() {
try {
setLoading(true)
const hasil = await decryptToken(String(token?.current))
const response = await apiAddMemberProject({ id: id, data: { user: hasil, member: selectMember } })
if (response.success) {
@@ -82,6 +85,9 @@ export default function AddMemberProject() {
}
} catch (error) {
console.error(error)
Toast.show({ type: 'small', text1: 'Terjadi kesalahan', })
} finally {
setLoading(false)
}
}
@@ -96,7 +102,7 @@ export default function AddMemberProject() {
headerRight: () => (
<ButtonSaveHeader
category="update"
disable={selectMember.length > 0 ? false : true}
disable={selectMember.length == 0 || loading ? true : false}
onPress={() => {
handleAddMember()
}}

View File

@@ -38,6 +38,7 @@ export default function ProjectAddTask() {
title: false,
})
const [title, setTitle] = useState('');
const [loading, setLoading] = useState(false)
const from = range.startDate
? dayjs(range.startDate).format("DD-MM-YYYY")
@@ -69,15 +70,21 @@ export default function ProjectAddTask() {
async function handleCreate() {
try {
setLoading(true)
const hasil = await decryptToken(String(token?.current));
const response = await apiCreateProjectTask({ data: { name: title, dateStart: dayjs(range.startDate).format("YYYY-MM-DD"), dateEnd: dayjs(range.endDate).format("YYYY-MM-DD"), user: hasil }, id });
if (response.success) {
dispatch(setUpdateProject({ ...update, task: !update.task, progress: !update.progress }))
Toast.show({ type: 'small', text1: 'Berhasil menambah data', })
router.back();
}else{
Toast.show({ type: 'small', text1: response.message, })
}
} catch (error) {
console.error(error);
Toast.show({ type: 'small', text1: 'Terjadi kesalahan', })
} finally {
setLoading(false)
}
}
@@ -96,7 +103,7 @@ export default function ProjectAddTask() {
headerTitleAlign: "center",
headerRight: () => (
<ButtonSaveHeader
disable={disable}
disable={disable || loading}
category="create"
onPress={() => { handleCreate() }}
/>

View File

@@ -19,6 +19,7 @@ export default function ProjectCancel() {
const [reason, setReason] = useState("");
const [error, setError] = useState(false);
const [disable, setDisable] = useState(false);
const [loading, setLoading] = useState(false)
function onValidation(val: string) {
@@ -44,6 +45,7 @@ export default function ProjectCancel() {
async function handleCancel() {
try {
setLoading(true)
const hasil = await decryptToken(String(token?.current));
const response = await apiCancelProject({
reason: reason,
@@ -56,6 +58,9 @@ export default function ProjectCancel() {
}
} catch (error) {
console.error(error);
Toast.show({ type: 'small', text1: 'Terjadi kesalahan', })
} finally {
setLoading(false)
}
}
@@ -74,7 +79,7 @@ export default function ProjectCancel() {
headerTitleAlign: "center",
headerRight: () => (
<ButtonSaveHeader
disable={disable}
disable={disable || loading}
category="cancel"
onPress={() => {
handleCancel();

View File

@@ -19,6 +19,7 @@ export default function EditProject() {
const [judul, setJudul] = useState("");
const [error, setError] = useState(false);
const [disable, setDisable] = useState(false);
const [loading, setLoading] = useState(false)
async function handleLoad() {
try {
@@ -59,6 +60,7 @@ export default function EditProject() {
async function handleUpdate() {
try {
setLoading(true)
const hasil = await decryptToken(String(token?.current));
const response = await apiEditProject({
name: judul,
@@ -68,9 +70,14 @@ export default function EditProject() {
dispatch(setUpdateProject({ ...update, data: !update.data }))
Toast.show({ type: 'small', text1: 'Berhasil mengubah data', })
router.back();
} else {
Toast.show({ type: 'small', text1: response.message, })
}
} catch (error) {
console.error(error);
Toast.show({ type: 'small', text1: 'Terjadi kesalahan', })
} finally {
setLoading(false)
}
}
@@ -91,7 +98,7 @@ export default function EditProject() {
headerTitleAlign: "center",
headerRight: () => (
<ButtonSaveHeader
disable={disable}
disable={disable || loading}
category="update"
onPress={() => { handleUpdate() }}
/>