diff --git a/app/(application)/announcement/create.tsx b/app/(application)/announcement/create.tsx
index 6410b17..72ef73a 100644
--- a/app/(application)/announcement/create.tsx
+++ b/app/(application)/announcement/create.tsx
@@ -4,7 +4,7 @@ import ButtonSaveHeader from "@/components/buttonSaveHeader";
import ButtonSelect from "@/components/buttonSelect";
import DrawerBottom from "@/components/drawerBottom";
import { InputForm } from "@/components/inputForm";
-import LoadingOverlay from "@/components/loadingOverlay";
+import LoadingCenter from "@/components/loadingCenter";
import MenuItemRow from "@/components/menuItemRow";
import ModalSelectMultiple from "@/components/modalSelectMultiple";
import Text from "@/components/Text";
@@ -174,7 +174,7 @@ export default function CreateAnnouncement() {
)
}}
/>
-
+ {loading && }
0
&&
-
- File
- {
- fileForm.map((item, index) => (
- }
- title={item.name}
- bgColor="transparent"
- titleWeight="normal"
- onPress={() => { setIndexDelFile(index); setModalFile(true) }}
- />
- ))
- }
-
+ <>
+
+ File
+ {fileForm.length} file
+
+
+ {
+ fileForm.map((item, index) => (
+ }
+ title={item.name}
+ bgColor="transparent"
+ titleWeight="normal"
+ onPress={() => { setIndexDelFile(index); setModalFile(true) }}
+ />
+ ))
+ }
+
+ >
}
0
&&
-
- {
- divisionMember.map((item: { name: any; Division: any }, index: any) => {
- return (
-
- {item.name}
- {
- item.Division.map((division: any, i: any) => (
-
-
- {division.name}
-
- ))
- }
-
- )
- })
- }
-
+ <>
+
+ Divisi
+
+
+ {
+ divisionMember.map((item: { name: any; Division: any }, index: any) => {
+ return (
+
+ {item.name}
+ {
+ item.Division.map((division: any, i: any) => (
+
+
+ {division.name}
+
+ ))
+ }
+
+ )
+ })
+ }
+
+ >
}
diff --git a/app/(application)/announcement/edit/[id].tsx b/app/(application)/announcement/edit/[id].tsx
index 6b04ce7..d259e98 100644
--- a/app/(application)/announcement/edit/[id].tsx
+++ b/app/(application)/announcement/edit/[id].tsx
@@ -4,7 +4,7 @@ import ButtonSaveHeader from "@/components/buttonSaveHeader";
import ButtonSelect from "@/components/buttonSelect";
import DrawerBottom from "@/components/drawerBottom";
import { InputForm } from "@/components/inputForm";
-import LoadingOverlay from "@/components/loadingOverlay";
+import LoadingCenter from "@/components/loadingCenter";
import MenuItemRow from "@/components/menuItemRow";
import ModalSelectMultiple from "@/components/modalSelectMultiple";
import Text from '@/components/Text';
@@ -225,7 +225,7 @@ export default function EditAnnouncement() {
)
}}
/>
-
+ {loading && }
0 || dataFile.filter((val) => !val.delete).length > 0)
&&
-
- File
- {
- dataFile.filter((val) => !val.delete).map((item, index) => (
- 1 ? "bottom" : "none"}
- icon={}
- title={item.name + '.' + item.extension}
- titleWeight="normal"
- bgColor="transparent"
- onPress={() => { setIndexDelFile({ id: item.id, cat: "oldFile" }); setModalFile(true) }}
- />
- ))
- }
- {
- fileForm.map((item, index) => (
- 1 ? "bottom" : "none"}
- icon={}
- title={item.name}
- titleWeight="normal"
- bgColor="transparent"
- onPress={() => { setIndexDelFile({ id: index, cat: "newFile" }); setModalFile(true) }}
- />
- ))
- }
-
+ <>
+
+ File
+ {fileForm.length + dataFile.filter((val) => !val.delete).length} file
+
+
+ {
+ dataFile.filter((val) => !val.delete).map((item, index) => (
+ !val.delete).length - 1 == index && fileForm.length == 0 ? "none" : "bottom"}
+ icon={}
+ title={item.name + '.' + item.extension}
+ titleWeight="normal"
+ bgColor="transparent"
+ onPress={() => { setIndexDelFile({ id: item.id, cat: "oldFile" }); setModalFile(true) }}
+ />
+ ))
+ }
+ {
+ fileForm.map((item, index) => (
+ }
+ title={item.name}
+ titleWeight="normal"
+ bgColor="transparent"
+ onPress={() => { setIndexDelFile({ id: index, cat: "newFile" }); setModalFile(true) }}
+ />
+ ))
+ }
+
+ >
}
0
&&
-
- {
- dataMember.map((item: { name: any; Division: any }, index: any) => {
- return (
-
- {item.name}
- {
- item.Division.map((division: any, i: any) => (
-
-
- {division.name}
-
- ))
- }
-
- )
- })
- }
-
+ <>
+
+ Divisi
+
+
+ {
+ dataMember.map((item: { name: any; Division: any }, index: any) => {
+ return (
+
+ {item.name}
+ {
+ item.Division.map((division: any, i: any) => (
+
+
+ {division.name}
+
+ ))
+ }
+
+ )
+ })
+ }
+
+ >
}
diff --git a/app/(application)/banner/[id].tsx b/app/(application)/banner/[id].tsx
index f5789ff..424cbae 100644
--- a/app/(application)/banner/[id].tsx
+++ b/app/(application)/banner/[id].tsx
@@ -1,6 +1,7 @@
import AppHeader from "@/components/AppHeader";
import ButtonSaveHeader from "@/components/buttonSaveHeader";
import { InputForm } from "@/components/inputForm";
+import LoadingCenter from "@/components/loadingCenter";
import Text from "@/components/Text";
import { ConstEnv } from "@/constants/ConstEnv";
import Styles from "@/constants/Styles";
@@ -145,6 +146,7 @@ export default function EditBanner() {
)
}}
/>
+ {loading && }
diff --git a/app/(application)/banner/create.tsx b/app/(application)/banner/create.tsx
index ff7e2f7..1e092cb 100644
--- a/app/(application)/banner/create.tsx
+++ b/app/(application)/banner/create.tsx
@@ -1,6 +1,7 @@
import AppHeader from "@/components/AppHeader";
import ButtonSaveHeader from "@/components/buttonSaveHeader";
import { InputForm } from "@/components/inputForm";
+import LoadingCenter from "@/components/loadingCenter";
import Text from "@/components/Text";
import Styles from "@/constants/Styles";
import { apiCreateBanner, apiGetBanner } from "@/lib/api";
@@ -99,24 +100,8 @@ export default function CreateBanner() {
(
- // {
- // router.back();
- // }}
- // />
- // ),
headerTitle: "Tambah Banner",
headerTitleAlign: "center",
- // headerRight: () => (
- // {
- // handleCreateEntity();
- // }}
- // />
- // ),
header: () => (
+ {loading && }
@@ -148,13 +134,13 @@ export default function CreateBanner() {
) : (
-
-
+
+
Mohon unggah gambar dalam resolusi 1650 x 720 pixel untuk
memastikan
diff --git a/app/(application)/discussion/create.tsx b/app/(application)/discussion/create.tsx
index 5294c95..95d915f 100644
--- a/app/(application)/discussion/create.tsx
+++ b/app/(application)/discussion/create.tsx
@@ -5,7 +5,7 @@ import ButtonSelect from "@/components/buttonSelect";
import DrawerBottom from "@/components/drawerBottom";
import ImageUser from "@/components/imageNew";
import { InputForm } from "@/components/inputForm";
-import LoadingOverlay from "@/components/loadingOverlay";
+import LoadingCenter from "@/components/loadingCenter";
import MenuItemRow from "@/components/menuItemRow";
import ModalSelect from "@/components/modalSelect";
import SelectForm from "@/components/selectForm";
@@ -206,7 +206,7 @@ export default function CreateDiscussionGeneral() {
)
}}
/>
-
+ {loading && }
{
@@ -253,22 +253,27 @@ export default function CreateDiscussionGeneral() {
{
fileForm.length > 0
&&
-
- File
- {
- fileForm.map((item, index) => (
- }
- title={item.name}
- bgColor="transparent"
- titleWeight="normal"
- onPress={() => { setIndexDelFile(index); setModalFile(true) }}
- />
- ))
- }
-
+ <>
+
+ File
+ {fileForm.length} file
+
+
+ {
+ fileForm.map((item, index) => (
+ }
+ title={item.name}
+ bgColor="transparent"
+ titleWeight="normal"
+ onPress={() => { setIndexDelFile(index); setModalFile(true) }}
+ />
+ ))
+ }
+
+ >
}
0 &&
- Anggota
- Total {entitiesMember.length} Anggota
+ Anggota
+ {entitiesMember.length} Anggota
diff --git a/app/(application)/discussion/edit/[id].tsx b/app/(application)/discussion/edit/[id].tsx
index 7db2b12..6aac536 100644
--- a/app/(application)/discussion/edit/[id].tsx
+++ b/app/(application)/discussion/edit/[id].tsx
@@ -5,7 +5,7 @@ import ButtonSaveHeader from "@/components/buttonSaveHeader";
import ButtonSelect from "@/components/buttonSelect";
import DrawerBottom from "@/components/drawerBottom";
import { InputForm } from "@/components/inputForm";
-import LoadingOverlay from "@/components/loadingOverlay";
+import LoadingCenter from "@/components/loadingCenter";
import MenuItemRow from "@/components/menuItemRow";
import Styles from "@/constants/Styles";
import { apiEditDiscussionGeneral, apiGetDiscussionGeneralOne } from "@/lib/api";
@@ -199,7 +199,7 @@ export default function EditDiscussionGeneral() {
)
}}
/>
-
+ {loading && }
0 || dataFile.filter((val) => !val.delete).length > 0)
&&
-
- File
- {
- dataFile.filter((val) => !val.delete).map((item, index) => (
- 1 ? "bottom" : "none"}
- icon={}
- title={item.name + '.' + item.extension}
- titleWeight="normal"
- bgColor="transparent"
- onPress={() => { setIndexDelFile({ id: item.id, cat: "oldFile" }); setModalFile(true) }}
- />
- ))
- }
- {
- fileForm.map((item, index) => (
- 1 ? "bottom" : "none"}
- icon={}
- title={item.name}
- titleWeight="normal"
- bgColor="transparent"
- onPress={() => { setIndexDelFile({ id: index, cat: "newFile" }); setModalFile(true) }}
- />
- ))
- }
-
+ <>
+
+ File
+ {fileForm.length + dataFile.filter((val) => !val.delete).length} file
+
+
+ {
+ dataFile.filter((val) => !val.delete).map((item, index) => (
+ !val.delete).length - 1 == index && fileForm.length == 0 ? "none" : "bottom"}
+ icon={}
+ title={item.name + '.' + item.extension}
+ titleWeight="normal"
+ bgColor="transparent"
+ onPress={() => { setIndexDelFile({ id: item.id, cat: "oldFile" }); setModalFile(true) }}
+ />
+ ))
+ }
+ {
+ fileForm.map((item, index) => (
+ }
+ title={item.name}
+ titleWeight="normal"
+ bgColor="transparent"
+ onPress={() => { setIndexDelFile({ id: index, cat: "newFile" }); setModalFile(true) }}
+ />
+ ))
+ }
+
+ >
}
diff --git a/app/(application)/division/[id]/(fitur-division)/calendar/[detail]/add-member.tsx b/app/(application)/division/[id]/(fitur-division)/calendar/[detail]/add-member.tsx
index 6706641..0ed576c 100644
--- a/app/(application)/division/[id]/(fitur-division)/calendar/[detail]/add-member.tsx
+++ b/app/(application)/division/[id]/(fitur-division)/calendar/[detail]/add-member.tsx
@@ -169,7 +169,7 @@ export default function AddMemberCalendarEvent() {
return (
{
!found && onChoose(item.idUser, item.name, item.img)
}}
diff --git a/app/(application)/division/[id]/(fitur-division)/calendar/history.tsx b/app/(application)/division/[id]/(fitur-division)/calendar/history.tsx
index b5fe7a3..00e00dd 100644
--- a/app/(application)/division/[id]/(fitur-division)/calendar/history.tsx
+++ b/app/(application)/division/[id]/(fitur-division)/calendar/history.tsx
@@ -90,7 +90,7 @@ export default function CalendarHistory() {
(
-
+
{item.title}
{item.timeStart} | {item.timeEnd}
diff --git a/app/(application)/division/[id]/(fitur-division)/discussion/[detail]/edit.tsx b/app/(application)/division/[id]/(fitur-division)/discussion/[detail]/edit.tsx
index 29d4087..ca57d4a 100644
--- a/app/(application)/division/[id]/(fitur-division)/discussion/[detail]/edit.tsx
+++ b/app/(application)/division/[id]/(fitur-division)/discussion/[detail]/edit.tsx
@@ -4,7 +4,7 @@ import ButtonSaveHeader from "@/components/buttonSaveHeader";
import ButtonSelect from "@/components/buttonSelect";
import DrawerBottom from "@/components/drawerBottom";
import { InputForm } from "@/components/inputForm";
-import LoadingOverlay from "@/components/loadingOverlay";
+import LoadingCenter from "@/components/loadingCenter";
import MenuItemRow from "@/components/menuItemRow";
import Text from "@/components/Text";
import Styles from "@/constants/Styles";
@@ -168,7 +168,7 @@ export default function DiscussionDivisionEdit() {
)
}}
/>
-
+ {loading && }
-
+ {loading && }
+ {loading && }
-
+ {loading && }
-
-
+ {
+ loading &&
+ }
+
+
{
listFile.length > 0 && (
- File
+ File
{
listFile.map((item, index) => (
@@ -182,9 +186,6 @@ export default function ProjectAddFile() {
{
loadingCheck &&
}
- {
- loading &&
- }
diff --git a/app/(application)/project/[id]/add-member.tsx b/app/(application)/project/[id]/add-member.tsx
index 0261476..e177d93 100644
--- a/app/(application)/project/[id]/add-member.tsx
+++ b/app/(application)/project/[id]/add-member.tsx
@@ -100,7 +100,7 @@ export default function AddMemberProject() {
{ router.back() }} />,
- headerTitle: 'Tambah Anggota Kegiatan',
+ headerTitle: 'Tambah Anggota',
headerTitleAlign: 'center',
// headerRight: () => (
// (
router.back()}
right={
@@ -165,7 +165,7 @@ export default function AddMemberProject() {
return (
{
!found && onChoose(item.id, item.name, item.img)
}}
diff --git a/app/(application)/project/[id]/add-task.tsx b/app/(application)/project/[id]/add-task.tsx
index 9e9899c..cfe51da 100644
--- a/app/(application)/project/[id]/add-task.tsx
+++ b/app/(application)/project/[id]/add-task.tsx
@@ -197,7 +197,7 @@ export default function ProjectAddTask() {
/>
-
+
Tanggal Mulai *
diff --git a/app/(application)/project/create.tsx b/app/(application)/project/create.tsx
index 178af0b..83dbfd7 100644
--- a/app/(application)/project/create.tsx
+++ b/app/(application)/project/create.tsx
@@ -5,6 +5,7 @@ import ButtonSelect from "@/components/buttonSelect";
import DrawerBottom from "@/components/drawerBottom";
import ImageUser from "@/components/imageNew";
import { InputForm } from "@/components/inputForm";
+import LoadingCenter from "@/components/loadingCenter";
import MenuItemRow from "@/components/menuItemRow";
import ModalSelect from "@/components/modalSelect";
import SectionListAddTask from "@/components/project/sectionListAddTask";
@@ -230,6 +231,9 @@ export default function CreateProject() {
)
}}
/>
+ {
+ loading &&
+ }
-
+
Tanggal Mulai *
diff --git a/app/(application)/project/update/[detail].tsx b/app/(application)/project/update/[detail].tsx
index 0d3e9b9..f0e75bb 100644
--- a/app/(application)/project/update/[detail].tsx
+++ b/app/(application)/project/update/[detail].tsx
@@ -233,7 +233,7 @@ export default function UpdateProjectTask() {
-
+
Tanggal Mulai *
diff --git a/components/announcement/headerAnnouncementDetail.tsx b/components/announcement/headerAnnouncementDetail.tsx
index 336fcef..2008509 100644
--- a/components/announcement/headerAnnouncementDetail.tsx
+++ b/components/announcement/headerAnnouncementDetail.tsx
@@ -31,15 +31,14 @@ export default function HeaderRightAnnouncementDetail({ id }: Props) {
const hasil = await decryptToken(String(token?.current))
const response = await apiDeleteAnnouncement({ user: hasil }, id)
if (response.success) {
- dispatch(setUpdateAnnouncement(!update))
- setVisible(false)
- Toast.show({ type: 'small', text1: 'Berhasil menghapus data', })
router.back()
+ dispatch(setUpdateAnnouncement(!update))
+ return Toast.show({ type: 'small', text1: 'Berhasil menghapus data', })
}
} catch (error) {
console.error(error)
} finally {
- setVisible(false)
+ setShowDeleteModal(false)
}
}
diff --git a/components/buttonNextHeader.tsx b/components/buttonNextHeader.tsx
index 29e5ad2..8934f33 100644
--- a/components/buttonNextHeader.tsx
+++ b/components/buttonNextHeader.tsx
@@ -10,7 +10,7 @@ export default function ButtonNextHeader({ onPress, disable }: Props) {
return (
<>
}
+ item={}
onPress={() => {
!disable && onPress && onPress()
}}
diff --git a/components/loadingCenter.tsx b/components/loadingCenter.tsx
new file mode 100644
index 0000000..458a055
--- /dev/null
+++ b/components/loadingCenter.tsx
@@ -0,0 +1,21 @@
+import Text from '@/components/Text';
+import Styles from '@/constants/Styles';
+import { useTheme } from '@/providers/ThemeProvider';
+import { ActivityIndicator, View } from 'react-native';
+
+type Props = {
+ size?: 'small' | 'large'
+}
+
+export default function LoadingCenter({ size = 'large' }: Props) {
+ const { colors } = useTheme();
+
+ return (
+
+
+
+ Loading
+
+
+ )
+}
diff --git a/components/modalSelectMultiple.tsx b/components/modalSelectMultiple.tsx
index 7d74763..ebebbd7 100644
--- a/components/modalSelectMultiple.tsx
+++ b/components/modalSelectMultiple.tsx
@@ -157,7 +157,7 @@ export default function ModalSelectMultiple({ open, close, title, category, choo
{
data.map((item: any, index: number) => {
return (
- {
+ {
handleDivisionClick(index)
}}>
{item.name}
@@ -175,7 +175,7 @@ export default function ModalSelectMultiple({ open, close, title, category, choo
data.map((item: any, index: number) => {
return (
- { handleGroupCheck(item.id) }}>
+ { handleGroupCheck(item.id) }}>
{item.name}
{
checked[item.id] && checked[item.id]?.length === item.Division?.length
@@ -188,7 +188,7 @@ export default function ModalSelectMultiple({ open, close, title, category, choo
{
item.Division.map((child: any, v: number) => {
return (
- { handleCheck(item.id, child.id) }}>
+ { handleCheck(item.id, child.id) }}>
{child.name}
{
checked[item.id] && checked[item.id].includes(child.id) &&
diff --git a/components/project/modalListDetailTugasProject.tsx b/components/project/modalListDetailTugasProject.tsx
index ac5ea8b..da045dc 100644
--- a/components/project/modalListDetailTugasProject.tsx
+++ b/components/project/modalListDetailTugasProject.tsx
@@ -77,7 +77,7 @@ export default function ModalListDetailTugasProject({ isVisible, setVisible, idT
getItem={getItem}
renderItem={({ item, index }: { item: Props, index: number }) => {
return (
-
+
{item.date}
diff --git a/components/project/sectionFile.tsx b/components/project/sectionFile.tsx
index 435f4b2..32f29ce 100644
--- a/components/project/sectionFile.tsx
+++ b/components/project/sectionFile.tsx
@@ -157,7 +157,6 @@ export default function SectionFile({ status, member, refreshing }: { status: nu
title={item.name + '.' + item.extension}
titleWeight="normal"
onPress={() => { setSelectFile(item); setModal(true) }}
- width={65}
/>
)
})
diff --git a/components/project/sectionLink.tsx b/components/project/sectionLink.tsx
index f24e511..ab5a749 100644
--- a/components/project/sectionLink.tsx
+++ b/components/project/sectionLink.tsx
@@ -96,7 +96,6 @@ export default function SectionLink({ status, member, refreshing }: { status: nu
title={item.link}
titleWeight="normal"
onPress={() => { setSelectLink(item); setModal(true) }}
- width={65}
/>
)
})
diff --git a/components/task/sectionFileTask.tsx b/components/task/sectionFileTask.tsx
index 3349753..c55a0ad 100644
--- a/components/task/sectionFileTask.tsx
+++ b/components/task/sectionFileTask.tsx
@@ -151,7 +151,6 @@ export default function SectionFileTask({ refreshing, isMemberDivision }: { refr
title={item.name + '.' + item.extension}
titleWeight="normal"
onPress={() => { setSelectFile(item); setModal(true) }}
- width={65}
/>
)
})
diff --git a/components/task/sectionLinkTask.tsx b/components/task/sectionLinkTask.tsx
index 7ed3ae1..5c08587 100644
--- a/components/task/sectionLinkTask.tsx
+++ b/components/task/sectionLinkTask.tsx
@@ -88,7 +88,6 @@ export default function SectionLinkTask({ refreshing, isMemberDivision }: { refr
title={item.link}
titleWeight="normal"
onPress={() => { setSelectLink(item); setModal(true) }}
- width={65}
/>
)
})
diff --git a/constants/Styles.ts b/constants/Styles.ts
index 9e06cfd..5895d8f 100644
--- a/constants/Styles.ts
+++ b/constants/Styles.ts
@@ -465,6 +465,13 @@ const Styles = StyleSheet.create({
shadowRadius: 0,
elevation: 0,
},
+ shadowBox: {
+ shadowColor: '#171717',
+ shadowOffset: { width: 0, height: 0 },
+ shadowOpacity: 0.1,
+ shadowRadius: 4,
+ elevation: 5,
+ },
contentItemCenter: {
justifyContent: 'center',
alignItems: 'center'
@@ -860,6 +867,24 @@ const Styles = StyleSheet.create({
},
alignStart: {
alignItems: 'flex-start'
+ },
+ loadingCenter: {
+ position: 'absolute',
+ top: 0,
+ left: 0,
+ right: 0,
+ bottom: 0,
+ justifyContent: 'center',
+ alignItems: 'center',
+ zIndex: 999,
+ backgroundColor: 'rgba(0,0,0,0.3)',
+ },
+ loadingBox: {
+ paddingVertical: 15,
+ paddingHorizontal: 40,
+ borderRadius: 5,
+ alignItems: 'center',
+ gap: 10,
}
})