diff --git a/app/(application)/division/[id]/(fitur-division)/task/[detail]/add-member.tsx b/app/(application)/division/[id]/(fitur-division)/task/[detail]/add-member.tsx
index d212b12..8739115 100644
--- a/app/(application)/division/[id]/(fitur-division)/task/[detail]/add-member.tsx
+++ b/app/(application)/division/[id]/(fitur-division)/task/[detail]/add-member.tsx
@@ -74,6 +74,22 @@ export default function AddMemberTask() {
}
}
+ const availableData = data.filter((item: any) => !dataOld.some((i: any) => i.idUser == item.idUser))
+ const isAllSelected = availableData.length > 0 && availableData.every((item: any) =>
+ selectMember.some((s: any) => s.idUser == item.idUser)
+ )
+
+ function handleSelectAll() {
+ if (isAllSelected) {
+ setSelectMember([])
+ } else {
+ const newMembers = availableData
+ .filter((item: any) => !selectMember.some((s: any) => s.idUser == item.idUser))
+ .map((item: any) => ({ idUser: item.idUser, name: item.name, img: item.img }))
+ setSelectMember([...selectMember, ...newMembers])
+ }
+ }
+
async function handleAddMember() {
try {
setLoading(true)
@@ -159,6 +175,15 @@ export default function AddMemberTask() {
showsVerticalScrollIndicator={false}
>
+ {availableData.length > 0 && (
+
+ {isAllSelected ? 'Batalkan Semua' : 'Pilih Semua'}
+ {isAllSelected && }
+
+ )}
{
data.length > 0 ?
data.map((item: any, index: any) => {
diff --git a/app/(application)/division/[id]/(fitur-division)/task/create/member.tsx b/app/(application)/division/[id]/(fitur-division)/task/create/member.tsx
index 1567d06..eefb79d 100644
--- a/app/(application)/division/[id]/(fitur-division)/task/create/member.tsx
+++ b/app/(application)/division/[id]/(fitur-division)/task/create/member.tsx
@@ -54,6 +54,21 @@ export default function AddMemberCreateTask() {
}
}
+ const isAllSelected = data.length > 0 && data.every((item: any) =>
+ selectMember.some((s: any) => s.idUser == item.idUser)
+ )
+
+ function handleSelectAll() {
+ if (isAllSelected) {
+ setSelectMember([])
+ } else {
+ const newMembers = data
+ .filter((item: any) => !selectMember.some((s: any) => s.idUser == item.idUser))
+ .map((item: any) => ({ idUser: item.idUser, name: item.name, img: item.img }))
+ setSelectMember([...selectMember, ...newMembers])
+ }
+ }
+
async function handleAddMember() {
try {
dispatch(setMemberChoose(selectMember))
@@ -127,6 +142,15 @@ export default function AddMemberCreateTask() {
showsVerticalScrollIndicator={false}
>
+ {data.length > 0 && (
+
+ {isAllSelected ? 'Batalkan Semua' : 'Pilih Semua'}
+ {isAllSelected && }
+
+ )}
{
data.length > 0 ?
data.map((item: any, index: any) => {
diff --git a/app/(application)/project/[id]/add-member.tsx b/app/(application)/project/[id]/add-member.tsx
index 10af1ab..4aaddaa 100644
--- a/app/(application)/project/[id]/add-member.tsx
+++ b/app/(application)/project/[id]/add-member.tsx
@@ -78,6 +78,22 @@ export default function AddMemberProject() {
}
}
+ const availableData = data.filter((item: any) => !dataOld.some((i: any) => i.idUser == item.id))
+ const isAllSelected = availableData.length > 0 && availableData.every((item: any) =>
+ selectMember.some((s: any) => s.idUser == item.id)
+ )
+
+ function handleSelectAll() {
+ if (isAllSelected) {
+ setSelectMember([])
+ } else {
+ const newMembers = availableData
+ .filter((item: any) => !selectMember.some((s: any) => s.idUser == item.id))
+ .map((item: any) => ({ idUser: item.id, name: item.name, img: item.img }))
+ setSelectMember([...selectMember, ...newMembers])
+ }
+ }
+
async function handleAddMember() {
try {
setLoading(true)
@@ -160,6 +176,15 @@ export default function AddMemberProject() {
showsVerticalScrollIndicator={false}
style={[Styles.h100, { backgroundColor: colors.background }]}
>
+ {availableData.length > 0 && (
+
+ {isAllSelected ? 'Batalkan Semua' : 'Pilih Semua'}
+ {isAllSelected && }
+
+ )}
{
data.length > 0 ?
diff --git a/app/(application)/project/create/member.tsx b/app/(application)/project/create/member.tsx
index fbba5a1..170b3d6 100644
--- a/app/(application)/project/create/member.tsx
+++ b/app/(application)/project/create/member.tsx
@@ -61,6 +61,21 @@ export default function AddMemberCreateProject() {
}
}
+ const isAllSelected = data.length > 0 && data.every((item: any) =>
+ selectMember.some((s: any) => s.idUser == item.id)
+ )
+
+ function handleSelectAll() {
+ if (isAllSelected) {
+ setSelectMember([])
+ } else {
+ const newMembers = data
+ .filter((item: any) => !selectMember.some((s: any) => s.idUser == item.id))
+ .map((item: any) => ({ idUser: item.id, name: item.name, img: item.img }))
+ setSelectMember([...selectMember, ...newMembers])
+ }
+ }
+
async function handleAddMember() {
try {
dispatch(setMemberChoose(selectMember))
@@ -134,6 +149,15 @@ export default function AddMemberCreateProject() {
style={[Styles.h100, Styles.flex1, { backgroundColor: colors.background }]}
>
+ {data.length > 0 && (
+
+ {isAllSelected ? 'Batalkan Semua' : 'Pilih Semua'}
+ {isAllSelected && }
+
+ )}
{
data.length > 0 ?
data.map((item: any, index: any) => {