Merge pull request 'fix : button header' (#12) from amalia/28-jan-26 into join
Reviewed-on: http://wibugit.wibudev.com/wibu/mobile-darmasaba/pulls/12
This commit is contained in:
@@ -149,7 +149,14 @@ export default function RootLayout() {
|
|||||||
// headerLeft: () => <ButtonBackHeader onPress={() => { router.back() }} />,
|
// headerLeft: () => <ButtonBackHeader onPress={() => { router.back() }} />,
|
||||||
title: 'Divisi',
|
title: 'Divisi',
|
||||||
headerTitleAlign: 'center',
|
headerTitleAlign: 'center',
|
||||||
headerRight: () => <HeaderRightDivisionList />
|
// headerRight: () => <HeaderRightDivisionList />
|
||||||
|
header: () => (
|
||||||
|
<AppHeader title="Divisi"
|
||||||
|
showBack={true}
|
||||||
|
onPressLeft={() => router.back()}
|
||||||
|
right={<HeaderRightDivisionList />}
|
||||||
|
/>
|
||||||
|
)
|
||||||
}} />
|
}} />
|
||||||
<Stack.Screen name="division/[id]/(fitur-division)" options={{ headerShown: false }} />
|
<Stack.Screen name="division/[id]/(fitur-division)" options={{ headerShown: false }} />
|
||||||
<Stack.Screen name="group/index" options={{
|
<Stack.Screen name="group/index" options={{
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import ButtonBackHeader from "@/components/buttonBackHeader"
|
import AppHeader from "@/components/AppHeader"
|
||||||
import HeaderRightDiscussionList from "@/components/discussion/headerDiscussionList"
|
import HeaderRightDiscussionList from "@/components/discussion/headerDiscussionList"
|
||||||
import HeaderRightTaskList from "@/components/task/headerTaskList"
|
import HeaderRightTaskList from "@/components/task/headerTaskList"
|
||||||
import { Headers } from "@/constants/Headers"
|
import { Headers } from "@/constants/Headers"
|
||||||
@@ -9,22 +9,49 @@ export default function RootLayout() {
|
|||||||
<>
|
<>
|
||||||
<Stack screenOptions={Headers.shadow}>
|
<Stack screenOptions={Headers.shadow}>
|
||||||
<Stack.Screen name="task/index" options={{
|
<Stack.Screen name="task/index" options={{
|
||||||
headerLeft: () => <ButtonBackHeader onPress={() => { router.back() }} />,
|
// headerLeft: () => <ButtonBackHeader onPress={() => { router.back() }} />,
|
||||||
title: 'Tugas Divisi',
|
title: 'Tugas Divisi',
|
||||||
headerTitleAlign: 'center',
|
headerTitleAlign: 'center',
|
||||||
headerRight: () => <HeaderRightTaskList />
|
// headerRight: () => <HeaderRightTaskList />
|
||||||
|
header: () => (
|
||||||
|
<AppHeader
|
||||||
|
title="Tugas Divisi"
|
||||||
|
showBack={true}
|
||||||
|
onPressLeft={() => router.back()}
|
||||||
|
right={
|
||||||
|
<HeaderRightTaskList />
|
||||||
|
}
|
||||||
|
/>
|
||||||
|
)
|
||||||
}} />
|
}} />
|
||||||
<Stack.Screen name="discussion/index" options={{
|
<Stack.Screen name="discussion/index" options={{
|
||||||
headerLeft: () => <ButtonBackHeader onPress={() => { router.back() }} />,
|
// headerLeft: () => <ButtonBackHeader onPress={() => { router.back() }} />,
|
||||||
title: 'Diskusi Divisi',
|
title: 'Diskusi Divisi',
|
||||||
headerTitleAlign: 'center',
|
headerTitleAlign: 'center',
|
||||||
headerRight: () => <HeaderRightDiscussionList />
|
// headerRight: () => <HeaderRightDiscussionList />
|
||||||
|
header: () => (
|
||||||
|
<AppHeader
|
||||||
|
title="Diskusi Divisi"
|
||||||
|
showBack={true}
|
||||||
|
onPressLeft={() => router.back()}
|
||||||
|
right={
|
||||||
|
<HeaderRightDiscussionList />
|
||||||
|
}
|
||||||
|
/>
|
||||||
|
)
|
||||||
}} />
|
}} />
|
||||||
<Stack.Screen name="calendar/history"
|
<Stack.Screen name="calendar/history"
|
||||||
options={{
|
options={{
|
||||||
headerLeft: () => <ButtonBackHeader onPress={() => { router.back() }} />,
|
// headerLeft: () => <ButtonBackHeader onPress={() => { router.back() }} />,
|
||||||
headerTitle: 'Riwayat Acara',
|
headerTitle: 'Riwayat Acara',
|
||||||
headerTitleAlign: 'center',
|
headerTitleAlign: 'center',
|
||||||
|
header: () => (
|
||||||
|
<AppHeader
|
||||||
|
title="Riwayat Acara"
|
||||||
|
showBack={true}
|
||||||
|
onPressLeft={() => router.back()}
|
||||||
|
/>
|
||||||
|
)
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</Stack>
|
</Stack>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import ButtonBackHeader from "@/components/buttonBackHeader";
|
import AppHeader from "@/components/AppHeader";
|
||||||
import ButtonSaveHeader from "@/components/buttonSaveHeader";
|
import ButtonSaveHeader from "@/components/buttonSaveHeader";
|
||||||
import ImageUser from "@/components/imageNew";
|
import ImageUser from "@/components/imageNew";
|
||||||
import ImageWithLabel from "@/components/imageWithLabel";
|
import ImageWithLabel from "@/components/imageWithLabel";
|
||||||
@@ -103,16 +103,32 @@ export default function AddMemberCalendarEvent() {
|
|||||||
<SafeAreaView>
|
<SafeAreaView>
|
||||||
<Stack.Screen
|
<Stack.Screen
|
||||||
options={{
|
options={{
|
||||||
headerLeft: () => <ButtonBackHeader onPress={() => { router.back() }} />,
|
// headerLeft: () => <ButtonBackHeader onPress={() => { router.back() }} />,
|
||||||
headerTitle: 'Tambah Anggota',
|
headerTitle: 'Tambah Anggota',
|
||||||
headerTitleAlign: 'center',
|
headerTitleAlign: 'center',
|
||||||
headerRight: () => (
|
// headerRight: () => (
|
||||||
<ButtonSaveHeader
|
// <ButtonSaveHeader
|
||||||
category="update"
|
// category="update"
|
||||||
disable={selectMember.length == 0 || loading ? true : false}
|
// disable={selectMember.length == 0 || loading ? true : false}
|
||||||
onPress={() => {
|
// onPress={() => {
|
||||||
handleAddMember()
|
// handleAddMember()
|
||||||
}}
|
// }}
|
||||||
|
// />
|
||||||
|
// )
|
||||||
|
header: () => (
|
||||||
|
<AppHeader
|
||||||
|
title="Tambah Anggota"
|
||||||
|
showBack={true}
|
||||||
|
onPressLeft={() => router.back()}
|
||||||
|
right={
|
||||||
|
<ButtonSaveHeader
|
||||||
|
category="update"
|
||||||
|
disable={selectMember.length == 0 || loading ? true : false}
|
||||||
|
onPress={() => {
|
||||||
|
handleAddMember()
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
)
|
)
|
||||||
}}
|
}}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import ButtonBackHeader from "@/components/buttonBackHeader"
|
import AppHeader from "@/components/AppHeader"
|
||||||
import ButtonSaveHeader from "@/components/buttonSaveHeader"
|
import ButtonSaveHeader from "@/components/buttonSaveHeader"
|
||||||
import { InputDate } from "@/components/inputDate"
|
import { InputDate } from "@/components/inputDate"
|
||||||
import { InputForm } from "@/components/inputForm"
|
import { InputForm } from "@/components/inputForm"
|
||||||
@@ -165,17 +165,33 @@ export default function EditEventCalendar() {
|
|||||||
<SafeAreaView>
|
<SafeAreaView>
|
||||||
<Stack.Screen
|
<Stack.Screen
|
||||||
options={{
|
options={{
|
||||||
headerLeft: () => <ButtonBackHeader onPress={() => { router.back() }} />,
|
// headerLeft: () => <ButtonBackHeader onPress={() => { router.back() }} />,
|
||||||
headerTitle: 'Edit Acara',
|
headerTitle: 'Edit Acara',
|
||||||
headerTitleAlign: 'center',
|
headerTitleAlign: 'center',
|
||||||
headerRight: () =>
|
// headerRight: () =>
|
||||||
<ButtonSaveHeader
|
// <ButtonSaveHeader
|
||||||
disable={Object.values(error).some((val) => val == true) || data.title == "" || data.dateStart == "" || data.timeStart == "" || data.timeEnd == "" || data.repeatEventTyper == "" || loading}
|
// disable={Object.values(error).some((val) => val == true) || data.title == "" || data.dateStart == "" || data.timeStart == "" || data.timeEnd == "" || data.repeatEventTyper == "" || loading}
|
||||||
category="update-calendar"
|
// category="update-calendar"
|
||||||
onPress={() => {
|
// onPress={() => {
|
||||||
handleUpdate()
|
// handleUpdate()
|
||||||
}}
|
// }}
|
||||||
|
// />
|
||||||
|
header: () => (
|
||||||
|
<AppHeader
|
||||||
|
title="Edit Acara"
|
||||||
|
showBack={true}
|
||||||
|
onPressLeft={() => router.back()}
|
||||||
|
right={
|
||||||
|
<ButtonSaveHeader
|
||||||
|
disable={Object.values(error).some((val) => val == true) || data.title == "" || data.dateStart == "" || data.timeStart == "" || data.timeEnd == "" || data.repeatEventTyper == "" || loading}
|
||||||
|
category="update-calendar"
|
||||||
|
onPress={() => {
|
||||||
|
handleUpdate()
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
|
)
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
<KeyboardAvoidingView
|
<KeyboardAvoidingView
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import AlertKonfirmasi from "@/components/alertKonfirmasi"
|
import AlertKonfirmasi from "@/components/alertKonfirmasi"
|
||||||
|
import AppHeader from "@/components/AppHeader"
|
||||||
import BorderBottomItem from "@/components/borderBottomItem"
|
import BorderBottomItem from "@/components/borderBottomItem"
|
||||||
import ButtonBackHeader from "@/components/buttonBackHeader"
|
import ButtonBackHeader from "@/components/buttonBackHeader"
|
||||||
import HeaderRightCalendarDetail from "@/components/calendar/headerCalendarDetail"
|
import HeaderRightCalendarDetail from "@/components/calendar/headerCalendarDetail"
|
||||||
@@ -154,10 +155,20 @@ export default function DetailEventCalendar() {
|
|||||||
<SafeAreaView>
|
<SafeAreaView>
|
||||||
<Stack.Screen
|
<Stack.Screen
|
||||||
options={{
|
options={{
|
||||||
headerLeft: () => <ButtonBackHeader onPress={() => { router.back() }} />,
|
// headerLeft: () => <ButtonBackHeader onPress={() => { router.back() }} />,
|
||||||
headerTitle: 'Detail Acara',
|
headerTitle: 'Detail Acara',
|
||||||
headerTitleAlign: 'center',
|
headerTitleAlign: 'center',
|
||||||
headerRight: () => (entityUser.role == "user" || entityUser.role == "coadmin") && !isMemberDivision ? <></> : <HeaderRightCalendarDetail id={String(data?.idCalendar)} idReminder={String(detail)} />
|
// headerRight: () => (entityUser.role == "user" || entityUser.role == "coadmin") && !isMemberDivision ? <></> : <HeaderRightCalendarDetail id={String(data?.idCalendar)} idReminder={String(detail)} />
|
||||||
|
header:()=>(
|
||||||
|
<AppHeader
|
||||||
|
title="Detail Acara"
|
||||||
|
showBack={true}
|
||||||
|
onPressLeft={() => router.back()}
|
||||||
|
right={
|
||||||
|
(entityUser.role == "user" || entityUser.role == "coadmin") && !isMemberDivision ? <></> : <HeaderRightCalendarDetail id={String(data?.idCalendar)} idReminder={String(detail)} />
|
||||||
|
}
|
||||||
|
/>
|
||||||
|
)
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
<ScrollView
|
<ScrollView
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import ButtonBackHeader from "@/components/buttonBackHeader";
|
import AppHeader from "@/components/AppHeader";
|
||||||
import ButtonSaveHeader from "@/components/buttonSaveHeader";
|
import ButtonSaveHeader from "@/components/buttonSaveHeader";
|
||||||
import ImageUser from "@/components/imageNew";
|
import ImageUser from "@/components/imageNew";
|
||||||
import ImageWithLabel from "@/components/imageWithLabel";
|
import ImageWithLabel from "@/components/imageWithLabel";
|
||||||
@@ -93,14 +93,28 @@ export default function CreateCalendarAddMember() {
|
|||||||
<SafeAreaView>
|
<SafeAreaView>
|
||||||
<Stack.Screen
|
<Stack.Screen
|
||||||
options={{
|
options={{
|
||||||
headerLeft: () => <ButtonBackHeader onPress={() => { router.back() }} />,
|
// headerLeft: () => <ButtonBackHeader onPress={() => { router.back() }} />,
|
||||||
headerTitle: 'Pilih Anggota',
|
headerTitle: 'Pilih Anggota',
|
||||||
headerTitleAlign: 'center',
|
headerTitleAlign: 'center',
|
||||||
headerRight: () => (
|
// headerRight: () => (
|
||||||
<ButtonSaveHeader
|
// <ButtonSaveHeader
|
||||||
category="create"
|
// category="create"
|
||||||
disable={selectMember.length == 0 || loading ? true : false}
|
// disable={selectMember.length == 0 || loading ? true : false}
|
||||||
onPress={() => { handleAddMember() }}
|
// onPress={() => { handleAddMember() }}
|
||||||
|
// />
|
||||||
|
// )
|
||||||
|
header: () => (
|
||||||
|
<AppHeader
|
||||||
|
title="Pilih Anggota"
|
||||||
|
showBack={true}
|
||||||
|
onPressLeft={() => router.back()}
|
||||||
|
right={
|
||||||
|
<ButtonSaveHeader
|
||||||
|
category="create"
|
||||||
|
disable={selectMember.length == 0 || loading ? true : false}
|
||||||
|
onPress={() => { handleAddMember() }}
|
||||||
|
/>
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
)
|
)
|
||||||
}}
|
}}
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
import AppHeader from "@/components/AppHeader";
|
||||||
import ButtonBackHeader from "@/components/buttonBackHeader";
|
import ButtonBackHeader from "@/components/buttonBackHeader";
|
||||||
import ButtonNextHeader from "@/components/buttonNextHeader";
|
import ButtonNextHeader from "@/components/buttonNextHeader";
|
||||||
import { InputDate } from "@/components/inputDate";
|
import { InputDate } from "@/components/inputDate";
|
||||||
@@ -7,6 +8,7 @@ import SelectForm from "@/components/selectForm";
|
|||||||
import Styles from "@/constants/Styles";
|
import Styles from "@/constants/Styles";
|
||||||
import { setFormCreateCalendar } from "@/lib/calendarCreate";
|
import { setFormCreateCalendar } from "@/lib/calendarCreate";
|
||||||
import { stringToDateTime } from "@/lib/fun_stringToDate";
|
import { stringToDateTime } from "@/lib/fun_stringToDate";
|
||||||
|
import { useHeaderHeight } from '@react-navigation/elements';
|
||||||
import { Stack, router, useLocalSearchParams } from "expo-router";
|
import { Stack, router, useLocalSearchParams } from "expo-router";
|
||||||
import { useState } from "react";
|
import { useState } from "react";
|
||||||
import {
|
import {
|
||||||
@@ -17,7 +19,6 @@ import {
|
|||||||
View
|
View
|
||||||
} from "react-native";
|
} from "react-native";
|
||||||
import { useDispatch, useSelector } from "react-redux";
|
import { useDispatch, useSelector } from "react-redux";
|
||||||
import { useHeaderHeight } from '@react-navigation/elements';
|
|
||||||
|
|
||||||
export default function CalendarDivisionCreate() {
|
export default function CalendarDivisionCreate() {
|
||||||
const { id } = useLocalSearchParams<{ id: string }>()
|
const { id } = useLocalSearchParams<{ id: string }>()
|
||||||
@@ -128,28 +129,44 @@ export default function CalendarDivisionCreate() {
|
|||||||
<SafeAreaView>
|
<SafeAreaView>
|
||||||
<Stack.Screen
|
<Stack.Screen
|
||||||
options={{
|
options={{
|
||||||
headerLeft: () => (
|
// headerLeft: () => (
|
||||||
<ButtonBackHeader
|
// <ButtonBackHeader
|
||||||
onPress={() => {
|
// onPress={() => {
|
||||||
router.back();
|
// router.back();
|
||||||
}}
|
// }}
|
||||||
/>
|
// />
|
||||||
),
|
// ),
|
||||||
headerTitle: "Tambah Acara",
|
headerTitle: "Tambah Acara",
|
||||||
headerTitleAlign: "center",
|
headerTitleAlign: "center",
|
||||||
headerRight: () => (
|
// headerRight: () => (
|
||||||
<ButtonNextHeader
|
// <ButtonNextHeader
|
||||||
onPress={() => { handleSetData() }}
|
// onPress={() => { handleSetData() }}
|
||||||
disable={Object.values(error).some((val) => val == true) || data.title == "" || data.dateStart == "" || data.timeStart == "" || data.timeEnd == "" || data.repeatEventType == ""}
|
// disable={Object.values(error).some((val) => val == true) || data.title == "" || data.dateStart == "" || data.timeStart == "" || data.timeEnd == "" || data.repeatEventType == ""}
|
||||||
|
// />
|
||||||
|
// ),
|
||||||
|
header:()=>(
|
||||||
|
<AppHeader
|
||||||
|
title="Tambah Acara"
|
||||||
|
showBack={true}
|
||||||
|
onPressLeft={() => router.back()}
|
||||||
|
right={
|
||||||
|
<ButtonNextHeader
|
||||||
|
onPress={() => { handleSetData() }}
|
||||||
|
disable={Object.values(error).some((val) => val == true) || data.title == "" || data.dateStart == "" || data.timeStart == "" || data.timeEnd == "" || data.repeatEventType == ""}
|
||||||
|
/>
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
),
|
)
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
<KeyboardAvoidingView
|
<KeyboardAvoidingView
|
||||||
behavior={Platform.OS === 'ios' ? 'padding' : undefined}
|
behavior={Platform.OS === 'ios' ? 'padding' : undefined}
|
||||||
keyboardVerticalOffset={headerHeight}
|
keyboardVerticalOffset={headerHeight}
|
||||||
>
|
>
|
||||||
<ScrollView>
|
<ScrollView
|
||||||
|
showsVerticalScrollIndicator={false}
|
||||||
|
style={[Styles.h100]}
|
||||||
|
>
|
||||||
<View style={[Styles.p15]}>
|
<View style={[Styles.p15]}>
|
||||||
<InputForm
|
<InputForm
|
||||||
label="Nama Acara"
|
label="Nama Acara"
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import ButtonBackHeader from "@/components/buttonBackHeader";
|
import AppHeader from "@/components/AppHeader";
|
||||||
import HeaderRightCalendarList from "@/components/calendar/headerCalendarList";
|
import HeaderRightCalendarList from "@/components/calendar/headerCalendarList";
|
||||||
import ItemDateCalendar from "@/components/calendar/itemDateCalendar";
|
import ItemDateCalendar from "@/components/calendar/itemDateCalendar";
|
||||||
import EventItem from "@/components/eventItem";
|
import EventItem from "@/components/eventItem";
|
||||||
@@ -128,16 +128,24 @@ export default function CalendarDivision() {
|
|||||||
<SafeAreaView>
|
<SafeAreaView>
|
||||||
<Stack.Screen
|
<Stack.Screen
|
||||||
options={{
|
options={{
|
||||||
headerLeft: () => (
|
// headerLeft: () => (
|
||||||
<ButtonBackHeader
|
// <ButtonBackHeader
|
||||||
onPress={() => {
|
// onPress={() => {
|
||||||
router.back();
|
// router.back();
|
||||||
}}
|
// }}
|
||||||
/>
|
// />
|
||||||
),
|
// ),
|
||||||
headerTitle: "Kalender",
|
headerTitle: "Kalender",
|
||||||
headerTitleAlign: "center",
|
headerTitleAlign: "center",
|
||||||
headerRight: () => <HeaderRightCalendarList />,
|
// headerRight: () => <HeaderRightCalendarList />,
|
||||||
|
header: () => (
|
||||||
|
<AppHeader
|
||||||
|
title="Kalender"
|
||||||
|
showBack={true}
|
||||||
|
onPressLeft={() => router.back()}
|
||||||
|
right={<HeaderRightCalendarList />}
|
||||||
|
/>
|
||||||
|
)
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
<ScrollView
|
<ScrollView
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
|
import AppHeader from "@/components/AppHeader";
|
||||||
import BorderBottomItem from "@/components/borderBottomItem";
|
import BorderBottomItem from "@/components/borderBottomItem";
|
||||||
import ButtonBackHeader from "@/components/buttonBackHeader";
|
|
||||||
import ButtonSaveHeader from "@/components/buttonSaveHeader";
|
import ButtonSaveHeader from "@/components/buttonSaveHeader";
|
||||||
import ButtonSelect from "@/components/buttonSelect";
|
import ButtonSelect from "@/components/buttonSelect";
|
||||||
import DrawerBottom from "@/components/drawerBottom";
|
import DrawerBottom from "@/components/drawerBottom";
|
||||||
@@ -130,24 +130,40 @@ export default function DiscussionDivisionEdit() {
|
|||||||
<SafeAreaView>
|
<SafeAreaView>
|
||||||
<Stack.Screen
|
<Stack.Screen
|
||||||
options={{
|
options={{
|
||||||
headerLeft: () => (
|
// headerLeft: () => (
|
||||||
<ButtonBackHeader
|
// <ButtonBackHeader
|
||||||
onPress={() => {
|
// onPress={() => {
|
||||||
router.back();
|
// router.back();
|
||||||
}}
|
// }}
|
||||||
/>
|
// />
|
||||||
),
|
// ),
|
||||||
headerTitle: "Edit Diskusi",
|
headerTitle: "Edit Diskusi",
|
||||||
headerTitleAlign: "center",
|
headerTitleAlign: "center",
|
||||||
headerRight: () => (
|
// headerRight: () => (
|
||||||
<ButtonSaveHeader
|
// <ButtonSaveHeader
|
||||||
disable={data == "" || loading}
|
// disable={data == "" || loading}
|
||||||
category="update"
|
// category="update"
|
||||||
onPress={() => {
|
// onPress={() => {
|
||||||
handleUpdate();
|
// handleUpdate();
|
||||||
}}
|
// }}
|
||||||
|
// />
|
||||||
|
// ),
|
||||||
|
header: () => (
|
||||||
|
<AppHeader
|
||||||
|
title="Edit Diskusi"
|
||||||
|
showBack={true}
|
||||||
|
onPressLeft={() => router.back()}
|
||||||
|
right={
|
||||||
|
<ButtonSaveHeader
|
||||||
|
disable={data == "" || loading}
|
||||||
|
category="update"
|
||||||
|
onPress={() => {
|
||||||
|
handleUpdate();
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
),
|
)
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
<LoadingOverlay visible={loading} />
|
<LoadingOverlay visible={loading} />
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import AlertKonfirmasi from "@/components/alertKonfirmasi";
|
import AlertKonfirmasi from "@/components/alertKonfirmasi";
|
||||||
|
import AppHeader from "@/components/AppHeader";
|
||||||
import BorderBottomItem from "@/components/borderBottomItem";
|
import BorderBottomItem from "@/components/borderBottomItem";
|
||||||
import BorderBottomItem2 from "@/components/borderBottomItem2";
|
import BorderBottomItem2 from "@/components/borderBottomItem2";
|
||||||
import ButtonBackHeader from "@/components/buttonBackHeader";
|
|
||||||
import HeaderRightDiscussionDetail from "@/components/discussion/headerDiscussionDetail";
|
import HeaderRightDiscussionDetail from "@/components/discussion/headerDiscussionDetail";
|
||||||
import DrawerBottom from "@/components/drawerBottom";
|
import DrawerBottom from "@/components/drawerBottom";
|
||||||
import ImageUser from "@/components/imageNew";
|
import ImageUser from "@/components/imageNew";
|
||||||
@@ -272,23 +272,38 @@ export default function DiscussionDetail() {
|
|||||||
<>
|
<>
|
||||||
<Stack.Screen
|
<Stack.Screen
|
||||||
options={{
|
options={{
|
||||||
headerLeft: () => (
|
// headerLeft: () => (
|
||||||
<ButtonBackHeader
|
// <ButtonBackHeader
|
||||||
onPress={() => {
|
// onPress={() => {
|
||||||
router.back();
|
// router.back();
|
||||||
}}
|
// }}
|
||||||
/>
|
// />
|
||||||
),
|
// ),
|
||||||
headerTitle: "Diskusi",
|
headerTitle: "Diskusi",
|
||||||
headerTitleAlign: "center",
|
headerTitleAlign: "center",
|
||||||
headerRight: () =>
|
// headerRight: () =>
|
||||||
(entityUser.role != "user" && entityUser.role != "coadmin") || isAdminDivision || isCreator ?
|
// (entityUser.role != "user" && entityUser.role != "coadmin") || isAdminDivision || isCreator ?
|
||||||
<HeaderRightDiscussionDetail
|
// <HeaderRightDiscussionDetail
|
||||||
id={detail}
|
// id={detail}
|
||||||
status={data?.status}
|
// status={data?.status}
|
||||||
isActive={data?.isActive}
|
// isActive={data?.isActive}
|
||||||
/> : (<></>)
|
// /> : (<></>)
|
||||||
,
|
// ,
|
||||||
|
header: () => (
|
||||||
|
<AppHeader
|
||||||
|
title="Diskusi"
|
||||||
|
showBack={true}
|
||||||
|
onPressLeft={() => router.back()}
|
||||||
|
right={
|
||||||
|
(entityUser.role != "user" && entityUser.role != "coadmin") || isAdminDivision || isCreator ?
|
||||||
|
<HeaderRightDiscussionDetail
|
||||||
|
id={detail}
|
||||||
|
status={data?.status}
|
||||||
|
isActive={data?.isActive}
|
||||||
|
/> : (<></>)
|
||||||
|
}
|
||||||
|
/>
|
||||||
|
)
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
<View style={{ flex: 1 }}>
|
<View style={{ flex: 1 }}>
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
|
import AppHeader from "@/components/AppHeader"
|
||||||
import BorderBottomItem from "@/components/borderBottomItem"
|
import BorderBottomItem from "@/components/borderBottomItem"
|
||||||
import ButtonBackHeader from "@/components/buttonBackHeader"
|
|
||||||
import ButtonSaveHeader from "@/components/buttonSaveHeader"
|
import ButtonSaveHeader from "@/components/buttonSaveHeader"
|
||||||
import ButtonSelect from "@/components/buttonSelect"
|
import ButtonSelect from "@/components/buttonSelect"
|
||||||
import DrawerBottom from "@/components/drawerBottom"
|
import DrawerBottom from "@/components/drawerBottom"
|
||||||
@@ -91,15 +91,30 @@ export default function CreateDiscussionDivision() {
|
|||||||
<SafeAreaView>
|
<SafeAreaView>
|
||||||
<Stack.Screen
|
<Stack.Screen
|
||||||
options={{
|
options={{
|
||||||
headerLeft: () => <ButtonBackHeader onPress={() => { router.back() }} />,
|
// headerLeft: () => <ButtonBackHeader onPress={() => { router.back() }} />,
|
||||||
headerTitle: 'Tambah Diskusi',
|
headerTitle: 'Tambah Diskusi',
|
||||||
headerTitleAlign: 'center',
|
headerTitleAlign: 'center',
|
||||||
headerRight: () => <ButtonSaveHeader
|
// headerRight: () => <ButtonSaveHeader
|
||||||
disable={desc == "" || loading}
|
// disable={desc == "" || loading}
|
||||||
category="create"
|
// category="create"
|
||||||
onPress={() => {
|
// onPress={() => {
|
||||||
handleCreate()
|
// handleCreate()
|
||||||
}} />
|
// }} />
|
||||||
|
header: () => (
|
||||||
|
<AppHeader
|
||||||
|
title="Tambah Diskusi"
|
||||||
|
showBack={true}
|
||||||
|
onPressLeft={() => router.back()}
|
||||||
|
right={
|
||||||
|
<ButtonSaveHeader
|
||||||
|
disable={desc == "" || loading}
|
||||||
|
category="create"
|
||||||
|
onPress={() => {
|
||||||
|
handleCreate()
|
||||||
|
}} />
|
||||||
|
}
|
||||||
|
/>
|
||||||
|
)
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
<LoadingOverlay visible={loading} />
|
<LoadingOverlay visible={loading} />
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import AlertKonfirmasi from "@/components/alertKonfirmasi";
|
import AlertKonfirmasi from "@/components/alertKonfirmasi";
|
||||||
import ButtonBackHeader from "@/components/buttonBackHeader";
|
import AppHeader from "@/components/AppHeader";
|
||||||
import { ButtonHeader } from "@/components/buttonHeader";
|
import { ButtonHeader } from "@/components/buttonHeader";
|
||||||
import HeaderRightDocument from "@/components/document/headerDocument";
|
import HeaderRightDocument from "@/components/document/headerDocument";
|
||||||
import ItemFile from "@/components/document/itemFile";
|
import ItemFile from "@/components/document/itemFile";
|
||||||
@@ -337,39 +337,74 @@ export default function DocumentDivision() {
|
|||||||
<SafeAreaView>
|
<SafeAreaView>
|
||||||
<Stack.Screen
|
<Stack.Screen
|
||||||
options={{
|
options={{
|
||||||
headerLeft: () =>
|
// headerLeft: () =>
|
||||||
selectedFiles.length > 0 || dariSelectAll ? (
|
// selectedFiles.length > 0 || dariSelectAll ? (
|
||||||
<ButtonHeader
|
// <ButtonHeader
|
||||||
item={<MaterialIcons name="close" size={20} color="white" />}
|
// item={<MaterialIcons name="close" size={20} color="white" />}
|
||||||
onPress={() => {
|
// onPress={() => {
|
||||||
handleBatal();
|
// handleBatal();
|
||||||
}}
|
// }}
|
||||||
/>
|
// />
|
||||||
) : (
|
// ) : (
|
||||||
<ButtonBackHeader
|
// <ButtonBackHeader
|
||||||
onPress={() => {
|
// onPress={() => {
|
||||||
router.back();
|
// router.back();
|
||||||
}}
|
// }}
|
||||||
/>
|
// />
|
||||||
),
|
// ),
|
||||||
headerTitle:
|
headerTitle:
|
||||||
selectedFiles.length > 0 || dariSelectAll
|
selectedFiles.length > 0 || dariSelectAll
|
||||||
? `${selectedFiles.length} item terpilih`
|
? `${selectedFiles.length} item terpilih`
|
||||||
: "Dokumen Divisi",
|
: "Dokumen Divisi",
|
||||||
headerTitleAlign: "center",
|
headerTitleAlign: "center",
|
||||||
headerRight: () =>
|
// headerRight: () =>
|
||||||
selectedFiles.length > 0 || dariSelectAll ? (
|
// selectedFiles.length > 0 || dariSelectAll ? (
|
||||||
<ButtonHeader
|
// <ButtonHeader
|
||||||
item={
|
// item={
|
||||||
<MaterialIcons name="checklist-rtl" size={20} color="white" />
|
// <MaterialIcons name="checklist-rtl" size={20} color="white" />
|
||||||
}
|
// }
|
||||||
onPress={() => {
|
// onPress={() => {
|
||||||
handleSelectAll();
|
// handleSelectAll();
|
||||||
}}
|
// }}
|
||||||
/>
|
// />
|
||||||
) : (
|
// ) : (
|
||||||
<HeaderRightDocument path={path} isMember={isMemberDivision} />
|
// <HeaderRightDocument path={path} isMember={isMemberDivision} />
|
||||||
),
|
// ),
|
||||||
|
header: () => (
|
||||||
|
<AppHeader
|
||||||
|
title={
|
||||||
|
selectedFiles.length > 0 || dariSelectAll
|
||||||
|
? `${selectedFiles.length} item terpilih`
|
||||||
|
: "Dokumen Divisi"
|
||||||
|
}
|
||||||
|
showBack={(selectedFiles.length > 0 || dariSelectAll) ? false : true}
|
||||||
|
left={
|
||||||
|
<ButtonHeader
|
||||||
|
item={<MaterialIcons name="close" size={20} color="white" />}
|
||||||
|
onPress={() => {
|
||||||
|
handleBatal();
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
}
|
||||||
|
onPressLeft={() => {
|
||||||
|
(selectedFiles.length > 0 || dariSelectAll) ? handleBatal() : router.back();
|
||||||
|
}}
|
||||||
|
right={
|
||||||
|
selectedFiles.length > 0 || dariSelectAll ? (
|
||||||
|
<ButtonHeader
|
||||||
|
item={
|
||||||
|
<MaterialIcons name="checklist-rtl" size={20} color="white" />
|
||||||
|
}
|
||||||
|
onPress={() => {
|
||||||
|
handleSelectAll();
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
) : (
|
||||||
|
<HeaderRightDocument path={path} isMember={isMemberDivision} />
|
||||||
|
)
|
||||||
|
}
|
||||||
|
/>
|
||||||
|
)
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
<ModalLoading isVisible={loadingOpen} setVisible={setLoadingOpen} />
|
<ModalLoading isVisible={loadingOpen} setVisible={setLoadingOpen} />
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
|
import AppHeader from "@/components/AppHeader";
|
||||||
import BorderBottomItem from "@/components/borderBottomItem";
|
import BorderBottomItem from "@/components/borderBottomItem";
|
||||||
import ButtonBackHeader from "@/components/buttonBackHeader";
|
|
||||||
import ButtonSaveHeader from "@/components/buttonSaveHeader";
|
import ButtonSaveHeader from "@/components/buttonSaveHeader";
|
||||||
import ButtonSelect from "@/components/buttonSelect";
|
import ButtonSelect from "@/components/buttonSelect";
|
||||||
import DrawerBottom from "@/components/drawerBottom";
|
import DrawerBottom from "@/components/drawerBottom";
|
||||||
@@ -130,22 +130,36 @@ export default function TaskDivisionAddFile() {
|
|||||||
<SafeAreaView>
|
<SafeAreaView>
|
||||||
<Stack.Screen
|
<Stack.Screen
|
||||||
options={{
|
options={{
|
||||||
headerLeft: () => (
|
// headerLeft: () => (
|
||||||
<ButtonBackHeader
|
// <ButtonBackHeader
|
||||||
onPress={() => {
|
// onPress={() => {
|
||||||
router.back();
|
// router.back();
|
||||||
}}
|
// }}
|
||||||
/>
|
// />
|
||||||
),
|
// ),
|
||||||
headerTitle: "Tambah File",
|
headerTitle: "Tambah File",
|
||||||
headerTitleAlign: "center",
|
headerTitleAlign: "center",
|
||||||
headerRight: () => (
|
// headerRight: () => (
|
||||||
<ButtonSaveHeader
|
// <ButtonSaveHeader
|
||||||
category="create"
|
// category="create"
|
||||||
disable={fileForm.length == 0 || loading ? true : false}
|
// disable={fileForm.length == 0 || loading ? true : false}
|
||||||
onPress={() => { handleAddFile() }}
|
// onPress={() => { handleAddFile() }}
|
||||||
|
// />
|
||||||
|
// ),
|
||||||
|
header: () => (
|
||||||
|
<AppHeader
|
||||||
|
title="Tambah File"
|
||||||
|
showBack={true}
|
||||||
|
onPressLeft={() => router.back()}
|
||||||
|
right={
|
||||||
|
<ButtonSaveHeader
|
||||||
|
category="create"
|
||||||
|
disable={fileForm.length == 0 || loading ? true : false}
|
||||||
|
onPress={() => { handleAddFile() }}
|
||||||
|
/>
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
),
|
)
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
<ScrollView>
|
<ScrollView>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import ButtonBackHeader from "@/components/buttonBackHeader";
|
import AppHeader from "@/components/AppHeader";
|
||||||
import ButtonSaveHeader from "@/components/buttonSaveHeader";
|
import ButtonSaveHeader from "@/components/buttonSaveHeader";
|
||||||
import ImageUser from "@/components/imageNew";
|
import ImageUser from "@/components/imageNew";
|
||||||
import ImageWithLabel from "@/components/imageWithLabel";
|
import ImageWithLabel from "@/components/imageWithLabel";
|
||||||
@@ -97,16 +97,32 @@ export default function AddMemberTask() {
|
|||||||
<>
|
<>
|
||||||
<Stack.Screen
|
<Stack.Screen
|
||||||
options={{
|
options={{
|
||||||
headerLeft: () => <ButtonBackHeader onPress={() => { router.back() }} />,
|
// headerLeft: () => <ButtonBackHeader onPress={() => { router.back() }} />,
|
||||||
headerTitle: 'Tambah Anggota Kegiatan',
|
headerTitle: 'Tambah Anggota Kegiatan',
|
||||||
headerTitleAlign: 'center',
|
headerTitleAlign: 'center',
|
||||||
headerRight: () => (
|
// headerRight: () => (
|
||||||
<ButtonSaveHeader
|
// <ButtonSaveHeader
|
||||||
category="update"
|
// category="update"
|
||||||
disable={selectMember.length == 0 || loading ? true : false}
|
// disable={selectMember.length == 0 || loading ? true : false}
|
||||||
onPress={() => {
|
// onPress={() => {
|
||||||
handleAddMember()
|
// handleAddMember()
|
||||||
}}
|
// }}
|
||||||
|
// />
|
||||||
|
// )
|
||||||
|
header: () => (
|
||||||
|
<AppHeader
|
||||||
|
title="Tambah Anggota Kegiatan"
|
||||||
|
showBack={true}
|
||||||
|
onPressLeft={() => router.back()}
|
||||||
|
right={
|
||||||
|
<ButtonSaveHeader
|
||||||
|
category="update"
|
||||||
|
disable={selectMember.length == 0 || loading ? true : false}
|
||||||
|
onPress={() => {
|
||||||
|
handleAddMember()
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
)
|
)
|
||||||
}}
|
}}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import ButtonBackHeader from "@/components/buttonBackHeader";
|
import AppHeader from "@/components/AppHeader";
|
||||||
import ButtonSaveHeader from "@/components/buttonSaveHeader";
|
import ButtonSaveHeader from "@/components/buttonSaveHeader";
|
||||||
import { InputForm } from "@/components/inputForm";
|
import { InputForm } from "@/components/inputForm";
|
||||||
import ModalAddDetailTugasTask from "@/components/task/modalAddDetailTugasTask";
|
import ModalAddDetailTugasTask from "@/components/task/modalAddDetailTugasTask";
|
||||||
@@ -141,24 +141,40 @@ export default function TaskDivisionAddTask() {
|
|||||||
<SafeAreaView>
|
<SafeAreaView>
|
||||||
<Stack.Screen
|
<Stack.Screen
|
||||||
options={{
|
options={{
|
||||||
headerLeft: () => (
|
// headerLeft: () => (
|
||||||
<ButtonBackHeader
|
// <ButtonBackHeader
|
||||||
onPress={() => {
|
// onPress={() => {
|
||||||
router.back();
|
// router.back();
|
||||||
}}
|
// }}
|
||||||
/>
|
// />
|
||||||
),
|
// ),
|
||||||
headerTitle: "Tambah Tugas",
|
headerTitle: "Tambah Tugas",
|
||||||
headerTitleAlign: "center",
|
headerTitleAlign: "center",
|
||||||
headerRight: () => (
|
// headerRight: () => (
|
||||||
<ButtonSaveHeader
|
// <ButtonSaveHeader
|
||||||
category="create"
|
// category="create"
|
||||||
disable={disable || loading}
|
// disable={disable || loading}
|
||||||
onPress={() => {
|
// onPress={() => {
|
||||||
handleCreate();
|
// handleCreate();
|
||||||
}}
|
// }}
|
||||||
|
// />
|
||||||
|
// ),
|
||||||
|
header: () => (
|
||||||
|
<AppHeader
|
||||||
|
title="Tambah Tugas"
|
||||||
|
showBack={true}
|
||||||
|
onPressLeft={() => router.back()}
|
||||||
|
right={
|
||||||
|
<ButtonSaveHeader
|
||||||
|
category="create"
|
||||||
|
disable={disable || loading}
|
||||||
|
onPress={() => {
|
||||||
|
handleCreate();
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
),
|
)
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
<KeyboardAvoidingView
|
<KeyboardAvoidingView
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import ButtonBackHeader from "@/components/buttonBackHeader";
|
import AppHeader from "@/components/AppHeader";
|
||||||
import ButtonSaveHeader from "@/components/buttonSaveHeader";
|
import ButtonSaveHeader from "@/components/buttonSaveHeader";
|
||||||
import { InputForm } from "@/components/inputForm";
|
import { InputForm } from "@/components/inputForm";
|
||||||
import Styles from "@/constants/Styles";
|
import Styles from "@/constants/Styles";
|
||||||
@@ -72,24 +72,40 @@ export default function TaskDivisionCancel() {
|
|||||||
<SafeAreaView>
|
<SafeAreaView>
|
||||||
<Stack.Screen
|
<Stack.Screen
|
||||||
options={{
|
options={{
|
||||||
headerLeft: () => (
|
// headerLeft: () => (
|
||||||
<ButtonBackHeader
|
// <ButtonBackHeader
|
||||||
onPress={() => {
|
// onPress={() => {
|
||||||
router.back();
|
// router.back();
|
||||||
}}
|
// }}
|
||||||
/>
|
// />
|
||||||
),
|
// ),
|
||||||
headerTitle: "Pembatalan Tugas",
|
headerTitle: "Pembatalan Tugas",
|
||||||
headerTitleAlign: "center",
|
headerTitleAlign: "center",
|
||||||
headerRight: () => (
|
// headerRight: () => (
|
||||||
<ButtonSaveHeader
|
// <ButtonSaveHeader
|
||||||
disable={disable || loading}
|
// disable={disable || loading}
|
||||||
category="cancel"
|
// category="cancel"
|
||||||
onPress={() => {
|
// onPress={() => {
|
||||||
handleCancel();
|
// handleCancel();
|
||||||
}}
|
// }}
|
||||||
|
// />
|
||||||
|
// ),
|
||||||
|
header: () => (
|
||||||
|
<AppHeader
|
||||||
|
title="Pembatalan Tugas"
|
||||||
|
showBack={true}
|
||||||
|
onPressLeft={() => router.back()}
|
||||||
|
right={
|
||||||
|
<ButtonSaveHeader
|
||||||
|
disable={disable || loading}
|
||||||
|
category="cancel"
|
||||||
|
onPress={() => {
|
||||||
|
handleCancel();
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
),
|
)
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
<ScrollView>
|
<ScrollView>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import ButtonBackHeader from "@/components/buttonBackHeader";
|
import AppHeader from "@/components/AppHeader";
|
||||||
import ButtonSaveHeader from "@/components/buttonSaveHeader";
|
import ButtonSaveHeader from "@/components/buttonSaveHeader";
|
||||||
import { InputForm } from "@/components/inputForm";
|
import { InputForm } from "@/components/inputForm";
|
||||||
import Styles from "@/constants/Styles";
|
import Styles from "@/constants/Styles";
|
||||||
@@ -90,22 +90,35 @@ export default function TaskDivisionEdit() {
|
|||||||
<SafeAreaView>
|
<SafeAreaView>
|
||||||
<Stack.Screen
|
<Stack.Screen
|
||||||
options={{
|
options={{
|
||||||
headerLeft: () => (
|
// headerLeft: () => (
|
||||||
<ButtonBackHeader
|
// <ButtonBackHeader
|
||||||
onPress={() => {
|
// onPress={() => {
|
||||||
router.back();
|
// router.back();
|
||||||
}}
|
// }}
|
||||||
/>
|
// />
|
||||||
),
|
// ),
|
||||||
headerTitle: "Edit Judul",
|
headerTitle: "Edit Judul",
|
||||||
headerTitleAlign: "center",
|
headerTitleAlign: "center",
|
||||||
headerRight: () => (
|
// headerRight: () => (
|
||||||
<ButtonSaveHeader
|
// <ButtonSaveHeader
|
||||||
category="update"
|
// category="update"
|
||||||
disable={disable || loading}
|
// disable={disable || loading}
|
||||||
onPress={() => { handleUpdate() }}
|
// onPress={() => { handleUpdate() }}
|
||||||
|
// />
|
||||||
|
// ),
|
||||||
|
header: () => (
|
||||||
|
<AppHeader title="Tambah Kegiatan"
|
||||||
|
showBack={true}
|
||||||
|
onPressLeft={() => router.back()}
|
||||||
|
right={
|
||||||
|
<ButtonSaveHeader
|
||||||
|
category="update"
|
||||||
|
disable={disable || loading}
|
||||||
|
onPress={() => { handleUpdate() }}
|
||||||
|
/>
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
),
|
)
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
<ScrollView>
|
<ScrollView>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import ButtonBackHeader from "@/components/buttonBackHeader";
|
import AppHeader from "@/components/AppHeader";
|
||||||
import SectionCancel from "@/components/sectionCancel";
|
import SectionCancel from "@/components/sectionCancel";
|
||||||
import SectionProgress from "@/components/sectionProgress";
|
import SectionProgress from "@/components/sectionProgress";
|
||||||
import HeaderRightTaskDetail from "@/components/task/headerTaskDetail";
|
import HeaderRightTaskDetail from "@/components/task/headerTaskDetail";
|
||||||
@@ -100,12 +100,24 @@ export default function DetailTaskDivision() {
|
|||||||
<SafeAreaView>
|
<SafeAreaView>
|
||||||
<Stack.Screen
|
<Stack.Screen
|
||||||
options={{
|
options={{
|
||||||
headerLeft: () => <ButtonBackHeader onPress={() => { router.back() }} />,
|
// headerLeft: () => <ButtonBackHeader onPress={() => { router.back() }} />,
|
||||||
headerTitle: loading ? 'Loading... ' : data?.title,
|
headerTitle: loading ? 'Loading... ' : data?.title,
|
||||||
headerTitleAlign: 'center',
|
headerTitleAlign: 'center',
|
||||||
headerRight: () => (entityUser.role == "user" || entityUser.role == "coadmin") && !isMemberDivision
|
// headerRight: () => (entityUser.role == "user" || entityUser.role == "coadmin") && !isMemberDivision
|
||||||
? <></>
|
// ? <></>
|
||||||
: <HeaderRightTaskDetail id={detail} division={id} status={data?.status} isAdminDivision={isAdminDivision} />,
|
// : <HeaderRightTaskDetail id={detail} division={id} status={data?.status} isAdminDivision={isAdminDivision} />,
|
||||||
|
header: () => (
|
||||||
|
<AppHeader
|
||||||
|
title={loading ? 'Loading...' : data ? data?.title : ''}
|
||||||
|
showBack={true}
|
||||||
|
onPressLeft={() => router.back()}
|
||||||
|
right={
|
||||||
|
(entityUser.role == "user" || entityUser.role == "coadmin") && !isMemberDivision
|
||||||
|
? <></>
|
||||||
|
: <HeaderRightTaskDetail id={detail} division={id} status={data?.status} isAdminDivision={isAdminDivision} />
|
||||||
|
}
|
||||||
|
/>
|
||||||
|
)
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
<ScrollView
|
<ScrollView
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import ButtonBackHeader from "@/components/buttonBackHeader";
|
import AppHeader from "@/components/AppHeader";
|
||||||
import ButtonSaveHeader from "@/components/buttonSaveHeader";
|
import ButtonSaveHeader from "@/components/buttonSaveHeader";
|
||||||
import { InputForm } from "@/components/inputForm";
|
import { InputForm } from "@/components/inputForm";
|
||||||
import Styles from "@/constants/Styles";
|
import Styles from "@/constants/Styles";
|
||||||
@@ -90,22 +90,35 @@ export default function TaskDivisionReport() {
|
|||||||
<SafeAreaView>
|
<SafeAreaView>
|
||||||
<Stack.Screen
|
<Stack.Screen
|
||||||
options={{
|
options={{
|
||||||
headerLeft: () => (
|
// headerLeft: () => (
|
||||||
<ButtonBackHeader
|
// <ButtonBackHeader
|
||||||
onPress={() => {
|
// onPress={() => {
|
||||||
router.back();
|
// router.back();
|
||||||
}}
|
// }}
|
||||||
/>
|
// />
|
||||||
),
|
// ),
|
||||||
headerTitle: "Laporan Kegiatan",
|
headerTitle: "Laporan Kegiatan",
|
||||||
headerTitleAlign: "center",
|
headerTitleAlign: "center",
|
||||||
headerRight: () => (
|
// headerRight: () => (
|
||||||
<ButtonSaveHeader
|
// <ButtonSaveHeader
|
||||||
category="update"
|
// category="update"
|
||||||
disable={disable || loading}
|
// disable={disable || loading}
|
||||||
onPress={() => { handleUpdate() }}
|
// onPress={() => { handleUpdate() }}
|
||||||
|
// />
|
||||||
|
// ),
|
||||||
|
header: () => (
|
||||||
|
<AppHeader title="Laporan Kegiatan"
|
||||||
|
showBack={true}
|
||||||
|
onPressLeft={() => router.back()}
|
||||||
|
right={
|
||||||
|
<ButtonSaveHeader
|
||||||
|
category="update"
|
||||||
|
disable={disable || loading}
|
||||||
|
onPress={() => { handleUpdate() }}
|
||||||
|
/>
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
),
|
)
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
<ScrollView>
|
<ScrollView>
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
|
import AppHeader from "@/components/AppHeader";
|
||||||
import BorderBottomItem from "@/components/borderBottomItem";
|
import BorderBottomItem from "@/components/borderBottomItem";
|
||||||
import ButtonBackHeader from "@/components/buttonBackHeader";
|
|
||||||
import ButtonSaveHeader from "@/components/buttonSaveHeader";
|
import ButtonSaveHeader from "@/components/buttonSaveHeader";
|
||||||
import ButtonSelect from "@/components/buttonSelect";
|
import ButtonSelect from "@/components/buttonSelect";
|
||||||
import DrawerBottom from "@/components/drawerBottom";
|
import DrawerBottom from "@/components/drawerBottom";
|
||||||
@@ -116,22 +116,36 @@ export default function CreateTaskDivision() {
|
|||||||
<SafeAreaView>
|
<SafeAreaView>
|
||||||
<Stack.Screen
|
<Stack.Screen
|
||||||
options={{
|
options={{
|
||||||
headerLeft: () => (
|
// headerLeft: () => (
|
||||||
<ButtonBackHeader
|
// <ButtonBackHeader
|
||||||
onPress={() => {
|
// onPress={() => {
|
||||||
handleBack();
|
// handleBack();
|
||||||
}}
|
// }}
|
||||||
/>
|
// />
|
||||||
),
|
// ),
|
||||||
headerTitle: `Tambah Tugas`,
|
headerTitle: `Tambah Tugas`,
|
||||||
headerTitleAlign: "center",
|
headerTitleAlign: "center",
|
||||||
headerRight: () => (
|
// headerRight: () => (
|
||||||
<ButtonSaveHeader
|
// <ButtonSaveHeader
|
||||||
disable={title == "" || entitiesMember.length == 0 || taskCreate.length == 0 || loading}
|
// disable={title == "" || entitiesMember.length == 0 || taskCreate.length == 0 || loading}
|
||||||
category="create"
|
// category="create"
|
||||||
onPress={() => { handleCreate() }}
|
// onPress={() => { handleCreate() }}
|
||||||
|
// />
|
||||||
|
// ),
|
||||||
|
header: () => (
|
||||||
|
<AppHeader
|
||||||
|
title="Tambah Tugas"
|
||||||
|
showBack={true}
|
||||||
|
onPressLeft={() => router.back()}
|
||||||
|
right={
|
||||||
|
<ButtonSaveHeader
|
||||||
|
disable={title == "" || entitiesMember.length == 0 || taskCreate.length == 0 || loading}
|
||||||
|
category="create"
|
||||||
|
onPress={() => { handleCreate() }}
|
||||||
|
/>
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
),
|
)
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
<ScrollView>
|
<ScrollView>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import ButtonBackHeader from "@/components/buttonBackHeader";
|
import AppHeader from "@/components/AppHeader";
|
||||||
import ButtonSaveHeader from "@/components/buttonSaveHeader";
|
import ButtonSaveHeader from "@/components/buttonSaveHeader";
|
||||||
import ImageUser from "@/components/imageNew";
|
import ImageUser from "@/components/imageNew";
|
||||||
import ImageWithLabel from "@/components/imageWithLabel";
|
import ImageWithLabel from "@/components/imageWithLabel";
|
||||||
@@ -67,16 +67,32 @@ export default function AddMemberCreateTask() {
|
|||||||
<>
|
<>
|
||||||
<Stack.Screen
|
<Stack.Screen
|
||||||
options={{
|
options={{
|
||||||
headerLeft: () => <ButtonBackHeader onPress={() => { router.back() }} />,
|
// headerLeft: () => <ButtonBackHeader onPress={() => { router.back() }} />,
|
||||||
headerTitle: 'Pilih Anggota',
|
headerTitle: 'Pilih Anggota',
|
||||||
headerTitleAlign: 'center',
|
headerTitleAlign: 'center',
|
||||||
headerRight: () => (
|
// headerRight: () => (
|
||||||
<ButtonSaveHeader
|
// <ButtonSaveHeader
|
||||||
category="create"
|
// category="create"
|
||||||
disable={selectMember.length > 0 ? false : true}
|
// disable={selectMember.length > 0 ? false : true}
|
||||||
onPress={() => {
|
// onPress={() => {
|
||||||
handleAddMember()
|
// handleAddMember()
|
||||||
}}
|
// }}
|
||||||
|
// />
|
||||||
|
// )
|
||||||
|
header: () => (
|
||||||
|
<AppHeader
|
||||||
|
title="Pilih Anggota"
|
||||||
|
showBack={true}
|
||||||
|
onPressLeft={() => router.back()}
|
||||||
|
right={
|
||||||
|
<ButtonSaveHeader
|
||||||
|
category="create"
|
||||||
|
disable={selectMember.length > 0 ? false : true}
|
||||||
|
onPress={() => {
|
||||||
|
handleAddMember()
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
)
|
)
|
||||||
}}
|
}}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import ButtonBackHeader from "@/components/buttonBackHeader";
|
import AppHeader from "@/components/AppHeader";
|
||||||
import ButtonSaveHeader from "@/components/buttonSaveHeader";
|
import ButtonSaveHeader from "@/components/buttonSaveHeader";
|
||||||
import { InputForm } from "@/components/inputForm";
|
import { InputForm } from "@/components/inputForm";
|
||||||
import ModalAddDetailTugasTask from "@/components/task/modalAddDetailTugasTask";
|
import ModalAddDetailTugasTask from "@/components/task/modalAddDetailTugasTask";
|
||||||
@@ -121,22 +121,35 @@ export default function CreateTaskAddTugas() {
|
|||||||
<SafeAreaView>
|
<SafeAreaView>
|
||||||
<Stack.Screen
|
<Stack.Screen
|
||||||
options={{
|
options={{
|
||||||
headerLeft: () => (
|
// headerLeft: () => (
|
||||||
<ButtonBackHeader
|
// <ButtonBackHeader
|
||||||
onPress={() => {
|
// onPress={() => {
|
||||||
router.back();
|
// router.back();
|
||||||
}}
|
// }}
|
||||||
/>
|
// />
|
||||||
),
|
// ),
|
||||||
headerTitle: "Tambah Tugas",
|
headerTitle: "Tambah Tugas",
|
||||||
headerTitleAlign: "center",
|
headerTitleAlign: "center",
|
||||||
headerRight: () => (
|
// headerRight: () => (
|
||||||
<ButtonSaveHeader
|
// <ButtonSaveHeader
|
||||||
disable={disable}
|
// disable={disable}
|
||||||
category="create"
|
// category="create"
|
||||||
onPress={() => { handleCreate() }}
|
// onPress={() => { handleCreate() }}
|
||||||
|
// />
|
||||||
|
// ),
|
||||||
|
header: () => (
|
||||||
|
<AppHeader title="Tambah Tugas"
|
||||||
|
showBack={true}
|
||||||
|
onPressLeft={() => router.back()}
|
||||||
|
right={
|
||||||
|
<ButtonSaveHeader
|
||||||
|
disable={disable}
|
||||||
|
category="create"
|
||||||
|
onPress={() => { handleCreate() }}
|
||||||
|
/>
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
),
|
)
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
<KeyboardAvoidingView
|
<KeyboardAvoidingView
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import ButtonBackHeader from "@/components/buttonBackHeader";
|
import AppHeader from "@/components/AppHeader";
|
||||||
import ButtonSaveHeader from "@/components/buttonSaveHeader";
|
import ButtonSaveHeader from "@/components/buttonSaveHeader";
|
||||||
import { InputForm } from "@/components/inputForm";
|
import { InputForm } from "@/components/inputForm";
|
||||||
import ModalAddDetailTugasTask from "@/components/task/modalAddDetailTugasTask";
|
import ModalAddDetailTugasTask from "@/components/task/modalAddDetailTugasTask";
|
||||||
@@ -189,24 +189,40 @@ export default function UpdateProjectTaskDivision() {
|
|||||||
<SafeAreaView>
|
<SafeAreaView>
|
||||||
<Stack.Screen
|
<Stack.Screen
|
||||||
options={{
|
options={{
|
||||||
headerLeft: () => (
|
// headerLeft: () => (
|
||||||
<ButtonBackHeader
|
// <ButtonBackHeader
|
||||||
onPress={() => {
|
// onPress={() => {
|
||||||
router.back();
|
// router.back();
|
||||||
}}
|
// }}
|
||||||
/>
|
// />
|
||||||
),
|
// ),
|
||||||
headerTitle: "Edit Tanggal dan Tugas",
|
headerTitle: "Edit Tanggal dan Tugas",
|
||||||
headerTitleAlign: "center",
|
headerTitleAlign: "center",
|
||||||
headerRight: () => (
|
// headerRight: () => (
|
||||||
<ButtonSaveHeader
|
// <ButtonSaveHeader
|
||||||
disable={disableBtn || loadingSubmit}
|
// disable={disableBtn || loadingSubmit}
|
||||||
category="update"
|
// category="update"
|
||||||
onPress={() => {
|
// onPress={() => {
|
||||||
handleEdit()
|
// handleEdit()
|
||||||
}}
|
// }}
|
||||||
|
// />
|
||||||
|
// ),
|
||||||
|
header: () => (
|
||||||
|
<AppHeader
|
||||||
|
title="Edit Tanggal dan Tugas"
|
||||||
|
showBack={true}
|
||||||
|
onPressLeft={() => router.back()}
|
||||||
|
right={
|
||||||
|
<ButtonSaveHeader
|
||||||
|
disable={disableBtn || loadingSubmit}
|
||||||
|
category="update"
|
||||||
|
onPress={() => {
|
||||||
|
handleEdit()
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
),
|
)
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
<KeyboardAvoidingView
|
<KeyboardAvoidingView
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import ButtonBackHeader from "@/components/buttonBackHeader";
|
import AppHeader from "@/components/AppHeader";
|
||||||
import ButtonSaveHeader from "@/components/buttonSaveHeader";
|
import ButtonSaveHeader from "@/components/buttonSaveHeader";
|
||||||
import ImageUser from "@/components/imageNew";
|
import ImageUser from "@/components/imageNew";
|
||||||
import ImageWithLabel from "@/components/imageWithLabel";
|
import ImageWithLabel from "@/components/imageWithLabel";
|
||||||
@@ -12,7 +12,7 @@ import { useAuthSession } from "@/providers/AuthProvider";
|
|||||||
import { AntDesign } from "@expo/vector-icons";
|
import { AntDesign } from "@expo/vector-icons";
|
||||||
import { router, Stack, useLocalSearchParams } from "expo-router";
|
import { router, Stack, useLocalSearchParams } from "expo-router";
|
||||||
import { useEffect, useState } from "react";
|
import { useEffect, useState } from "react";
|
||||||
import { Pressable, SafeAreaView, ScrollView, View } from "react-native";
|
import { Pressable, ScrollView, View } from "react-native";
|
||||||
import Toast from "react-native-toast-message";
|
import Toast from "react-native-toast-message";
|
||||||
import { useDispatch, useSelector } from "react-redux";
|
import { useDispatch, useSelector } from "react-redux";
|
||||||
|
|
||||||
@@ -100,16 +100,32 @@ export default function AddMemberDivision() {
|
|||||||
<>
|
<>
|
||||||
<Stack.Screen
|
<Stack.Screen
|
||||||
options={{
|
options={{
|
||||||
headerLeft: () => <ButtonBackHeader onPress={() => { router.back() }} />,
|
// headerLeft: () => <ButtonBackHeader onPress={() => { router.back() }} />,
|
||||||
headerTitle: 'Tambah Anggota',
|
headerTitle: 'Tambah Anggota',
|
||||||
headerTitleAlign: 'center',
|
headerTitleAlign: 'center',
|
||||||
headerRight: () => (
|
// headerRight: () => (
|
||||||
<ButtonSaveHeader
|
// <ButtonSaveHeader
|
||||||
category="update"
|
// category="update"
|
||||||
disable={selectMember.length == 0 || loading ? true : false}
|
// disable={selectMember.length == 0 || loading ? true : false}
|
||||||
onPress={() => {
|
// onPress={() => {
|
||||||
handleAddMember()
|
// handleAddMember()
|
||||||
}}
|
// }}
|
||||||
|
// />
|
||||||
|
// )
|
||||||
|
header: () => (
|
||||||
|
<AppHeader
|
||||||
|
title="Tambah Anggota"
|
||||||
|
showBack={true}
|
||||||
|
onPressLeft={() => router.back()}
|
||||||
|
right={
|
||||||
|
<ButtonSaveHeader
|
||||||
|
category="update"
|
||||||
|
disable={selectMember.length == 0 || loading ? true : false}
|
||||||
|
onPress={() => {
|
||||||
|
handleAddMember()
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
)
|
)
|
||||||
}}
|
}}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import ButtonBackHeader from "@/components/buttonBackHeader";
|
import AppHeader from "@/components/AppHeader";
|
||||||
import ButtonSaveHeader from "@/components/buttonSaveHeader";
|
import ButtonSaveHeader from "@/components/buttonSaveHeader";
|
||||||
import { InputForm } from "@/components/inputForm";
|
import { InputForm } from "@/components/inputForm";
|
||||||
import Styles from "@/constants/Styles";
|
import Styles from "@/constants/Styles";
|
||||||
@@ -66,22 +66,36 @@ export default function EditDivision() {
|
|||||||
<SafeAreaView>
|
<SafeAreaView>
|
||||||
<Stack.Screen
|
<Stack.Screen
|
||||||
options={{
|
options={{
|
||||||
headerLeft: () => (
|
// headerLeft: () => (
|
||||||
<ButtonBackHeader
|
// <ButtonBackHeader
|
||||||
onPress={() => {
|
// onPress={() => {
|
||||||
router.back();
|
// router.back();
|
||||||
}}
|
// }}
|
||||||
/>
|
// />
|
||||||
),
|
// ),
|
||||||
headerTitle: "Edit Divisi",
|
headerTitle: "Edit Divisi",
|
||||||
headerTitleAlign: "center",
|
headerTitleAlign: "center",
|
||||||
headerRight: () => (
|
// headerRight: () => (
|
||||||
<ButtonSaveHeader
|
// <ButtonSaveHeader
|
||||||
disable={error.name || loading ? true : false}
|
// disable={error.name || loading ? true : false}
|
||||||
category="update"
|
// category="update"
|
||||||
onPress={() => { handleEdit() }}
|
// onPress={() => { handleEdit() }}
|
||||||
|
// />
|
||||||
|
// ),
|
||||||
|
header: () => (
|
||||||
|
<AppHeader
|
||||||
|
title="Edit Divisi"
|
||||||
|
showBack={true}
|
||||||
|
onPressLeft={() => router.back()}
|
||||||
|
right={
|
||||||
|
<ButtonSaveHeader
|
||||||
|
disable={error.name || loading ? true : false}
|
||||||
|
category="update"
|
||||||
|
onPress={() => { handleEdit() }}
|
||||||
|
/>
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
),
|
)
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
<ScrollView>
|
<ScrollView>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import ButtonBackHeader from "@/components/buttonBackHeader"
|
import AppHeader from "@/components/AppHeader"
|
||||||
import DiscussionDivisionDetail from "@/components/division/discussionDivisionDetail"
|
import DiscussionDivisionDetail from "@/components/division/discussionDivisionDetail"
|
||||||
import FileDivisionDetail from "@/components/division/fileDivisionDetail"
|
import FileDivisionDetail from "@/components/division/fileDivisionDetail"
|
||||||
import FiturDivisionDetail from "@/components/division/fiturDivisionDetail"
|
import FiturDivisionDetail from "@/components/division/fiturDivisionDetail"
|
||||||
@@ -57,10 +57,18 @@ export default function DetailDivisionFitur() {
|
|||||||
<SafeAreaView>
|
<SafeAreaView>
|
||||||
<Stack.Screen
|
<Stack.Screen
|
||||||
options={{
|
options={{
|
||||||
headerLeft: () => <ButtonBackHeader onPress={() => { router.back() }} />,
|
// headerLeft: () => <ButtonBackHeader onPress={() => { router.back() }} />,
|
||||||
headerTitle: loading ? 'Loading... ' : data?.name,
|
headerTitle: loading ? 'Loading... ' : data?.name,
|
||||||
headerTitleAlign: 'center',
|
headerTitleAlign: 'center',
|
||||||
headerRight: () => <HeaderRightDivisionDetail id={id} />,
|
// headerRight: () => <HeaderRightDivisionDetail id={id} />,
|
||||||
|
header: () => (
|
||||||
|
<AppHeader
|
||||||
|
title={loading ? 'Loading...' : data?.name || ''}
|
||||||
|
showBack={true}
|
||||||
|
onPressLeft={() => router.back()}
|
||||||
|
right={<HeaderRightDivisionDetail id={id} />}
|
||||||
|
/>
|
||||||
|
)
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
<ScrollView
|
<ScrollView
|
||||||
@@ -74,10 +82,10 @@ export default function DetailDivisionFitur() {
|
|||||||
>
|
>
|
||||||
<CaraouselHome refreshing={refreshing} />
|
<CaraouselHome refreshing={refreshing} />
|
||||||
<View style={[Styles.ph15, Styles.mb100]}>
|
<View style={[Styles.ph15, Styles.mb100]}>
|
||||||
<FiturDivisionDetail refreshing={refreshing}/>
|
<FiturDivisionDetail refreshing={refreshing} />
|
||||||
<TaskDivisionDetail refreshing={refreshing}/>
|
<TaskDivisionDetail refreshing={refreshing} />
|
||||||
<FileDivisionDetail refreshing={refreshing}/>
|
<FileDivisionDetail refreshing={refreshing} />
|
||||||
<DiscussionDivisionDetail refreshing={refreshing}/>
|
<DiscussionDivisionDetail refreshing={refreshing} />
|
||||||
</View>
|
</View>
|
||||||
</ScrollView>
|
</ScrollView>
|
||||||
</SafeAreaView>
|
</SafeAreaView>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import AlertKonfirmasi from "@/components/alertKonfirmasi"
|
import AlertKonfirmasi from "@/components/alertKonfirmasi"
|
||||||
|
import AppHeader from "@/components/AppHeader"
|
||||||
import BorderBottomItem from "@/components/borderBottomItem"
|
import BorderBottomItem from "@/components/borderBottomItem"
|
||||||
import ButtonBackHeader from "@/components/buttonBackHeader"
|
|
||||||
import HeaderRightDivisionInfo from "@/components/division/headerDivisionInfo"
|
import HeaderRightDivisionInfo from "@/components/division/headerDivisionInfo"
|
||||||
import DrawerBottom from "@/components/drawerBottom"
|
import DrawerBottom from "@/components/drawerBottom"
|
||||||
import ImageUser from "@/components/imageNew"
|
import ImageUser from "@/components/imageNew"
|
||||||
@@ -164,10 +164,20 @@ export default function InformationDivision() {
|
|||||||
<SafeAreaView>
|
<SafeAreaView>
|
||||||
<Stack.Screen
|
<Stack.Screen
|
||||||
options={{
|
options={{
|
||||||
headerLeft: () => <ButtonBackHeader onPress={() => { router.back() }} />,
|
// headerLeft: () => <ButtonBackHeader onPress={() => { router.back() }} />,
|
||||||
headerTitle: 'Informasi Divisi',
|
headerTitle: 'Informasi Divisi',
|
||||||
headerTitleAlign: 'center',
|
headerTitleAlign: 'center',
|
||||||
headerRight: () => ((entityUser.role != "user" && entityUser.role != "coadmin") || isAdminDivision) && <HeaderRightDivisionInfo id={id} active={dataDetail?.isActive} />,
|
// headerRight: () => ((entityUser.role != "user" && entityUser.role != "coadmin") || isAdminDivision) && <HeaderRightDivisionInfo id={id} active={dataDetail?.isActive} />,
|
||||||
|
header: () => (
|
||||||
|
<AppHeader
|
||||||
|
title="Informasi Divisi"
|
||||||
|
showBack={true}
|
||||||
|
onPressLeft={() => router.back()}
|
||||||
|
right={
|
||||||
|
((entityUser.role != "user" && entityUser.role != "coadmin") || isAdminDivision) && <HeaderRightDivisionInfo id={id} active={dataDetail?.isActive} />
|
||||||
|
}
|
||||||
|
/>
|
||||||
|
)
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
<ScrollView
|
<ScrollView
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import ButtonBackHeader from "@/components/buttonBackHeader"
|
import AppHeader from "@/components/AppHeader"
|
||||||
import ReportChartDocument from "@/components/division/reportChartDocument"
|
import ReportChartDocument from "@/components/division/reportChartDocument"
|
||||||
import ReportChartEvent from "@/components/division/reportChartEvent"
|
import ReportChartEvent from "@/components/division/reportChartEvent"
|
||||||
import ReportChartProgress from "@/components/division/reportChartProgress"
|
import ReportChartProgress from "@/components/division/reportChartProgress"
|
||||||
@@ -107,9 +107,16 @@ export default function ReportDivision() {
|
|||||||
<SafeAreaView>
|
<SafeAreaView>
|
||||||
<Stack.Screen
|
<Stack.Screen
|
||||||
options={{
|
options={{
|
||||||
headerLeft: () => <ButtonBackHeader onPress={() => { router.back() }} />,
|
// headerLeft: () => <ButtonBackHeader onPress={() => { router.back() }} />,
|
||||||
headerTitle: 'Laporan Divisi',
|
headerTitle: 'Laporan Divisi',
|
||||||
headerTitleAlign: 'center',
|
headerTitleAlign: 'center',
|
||||||
|
header: () => (
|
||||||
|
<AppHeader
|
||||||
|
title="Laporan Divisi"
|
||||||
|
showBack={true}
|
||||||
|
onPressLeft={() => router.back()}
|
||||||
|
/>
|
||||||
|
)
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
<ScrollView>
|
<ScrollView>
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import AlertKonfirmasi from "@/components/alertKonfirmasi";
|
import AlertKonfirmasi from "@/components/alertKonfirmasi";
|
||||||
import ButtonBackHeader from "@/components/buttonBackHeader";
|
import AppHeader from "@/components/AppHeader";
|
||||||
import ButtonNextHeader from "@/components/buttonNextHeader";
|
import ButtonNextHeader from "@/components/buttonNextHeader";
|
||||||
import { InputForm } from "@/components/inputForm";
|
import { InputForm } from "@/components/inputForm";
|
||||||
import ModalSelect from "@/components/modalSelect";
|
import ModalSelect from "@/components/modalSelect";
|
||||||
@@ -102,25 +102,38 @@ export default function CreateDivision() {
|
|||||||
<SafeAreaView>
|
<SafeAreaView>
|
||||||
<Stack.Screen
|
<Stack.Screen
|
||||||
options={{
|
options={{
|
||||||
headerLeft: () => (
|
// headerLeft: () => (
|
||||||
<ButtonBackHeader
|
// <ButtonBackHeader
|
||||||
onPress={() => {
|
// onPress={() => {
|
||||||
router.back();
|
// router.back();
|
||||||
}}
|
// }}
|
||||||
/>
|
// />
|
||||||
),
|
// ),
|
||||||
headerTitle: "Tambah Divisi",
|
headerTitle: "Tambah Divisi",
|
||||||
headerTitleAlign: "center",
|
headerTitleAlign: "center",
|
||||||
headerRight: () => (
|
// headerRight: () => (
|
||||||
<ButtonNextHeader
|
// <ButtonNextHeader
|
||||||
onPress={() => { handleCheckName() }}
|
// onPress={() => { handleCheckName() }}
|
||||||
disable={loadingBtn || error.idGroup || error.name || chooseGroup.val == "" || chooseGroup.val == "null" || dataForm.name == "" || dataForm.name == "null"}
|
// disable={loadingBtn || error.idGroup || error.name || chooseGroup.val == "" || chooseGroup.val == "null" || dataForm.name == "" || dataForm.name == "null"}
|
||||||
|
// />
|
||||||
|
// ),
|
||||||
|
header: () => (
|
||||||
|
<AppHeader title="Tambah Divisi"
|
||||||
|
showBack={true}
|
||||||
|
onPressLeft={() => router.back()}
|
||||||
|
right={<ButtonNextHeader
|
||||||
|
onPress={() => { handleCheckName() }}
|
||||||
|
disable={loadingBtn || error.idGroup || error.name || chooseGroup.val == "" || chooseGroup.val == "null" || dataForm.name == "" || dataForm.name == "null"}
|
||||||
|
/>}
|
||||||
/>
|
/>
|
||||||
),
|
)
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
<ScrollView>
|
<ScrollView
|
||||||
<View style={[Styles.p15, Styles.mb100]}>
|
showsVerticalScrollIndicator={false}
|
||||||
|
style={[Styles.h100]}
|
||||||
|
>
|
||||||
|
<View style={[Styles.p15]}>
|
||||||
{
|
{
|
||||||
(entityUser.role == "supadmin" || entityUser.role == "developer") &&
|
(entityUser.role == "supadmin" || entityUser.role == "developer") &&
|
||||||
(
|
(
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import ButtonBackHeader from "@/components/buttonBackHeader";
|
import AppHeader from "@/components/AppHeader";
|
||||||
import ButtonSaveHeader from "@/components/buttonSaveHeader";
|
import ButtonSaveHeader from "@/components/buttonSaveHeader";
|
||||||
import ImageUser from "@/components/imageNew";
|
import ImageUser from "@/components/imageNew";
|
||||||
import Text from "@/components/Text";
|
import Text from "@/components/Text";
|
||||||
@@ -12,7 +12,7 @@ import { AntDesign } from "@expo/vector-icons";
|
|||||||
import { StackActions, useNavigation } from "@react-navigation/native";
|
import { StackActions, useNavigation } from "@react-navigation/native";
|
||||||
import { router, Stack, useLocalSearchParams } from "expo-router";
|
import { router, Stack, useLocalSearchParams } from "expo-router";
|
||||||
import { useEffect, useState } from "react";
|
import { useEffect, useState } from "react";
|
||||||
import { Pressable, SafeAreaView, ScrollView, View } from "react-native";
|
import { Pressable, ScrollView, View } from "react-native";
|
||||||
import Toast from "react-native-toast-message";
|
import Toast from "react-native-toast-message";
|
||||||
import { useDispatch, useSelector } from "react-redux";
|
import { useDispatch, useSelector } from "react-redux";
|
||||||
|
|
||||||
@@ -77,16 +77,29 @@ export default function CreateDivisionAddAdmin() {
|
|||||||
<>
|
<>
|
||||||
<Stack.Screen
|
<Stack.Screen
|
||||||
options={{
|
options={{
|
||||||
headerLeft: () => <ButtonBackHeader onPress={() => { router.back() }} />,
|
// headerLeft: () => <ButtonBackHeader onPress={() => { router.back() }} />,
|
||||||
headerTitle: 'Pilih Admin Divisi',
|
headerTitle: 'Pilih Admin Divisi',
|
||||||
headerTitleAlign: 'center',
|
headerTitleAlign: 'center',
|
||||||
headerRight: () => (
|
// headerRight: () => (
|
||||||
<ButtonSaveHeader
|
// <ButtonSaveHeader
|
||||||
category="create"
|
// category="create"
|
||||||
disable={selectMember.length == 0 || loading ? true : false}
|
// disable={selectMember.length == 0 || loading ? true : false}
|
||||||
onPress={() => {
|
// onPress={() => {
|
||||||
handleAddMember()
|
// handleAddMember()
|
||||||
}}
|
// }}
|
||||||
|
// />
|
||||||
|
// )
|
||||||
|
header: () => (
|
||||||
|
<AppHeader title="Pilih Admin Divisi"
|
||||||
|
showBack={true}
|
||||||
|
onPressLeft={() => router.back()}
|
||||||
|
right={<ButtonSaveHeader
|
||||||
|
category="create"
|
||||||
|
disable={selectMember.length == 0 || loading ? true : false}
|
||||||
|
onPress={() => {
|
||||||
|
handleAddMember()
|
||||||
|
}}
|
||||||
|
/>}
|
||||||
/>
|
/>
|
||||||
)
|
)
|
||||||
}}
|
}}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import ButtonBackHeader from "@/components/buttonBackHeader";
|
import AppHeader from "@/components/AppHeader";
|
||||||
import ButtonNextHeader from "@/components/buttonNextHeader";
|
import ButtonNextHeader from "@/components/buttonNextHeader";
|
||||||
import ImageUser from "@/components/imageNew";
|
import ImageUser from "@/components/imageNew";
|
||||||
import ImageWithLabel from "@/components/imageWithLabel";
|
import ImageWithLabel from "@/components/imageWithLabel";
|
||||||
@@ -63,13 +63,23 @@ export default function CreateDivisionAddMember() {
|
|||||||
<>
|
<>
|
||||||
<Stack.Screen
|
<Stack.Screen
|
||||||
options={{
|
options={{
|
||||||
headerLeft: () => <ButtonBackHeader onPress={() => { router.back() }} />,
|
// headerLeft: () => <ButtonBackHeader onPress={() => { router.back() }} />,
|
||||||
headerTitle: 'Pilih Anggota',
|
headerTitle: 'Pilih Anggota',
|
||||||
headerTitleAlign: 'center',
|
headerTitleAlign: 'center',
|
||||||
headerRight: () => (
|
// headerRight: () => (
|
||||||
<ButtonNextHeader
|
// <ButtonNextHeader
|
||||||
disable={selectMember.length > 0 ? false : true}
|
// disable={selectMember.length > 0 ? false : true}
|
||||||
onPress={() => { handleAddMember() }}
|
// onPress={() => { handleAddMember() }}
|
||||||
|
// />
|
||||||
|
// )
|
||||||
|
header: () => (
|
||||||
|
<AppHeader title="Pilih Anggota"
|
||||||
|
showBack={true}
|
||||||
|
onPressLeft={() => router.back()}
|
||||||
|
right={<ButtonNextHeader
|
||||||
|
disable={selectMember.length > 0 ? false : true}
|
||||||
|
onPress={() => { handleAddMember() }}
|
||||||
|
/>}
|
||||||
/>
|
/>
|
||||||
)
|
)
|
||||||
}}
|
}}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import ButtonBackHeader from "@/components/buttonBackHeader";
|
import AppHeader from "@/components/AppHeader";
|
||||||
import ReportChartDocument from "@/components/division/reportChartDocument";
|
import ReportChartDocument from "@/components/division/reportChartDocument";
|
||||||
import ReportChartEvent from "@/components/division/reportChartEvent";
|
import ReportChartEvent from "@/components/division/reportChartEvent";
|
||||||
import ReportChartProgress from "@/components/division/reportChartProgress";
|
import ReportChartProgress from "@/components/division/reportChartProgress";
|
||||||
@@ -125,19 +125,28 @@ export default function Report() {
|
|||||||
<SafeAreaView>
|
<SafeAreaView>
|
||||||
<Stack.Screen
|
<Stack.Screen
|
||||||
options={{
|
options={{
|
||||||
headerLeft: () => (
|
// headerLeft: () => (
|
||||||
<ButtonBackHeader
|
// <ButtonBackHeader
|
||||||
onPress={() => {
|
// onPress={() => {
|
||||||
router.back();
|
// router.back();
|
||||||
}}
|
// }}
|
||||||
/>
|
// />
|
||||||
),
|
// ),
|
||||||
headerTitle: "Laporan Divisi",
|
headerTitle: "Laporan Divisi",
|
||||||
headerTitleAlign: "center",
|
headerTitleAlign: "center",
|
||||||
|
header: () => (
|
||||||
|
<AppHeader title="Laporan Divisi"
|
||||||
|
showBack={true}
|
||||||
|
onPressLeft={() => router.back()}
|
||||||
|
/>
|
||||||
|
)
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
<ScrollView>
|
<ScrollView
|
||||||
<View style={[Styles.p15, Styles.mb100]}>
|
showsVerticalScrollIndicator={false}
|
||||||
|
style={[Styles.h100]}
|
||||||
|
>
|
||||||
|
<View style={[Styles.p15, Styles.mb50]}>
|
||||||
<SelectForm
|
<SelectForm
|
||||||
bg="white"
|
bg="white"
|
||||||
label="Lembaga Desa"
|
label="Lembaga Desa"
|
||||||
|
|||||||
@@ -1,17 +1,18 @@
|
|||||||
|
import Styles from '@/constants/Styles';
|
||||||
import { useRouter } from 'expo-router';
|
import { useRouter } from 'expo-router';
|
||||||
import { StyleSheet, Text, View } from 'react-native';
|
import { Text, View } from 'react-native';
|
||||||
import { useSafeAreaInsets } from 'react-native-safe-area-context';
|
import { useSafeAreaInsets } from 'react-native-safe-area-context';
|
||||||
import ButtonBackHeader from './buttonBackHeader';
|
import ButtonBackHeader from './buttonBackHeader';
|
||||||
import Styles from '@/constants/Styles';
|
|
||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
title: string;
|
title: string;
|
||||||
right?: React.ReactNode;
|
right?: React.ReactNode;
|
||||||
showBack?: boolean;
|
showBack?: boolean;
|
||||||
onPressLeft?: () => void
|
onPressLeft?: () => void
|
||||||
|
left?: React.ReactNode
|
||||||
};
|
};
|
||||||
|
|
||||||
export default function AppHeader({ title, right, showBack = true, onPressLeft }: Props) {
|
export default function AppHeader({ title, right, showBack = true, onPressLeft, left }: Props) {
|
||||||
const insets = useSafeAreaInsets();
|
const insets = useSafeAreaInsets();
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
|
|
||||||
@@ -20,9 +21,11 @@ export default function AppHeader({ title, right, showBack = true, onPressLeft }
|
|||||||
<View style={Styles.headerApp}>
|
<View style={Styles.headerApp}>
|
||||||
{showBack ? (
|
{showBack ? (
|
||||||
<ButtonBackHeader onPress={onPressLeft} />
|
<ButtonBackHeader onPress={onPressLeft} />
|
||||||
) : (
|
) :
|
||||||
<View style={Styles.headerSide} />
|
left ? left :
|
||||||
)}
|
(
|
||||||
|
<View style={Styles.headerSide} />
|
||||||
|
)}
|
||||||
|
|
||||||
<Text style={Styles.headerTitle}>{title}</Text>
|
<Text style={Styles.headerTitle}>{title}</Text>
|
||||||
|
|
||||||
|
|||||||
@@ -570,7 +570,8 @@ const Styles = StyleSheet.create({
|
|||||||
paddingVertical: 10,
|
paddingVertical: 10,
|
||||||
position: 'absolute',
|
position: 'absolute',
|
||||||
width: '100%',
|
width: '100%',
|
||||||
bottom: 0
|
bottom: 0,
|
||||||
|
backgroundColor:'black'
|
||||||
},
|
},
|
||||||
animatedView: {
|
animatedView: {
|
||||||
width: '100%',
|
width: '100%',
|
||||||
|
|||||||
Reference in New Issue
Block a user