Merge pull request 'upd: redesign' (#27) from amalia/20-feb-26 into join
Reviewed-on: #27
This commit is contained in:
@@ -4,7 +4,7 @@ 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";
|
||||||
import { InputForm } from "@/components/inputForm";
|
import { InputForm } from "@/components/inputForm";
|
||||||
import LoadingOverlay from "@/components/loadingOverlay";
|
import LoadingCenter from "@/components/loadingCenter";
|
||||||
import MenuItemRow from "@/components/menuItemRow";
|
import MenuItemRow from "@/components/menuItemRow";
|
||||||
import ModalSelectMultiple from "@/components/modalSelectMultiple";
|
import ModalSelectMultiple from "@/components/modalSelectMultiple";
|
||||||
import Text from "@/components/Text";
|
import Text from "@/components/Text";
|
||||||
@@ -174,7 +174,7 @@ export default function CreateAnnouncement() {
|
|||||||
)
|
)
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
<LoadingOverlay visible={loading} />
|
{loading && <LoadingCenter />}
|
||||||
<ScrollView
|
<ScrollView
|
||||||
showsVerticalScrollIndicator={false}
|
showsVerticalScrollIndicator={false}
|
||||||
style={[Styles.h100, { backgroundColor: colors.background }]}
|
style={[Styles.h100, { backgroundColor: colors.background }]}
|
||||||
@@ -205,8 +205,12 @@ export default function CreateAnnouncement() {
|
|||||||
{
|
{
|
||||||
fileForm.length > 0
|
fileForm.length > 0
|
||||||
&&
|
&&
|
||||||
<View style={[Styles.borderAll, Styles.round05, Styles.p10, Styles.mb10, { borderColor: colors.icon + '20' }]}>
|
<>
|
||||||
|
<View style={[Styles.rowSpaceBetween, Styles.mv05]}>
|
||||||
<Text style={[Styles.textDefaultSemiBold]}>File</Text>
|
<Text style={[Styles.textDefaultSemiBold]}>File</Text>
|
||||||
|
<Text style={[Styles.textDefault]}>{fileForm.length} file</Text>
|
||||||
|
</View>
|
||||||
|
<View style={[Styles.borderAll, Styles.round05, Styles.p10, Styles.mb10, { borderColor: colors.icon + '20' }]}>
|
||||||
{
|
{
|
||||||
fileForm.map((item, index) => (
|
fileForm.map((item, index) => (
|
||||||
<BorderBottomItem
|
<BorderBottomItem
|
||||||
@@ -221,6 +225,7 @@ export default function CreateAnnouncement() {
|
|||||||
))
|
))
|
||||||
}
|
}
|
||||||
</View>
|
</View>
|
||||||
|
</>
|
||||||
}
|
}
|
||||||
|
|
||||||
<ButtonSelect
|
<ButtonSelect
|
||||||
@@ -233,6 +238,10 @@ export default function CreateAnnouncement() {
|
|||||||
{
|
{
|
||||||
divisionMember.length > 0
|
divisionMember.length > 0
|
||||||
&&
|
&&
|
||||||
|
<>
|
||||||
|
<View style={[Styles.rowSpaceBetween, Styles.mv05]}>
|
||||||
|
<Text style={[Styles.textDefaultSemiBold]}>Divisi</Text>
|
||||||
|
</View>
|
||||||
<View style={[Styles.borderAll, Styles.round05, Styles.p10, { borderColor: colors.icon + '20' }]}>
|
<View style={[Styles.borderAll, Styles.round05, Styles.p10, { borderColor: colors.icon + '20' }]}>
|
||||||
{
|
{
|
||||||
divisionMember.map((item: { name: any; Division: any }, index: any) => {
|
divisionMember.map((item: { name: any; Division: any }, index: any) => {
|
||||||
@@ -252,6 +261,7 @@ export default function CreateAnnouncement() {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
</View>
|
</View>
|
||||||
|
</>
|
||||||
}
|
}
|
||||||
</View>
|
</View>
|
||||||
</ScrollView>
|
</ScrollView>
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ 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";
|
||||||
import { InputForm } from "@/components/inputForm";
|
import { InputForm } from "@/components/inputForm";
|
||||||
import LoadingOverlay from "@/components/loadingOverlay";
|
import LoadingCenter from "@/components/loadingCenter";
|
||||||
import MenuItemRow from "@/components/menuItemRow";
|
import MenuItemRow from "@/components/menuItemRow";
|
||||||
import ModalSelectMultiple from "@/components/modalSelectMultiple";
|
import ModalSelectMultiple from "@/components/modalSelectMultiple";
|
||||||
import Text from '@/components/Text';
|
import Text from '@/components/Text';
|
||||||
@@ -225,7 +225,7 @@ export default function EditAnnouncement() {
|
|||||||
)
|
)
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
<LoadingOverlay visible={loading} />
|
{loading && <LoadingCenter />}
|
||||||
<ScrollView
|
<ScrollView
|
||||||
showsVerticalScrollIndicator={false}
|
showsVerticalScrollIndicator={false}
|
||||||
style={[Styles.h100, { backgroundColor: colors.background }]}
|
style={[Styles.h100, { backgroundColor: colors.background }]}
|
||||||
@@ -258,13 +258,17 @@ export default function EditAnnouncement() {
|
|||||||
{
|
{
|
||||||
(fileForm.length > 0 || dataFile.filter((val) => !val.delete).length > 0)
|
(fileForm.length > 0 || dataFile.filter((val) => !val.delete).length > 0)
|
||||||
&&
|
&&
|
||||||
<View style={[Styles.borderAll, Styles.round05, Styles.p10, Styles.mb10, { borderColor: colors.icon + '20' }]}>
|
<>
|
||||||
|
<View style={[Styles.rowSpaceBetween, Styles.mv05]}>
|
||||||
<Text style={[Styles.textDefaultSemiBold]}>File</Text>
|
<Text style={[Styles.textDefaultSemiBold]}>File</Text>
|
||||||
|
<Text style={[Styles.textDefault]}>{fileForm.length + dataFile.filter((val) => !val.delete).length} file</Text>
|
||||||
|
</View>
|
||||||
|
<View style={[Styles.borderAll, Styles.round05, Styles.p10, Styles.mb10, { borderColor: colors.icon + '20' }]}>
|
||||||
{
|
{
|
||||||
dataFile.filter((val) => !val.delete).map((item, index) => (
|
dataFile.filter((val) => !val.delete).map((item, index) => (
|
||||||
<BorderBottomItem
|
<BorderBottomItem
|
||||||
key={index}
|
key={index}
|
||||||
borderType={(fileForm.length + dataFile.length) > 1 ? "bottom" : "none"}
|
borderType={dataFile.filter((val) => !val.delete).length - 1 == index && fileForm.length == 0 ? "none" : "bottom"}
|
||||||
icon={<MaterialCommunityIcons name="file-outline" size={25} color={colors.text} />}
|
icon={<MaterialCommunityIcons name="file-outline" size={25} color={colors.text} />}
|
||||||
title={item.name + '.' + item.extension}
|
title={item.name + '.' + item.extension}
|
||||||
titleWeight="normal"
|
titleWeight="normal"
|
||||||
@@ -277,7 +281,7 @@ export default function EditAnnouncement() {
|
|||||||
fileForm.map((item, index) => (
|
fileForm.map((item, index) => (
|
||||||
<BorderBottomItem
|
<BorderBottomItem
|
||||||
key={index}
|
key={index}
|
||||||
borderType={(fileForm.length + dataFile.length) > 1 ? "bottom" : "none"}
|
borderType={fileForm.length - 1 == index ? "none" : "bottom"}
|
||||||
icon={<MaterialCommunityIcons name="file-outline" size={25} color={colors.text} />}
|
icon={<MaterialCommunityIcons name="file-outline" size={25} color={colors.text} />}
|
||||||
title={item.name}
|
title={item.name}
|
||||||
titleWeight="normal"
|
titleWeight="normal"
|
||||||
@@ -287,6 +291,7 @@ export default function EditAnnouncement() {
|
|||||||
))
|
))
|
||||||
}
|
}
|
||||||
</View>
|
</View>
|
||||||
|
</>
|
||||||
}
|
}
|
||||||
<ButtonSelect
|
<ButtonSelect
|
||||||
value="Pilih divisi penerima pengumuman"
|
value="Pilih divisi penerima pengumuman"
|
||||||
@@ -297,6 +302,10 @@ export default function EditAnnouncement() {
|
|||||||
{
|
{
|
||||||
dataMember.length > 0
|
dataMember.length > 0
|
||||||
&&
|
&&
|
||||||
|
<>
|
||||||
|
<View style={[Styles.rowSpaceBetween, Styles.mv05]}>
|
||||||
|
<Text style={[Styles.textDefaultSemiBold]}>Divisi</Text>
|
||||||
|
</View>
|
||||||
<View style={[Styles.borderAll, Styles.round05, Styles.p10, { borderColor: colors.icon + '20' }]}>
|
<View style={[Styles.borderAll, Styles.round05, Styles.p10, { borderColor: colors.icon + '20' }]}>
|
||||||
{
|
{
|
||||||
dataMember.map((item: { name: any; Division: any }, index: any) => {
|
dataMember.map((item: { name: any; Division: any }, index: any) => {
|
||||||
@@ -316,6 +325,7 @@ export default function EditAnnouncement() {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
</View>
|
</View>
|
||||||
|
</>
|
||||||
}
|
}
|
||||||
</View>
|
</View>
|
||||||
</ScrollView>
|
</ScrollView>
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import AppHeader from "@/components/AppHeader";
|
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 LoadingCenter from "@/components/loadingCenter";
|
||||||
import Text from "@/components/Text";
|
import Text from "@/components/Text";
|
||||||
import { ConstEnv } from "@/constants/ConstEnv";
|
import { ConstEnv } from "@/constants/ConstEnv";
|
||||||
import Styles from "@/constants/Styles";
|
import Styles from "@/constants/Styles";
|
||||||
@@ -145,6 +146,7 @@ export default function EditBanner() {
|
|||||||
)
|
)
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
|
{loading && <LoadingCenter />}
|
||||||
<ScrollView showsVerticalScrollIndicator={false} style={[Styles.h100, { backgroundColor: colors.background }]}>
|
<ScrollView showsVerticalScrollIndicator={false} style={[Styles.h100, { backgroundColor: colors.background }]}>
|
||||||
<View style={[Styles.p15, Styles.mb100]}>
|
<View style={[Styles.p15, Styles.mb100]}>
|
||||||
<View style={[Styles.mb15]}>
|
<View style={[Styles.mb15]}>
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import AppHeader from "@/components/AppHeader";
|
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 LoadingCenter from "@/components/loadingCenter";
|
||||||
import Text from "@/components/Text";
|
import Text from "@/components/Text";
|
||||||
import Styles from "@/constants/Styles";
|
import Styles from "@/constants/Styles";
|
||||||
import { apiCreateBanner, apiGetBanner } from "@/lib/api";
|
import { apiCreateBanner, apiGetBanner } from "@/lib/api";
|
||||||
@@ -99,24 +100,8 @@ export default function CreateBanner() {
|
|||||||
<SafeAreaView style={[Styles.flex1, { backgroundColor: colors.background }]}>
|
<SafeAreaView style={[Styles.flex1, { backgroundColor: colors.background }]}>
|
||||||
<Stack.Screen
|
<Stack.Screen
|
||||||
options={{
|
options={{
|
||||||
// headerLeft: () => (
|
|
||||||
// <ButtonBackHeader
|
|
||||||
// onPress={() => {
|
|
||||||
// router.back();
|
|
||||||
// }}
|
|
||||||
// />
|
|
||||||
// ),
|
|
||||||
headerTitle: "Tambah Banner",
|
headerTitle: "Tambah Banner",
|
||||||
headerTitleAlign: "center",
|
headerTitleAlign: "center",
|
||||||
// headerRight: () => (
|
|
||||||
// <ButtonSaveHeader
|
|
||||||
// disable={title == "" || selectedImage == undefined || error || loading ? true : false}
|
|
||||||
// category="create"
|
|
||||||
// onPress={() => {
|
|
||||||
// handleCreateEntity();
|
|
||||||
// }}
|
|
||||||
// />
|
|
||||||
// ),
|
|
||||||
header: () => (
|
header: () => (
|
||||||
<AppHeader
|
<AppHeader
|
||||||
title="Fitur"
|
title="Fitur"
|
||||||
@@ -135,6 +120,7 @@ export default function CreateBanner() {
|
|||||||
)
|
)
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
|
{loading && <LoadingCenter />}
|
||||||
<ScrollView showsVerticalScrollIndicator={false} style={[Styles.h100, { backgroundColor: colors.background }]}>
|
<ScrollView showsVerticalScrollIndicator={false} style={[Styles.h100, { backgroundColor: colors.background }]}>
|
||||||
<View style={[Styles.p15]}>
|
<View style={[Styles.p15]}>
|
||||||
<View style={[Styles.mb15]}>
|
<View style={[Styles.mb15]}>
|
||||||
@@ -148,13 +134,13 @@ export default function CreateBanner() {
|
|||||||
) : (
|
) : (
|
||||||
<Pressable
|
<Pressable
|
||||||
onPress={pickImageAsync}
|
onPress={pickImageAsync}
|
||||||
style={[Styles.wrapPaper, Styles.contentItemCenter]}
|
style={[Styles.wrapPaper, Styles.contentItemCenter, Styles.borderAll, { backgroundColor: colors.card, borderColor: colors.icon + '20' }]}
|
||||||
>
|
>
|
||||||
<View
|
<View
|
||||||
style={[Styles.contentItemCenter]}
|
style={[Styles.contentItemCenter]}
|
||||||
>
|
>
|
||||||
<Entypo name="image" size={50} color={"#aeaeae"} />
|
<Entypo name="image" size={50} color={colors.dimmed} />
|
||||||
<Text style={[Styles.textInformation, Styles.mt05]}>
|
<Text style={[Styles.textInformation, Styles.mt05, { color: colors.dimmed }]}>
|
||||||
Mohon unggah gambar dalam resolusi 1650 x 720 pixel untuk
|
Mohon unggah gambar dalam resolusi 1650 x 720 pixel untuk
|
||||||
memastikan
|
memastikan
|
||||||
</Text>
|
</Text>
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import ButtonSelect from "@/components/buttonSelect";
|
|||||||
import DrawerBottom from "@/components/drawerBottom";
|
import DrawerBottom from "@/components/drawerBottom";
|
||||||
import ImageUser from "@/components/imageNew";
|
import ImageUser from "@/components/imageNew";
|
||||||
import { InputForm } from "@/components/inputForm";
|
import { InputForm } from "@/components/inputForm";
|
||||||
import LoadingOverlay from "@/components/loadingOverlay";
|
import LoadingCenter from "@/components/loadingCenter";
|
||||||
import MenuItemRow from "@/components/menuItemRow";
|
import MenuItemRow from "@/components/menuItemRow";
|
||||||
import ModalSelect from "@/components/modalSelect";
|
import ModalSelect from "@/components/modalSelect";
|
||||||
import SelectForm from "@/components/selectForm";
|
import SelectForm from "@/components/selectForm";
|
||||||
@@ -206,7 +206,7 @@ export default function CreateDiscussionGeneral() {
|
|||||||
)
|
)
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
<LoadingOverlay visible={loading} />
|
{loading && <LoadingCenter />}
|
||||||
<ScrollView showsVerticalScrollIndicator={false} style={[Styles.h100, Styles.flex1, { backgroundColor: colors.background }]}>
|
<ScrollView showsVerticalScrollIndicator={false} style={[Styles.h100, Styles.flex1, { backgroundColor: colors.background }]}>
|
||||||
<View style={[Styles.p15, Styles.mb100]}>
|
<View style={[Styles.p15, Styles.mb100]}>
|
||||||
{
|
{
|
||||||
@@ -253,8 +253,12 @@ export default function CreateDiscussionGeneral() {
|
|||||||
{
|
{
|
||||||
fileForm.length > 0
|
fileForm.length > 0
|
||||||
&&
|
&&
|
||||||
<View style={[Styles.borderAll, Styles.round05, Styles.p10, Styles.mb10, { borderColor: colors.icon + '20' }]}>
|
<>
|
||||||
|
<View style={[Styles.rowSpaceBetween, Styles.mv05]}>
|
||||||
<Text style={[Styles.textDefaultSemiBold]}>File</Text>
|
<Text style={[Styles.textDefaultSemiBold]}>File</Text>
|
||||||
|
<Text style={[Styles.textDefault]}>{fileForm.length} file</Text>
|
||||||
|
</View>
|
||||||
|
<View style={[Styles.borderAll, Styles.round05, Styles.p10, Styles.mb10, { borderColor: colors.icon + '20' }]}>
|
||||||
{
|
{
|
||||||
fileForm.map((item, index) => (
|
fileForm.map((item, index) => (
|
||||||
<BorderBottomItem
|
<BorderBottomItem
|
||||||
@@ -269,6 +273,7 @@ export default function CreateDiscussionGeneral() {
|
|||||||
))
|
))
|
||||||
}
|
}
|
||||||
</View>
|
</View>
|
||||||
|
</>
|
||||||
}
|
}
|
||||||
<ButtonSelect
|
<ButtonSelect
|
||||||
value="Pilih Anggota"
|
value="Pilih Anggota"
|
||||||
@@ -293,8 +298,8 @@ export default function CreateDiscussionGeneral() {
|
|||||||
entitiesMember.length > 0 &&
|
entitiesMember.length > 0 &&
|
||||||
<View>
|
<View>
|
||||||
<View style={[Styles.rowSpaceBetween, Styles.mv05]}>
|
<View style={[Styles.rowSpaceBetween, Styles.mv05]}>
|
||||||
<Text>Anggota</Text>
|
<Text style={[Styles.textDefaultSemiBold]}>Anggota</Text>
|
||||||
<Text>Total {entitiesMember.length} Anggota</Text>
|
<Text style={[Styles.textDefault]}>{entitiesMember.length} Anggota</Text>
|
||||||
</View>
|
</View>
|
||||||
|
|
||||||
<View style={[Styles.borderAll, Styles.round05, Styles.p10, { borderColor: colors.icon + '20' }]}>
|
<View style={[Styles.borderAll, Styles.round05, Styles.p10, { borderColor: colors.icon + '20' }]}>
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ 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";
|
||||||
import { InputForm } from "@/components/inputForm";
|
import { InputForm } from "@/components/inputForm";
|
||||||
import LoadingOverlay from "@/components/loadingOverlay";
|
import LoadingCenter from "@/components/loadingCenter";
|
||||||
import MenuItemRow from "@/components/menuItemRow";
|
import MenuItemRow from "@/components/menuItemRow";
|
||||||
import Styles from "@/constants/Styles";
|
import Styles from "@/constants/Styles";
|
||||||
import { apiEditDiscussionGeneral, apiGetDiscussionGeneralOne } from "@/lib/api";
|
import { apiEditDiscussionGeneral, apiGetDiscussionGeneralOne } from "@/lib/api";
|
||||||
@@ -199,7 +199,7 @@ export default function EditDiscussionGeneral() {
|
|||||||
)
|
)
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
<LoadingOverlay visible={loading} />
|
{loading && <LoadingCenter />}
|
||||||
<ScrollView showsVerticalScrollIndicator={false} style={[Styles.h100, Styles.flex1, { backgroundColor: colors.background }]}>
|
<ScrollView showsVerticalScrollIndicator={false} style={[Styles.h100, Styles.flex1, { backgroundColor: colors.background }]}>
|
||||||
<View style={[Styles.p15]}>
|
<View style={[Styles.p15]}>
|
||||||
<InputForm
|
<InputForm
|
||||||
@@ -229,13 +229,17 @@ export default function EditDiscussionGeneral() {
|
|||||||
{
|
{
|
||||||
(fileForm.length > 0 || dataFile.filter((val) => !val.delete).length > 0)
|
(fileForm.length > 0 || dataFile.filter((val) => !val.delete).length > 0)
|
||||||
&&
|
&&
|
||||||
|
<>
|
||||||
|
<View style={[Styles.rowSpaceBetween, Styles.mv05]}>
|
||||||
|
<Text style={[Styles.textDefaultSemiBold]}>File</Text>
|
||||||
|
<Text style={[Styles.textDefault]}>{fileForm.length + dataFile.filter((val) => !val.delete).length} file</Text>
|
||||||
|
</View>
|
||||||
<View style={[Styles.borderAll, Styles.round05, Styles.p10, Styles.mb10, { borderColor: colors.icon + '20' }]}>
|
<View style={[Styles.borderAll, Styles.round05, Styles.p10, Styles.mb10, { borderColor: colors.icon + '20' }]}>
|
||||||
<Text style={[Styles.textDefault]}>File</Text>
|
|
||||||
{
|
{
|
||||||
dataFile.filter((val) => !val.delete).map((item, index) => (
|
dataFile.filter((val) => !val.delete).map((item, index) => (
|
||||||
<BorderBottomItem
|
<BorderBottomItem
|
||||||
key={index}
|
key={index}
|
||||||
borderType={(fileForm.length + dataFile.length) > 1 ? "bottom" : "none"}
|
borderType={dataFile.filter((val) => !val.delete).length - 1 == index && fileForm.length == 0 ? "none" : "bottom"}
|
||||||
icon={<MaterialCommunityIcons name="file-outline" size={25} color={colors.text} />}
|
icon={<MaterialCommunityIcons name="file-outline" size={25} color={colors.text} />}
|
||||||
title={item.name + '.' + item.extension}
|
title={item.name + '.' + item.extension}
|
||||||
titleWeight="normal"
|
titleWeight="normal"
|
||||||
@@ -248,7 +252,7 @@ export default function EditDiscussionGeneral() {
|
|||||||
fileForm.map((item, index) => (
|
fileForm.map((item, index) => (
|
||||||
<BorderBottomItem
|
<BorderBottomItem
|
||||||
key={index}
|
key={index}
|
||||||
borderType={(fileForm.length + dataFile.length) > 1 ? "bottom" : "none"}
|
borderType={fileForm.length - 1 == index ? "none" : "bottom"}
|
||||||
icon={<MaterialCommunityIcons name="file-outline" size={25} color={colors.text} />}
|
icon={<MaterialCommunityIcons name="file-outline" size={25} color={colors.text} />}
|
||||||
title={item.name}
|
title={item.name}
|
||||||
titleWeight="normal"
|
titleWeight="normal"
|
||||||
@@ -258,6 +262,7 @@ export default function EditDiscussionGeneral() {
|
|||||||
))
|
))
|
||||||
}
|
}
|
||||||
</View>
|
</View>
|
||||||
|
</>
|
||||||
}
|
}
|
||||||
</View>
|
</View>
|
||||||
</ScrollView>
|
</ScrollView>
|
||||||
|
|||||||
@@ -169,7 +169,7 @@ export default function AddMemberCalendarEvent() {
|
|||||||
return (
|
return (
|
||||||
<Pressable
|
<Pressable
|
||||||
key={index}
|
key={index}
|
||||||
style={[Styles.itemSelectModal]}
|
style={[Styles.itemSelectModal, {borderColor: colors.icon + '20'}]}
|
||||||
onPress={() => {
|
onPress={() => {
|
||||||
!found && onChoose(item.idUser, item.name, item.img)
|
!found && onChoose(item.idUser, item.name, item.img)
|
||||||
}}
|
}}
|
||||||
|
|||||||
@@ -90,7 +90,7 @@ export default function CalendarHistory() {
|
|||||||
<View style={[{ flex: 1 }]}>
|
<View style={[{ flex: 1 }]}>
|
||||||
<FlatList data={item.data}
|
<FlatList data={item.data}
|
||||||
renderItem={({ item, index }: { item: { title: string, timeStart: string, timeEnd: string }, index: number }) => (
|
renderItem={({ item, index }: { item: { title: string, timeStart: string, timeEnd: string }, index: number }) => (
|
||||||
<View key={index} style={[Styles.mb05, Styles.w80]}>
|
<View key={index} style={[Styles.mb05]}>
|
||||||
<Text style={[Styles.textDefaultSemiBold]} numberOfLines={1} ellipsizeMode="tail">{item.title}</Text>
|
<Text style={[Styles.textDefaultSemiBold]} numberOfLines={1} ellipsizeMode="tail">{item.title}</Text>
|
||||||
<Text style={[Styles.textDefault]}>{item.timeStart} | {item.timeEnd}</Text>
|
<Text style={[Styles.textDefault]}>{item.timeStart} | {item.timeEnd}</Text>
|
||||||
</View>
|
</View>
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ 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";
|
||||||
import { InputForm } from "@/components/inputForm";
|
import { InputForm } from "@/components/inputForm";
|
||||||
import LoadingOverlay from "@/components/loadingOverlay";
|
import LoadingCenter from "@/components/loadingCenter";
|
||||||
import MenuItemRow from "@/components/menuItemRow";
|
import MenuItemRow from "@/components/menuItemRow";
|
||||||
import Text from "@/components/Text";
|
import Text from "@/components/Text";
|
||||||
import Styles from "@/constants/Styles";
|
import Styles from "@/constants/Styles";
|
||||||
@@ -168,7 +168,7 @@ export default function DiscussionDivisionEdit() {
|
|||||||
)
|
)
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
<LoadingOverlay visible={loading} />
|
{loading && <LoadingCenter />}
|
||||||
<ScrollView showsVerticalScrollIndicator={false} style={[Styles.h100]}>
|
<ScrollView showsVerticalScrollIndicator={false} style={[Styles.h100]}>
|
||||||
<View style={[Styles.p15]}>
|
<View style={[Styles.p15]}>
|
||||||
<InputForm
|
<InputForm
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ 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"
|
||||||
import { InputForm } from "@/components/inputForm"
|
import { InputForm } from "@/components/inputForm"
|
||||||
import LoadingOverlay from "@/components/loadingOverlay"
|
import LoadingCenter from "@/components/loadingCenter"
|
||||||
import MenuItemRow from "@/components/menuItemRow"
|
import MenuItemRow from "@/components/menuItemRow"
|
||||||
import Text from "@/components/Text"
|
import Text from "@/components/Text"
|
||||||
import Styles from "@/constants/Styles"
|
import Styles from "@/constants/Styles"
|
||||||
@@ -119,7 +119,7 @@ export default function CreateDiscussionDivision() {
|
|||||||
)
|
)
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
<LoadingOverlay visible={loading} />
|
{loading && <LoadingCenter />}
|
||||||
<ScrollView showsVerticalScrollIndicator={false} style={[Styles.h100]}>
|
<ScrollView showsVerticalScrollIndicator={false} style={[Styles.h100]}>
|
||||||
<View style={[Styles.p15, Styles.mb100]}>
|
<View style={[Styles.p15, Styles.mb100]}>
|
||||||
<InputForm
|
<InputForm
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import AppHeader from "@/components/AppHeader";
|
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 LoadingCenter from "@/components/loadingCenter";
|
||||||
import ModalSelect from "@/components/modalSelect";
|
import ModalSelect from "@/components/modalSelect";
|
||||||
import SelectForm from "@/components/selectForm";
|
import SelectForm from "@/components/selectForm";
|
||||||
import Text from "@/components/Text";
|
import Text from "@/components/Text";
|
||||||
@@ -228,6 +229,7 @@ export default function CreateMember() {
|
|||||||
)
|
)
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
|
{loading && <LoadingCenter />}
|
||||||
<KeyboardAvoidingView
|
<KeyboardAvoidingView
|
||||||
style={[Styles.h100, { backgroundColor: colors.background }]}
|
style={[Styles.h100, { backgroundColor: colors.background }]}
|
||||||
behavior={Platform.OS === 'ios' ? 'padding' : undefined}
|
behavior={Platform.OS === 'ios' ? 'padding' : undefined}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import AppHeader from "@/components/AppHeader";
|
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 LoadingCenter from "@/components/loadingCenter";
|
||||||
import ModalSelect from "@/components/modalSelect";
|
import ModalSelect from "@/components/modalSelect";
|
||||||
import SelectForm from "@/components/selectForm";
|
import SelectForm from "@/components/selectForm";
|
||||||
import Text from "@/components/Text";
|
import Text from "@/components/Text";
|
||||||
@@ -261,7 +262,7 @@ export default function EditMember() {
|
|||||||
)
|
)
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
|
{loading && <LoadingCenter />}
|
||||||
<KeyboardAvoidingView
|
<KeyboardAvoidingView
|
||||||
style={[Styles.h100, { backgroundColor: colors.background }]}
|
style={[Styles.h100, { backgroundColor: colors.background }]}
|
||||||
behavior={Platform.OS === 'ios' ? 'padding' : undefined}
|
behavior={Platform.OS === 'ios' ? 'padding' : undefined}
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ import BorderBottomItem from "@/components/borderBottomItem"
|
|||||||
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"
|
||||||
|
import LoadingCenter from "@/components/loadingCenter"
|
||||||
import MenuItemRow from "@/components/menuItemRow"
|
import MenuItemRow from "@/components/menuItemRow"
|
||||||
import Styles from "@/constants/Styles"
|
import Styles from "@/constants/Styles"
|
||||||
import { apiAddFileProject, apiCheckFileProject } from "@/lib/api"
|
import { apiAddFileProject, apiCheckFileProject } from "@/lib/api"
|
||||||
@@ -155,13 +156,16 @@ export default function ProjectAddFile() {
|
|||||||
)
|
)
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
<ScrollView style={[Styles.h100, { backgroundColor: colors.background }]}>
|
{
|
||||||
<View style={[Styles.p15, Styles.mb100]}>
|
loading && <LoadingCenter size="large" />
|
||||||
|
}
|
||||||
|
<ScrollView style={[Styles.flex1, { backgroundColor: colors.background }]}>
|
||||||
|
<View style={[Styles.p15]}>
|
||||||
<ButtonSelect value="Upload File" onPress={pickDocumentAsync} />
|
<ButtonSelect value="Upload File" onPress={pickDocumentAsync} />
|
||||||
{
|
{
|
||||||
listFile.length > 0 && (
|
listFile.length > 0 && (
|
||||||
<View style={[Styles.mb15]}>
|
<View style={[Styles.mb15]}>
|
||||||
<Text style={[Styles.textDefaultSemiBold, Styles.mv05]}>File</Text>
|
<Text style={[Styles.textDefaultSemiBold, Styles.mv05, { color: colors.text }]}>File</Text>
|
||||||
<View style={[Styles.wrapPaper, { backgroundColor: colors.card, borderColor: colors.background }]}>
|
<View style={[Styles.wrapPaper, { backgroundColor: colors.card, borderColor: colors.background }]}>
|
||||||
{
|
{
|
||||||
listFile.map((item, index) => (
|
listFile.map((item, index) => (
|
||||||
@@ -182,9 +186,6 @@ export default function ProjectAddFile() {
|
|||||||
{
|
{
|
||||||
loadingCheck && <ActivityIndicator size="small" />
|
loadingCheck && <ActivityIndicator size="small" />
|
||||||
}
|
}
|
||||||
{
|
|
||||||
loading && <ActivityIndicator size="large" />
|
|
||||||
}
|
|
||||||
</View>
|
</View>
|
||||||
</ScrollView>
|
</ScrollView>
|
||||||
<DrawerBottom animation="slide" isVisible={isModal} setVisible={setModal} title="Menu">
|
<DrawerBottom animation="slide" isVisible={isModal} setVisible={setModal} title="Menu">
|
||||||
|
|||||||
@@ -100,7 +100,7 @@ export default function AddMemberProject() {
|
|||||||
<Stack.Screen
|
<Stack.Screen
|
||||||
options={{
|
options={{
|
||||||
// headerLeft: () => <ButtonBackHeader onPress={() => { router.back() }} />,
|
// headerLeft: () => <ButtonBackHeader onPress={() => { router.back() }} />,
|
||||||
headerTitle: 'Tambah Anggota Kegiatan',
|
headerTitle: 'Tambah Anggota',
|
||||||
headerTitleAlign: 'center',
|
headerTitleAlign: 'center',
|
||||||
// headerRight: () => (
|
// headerRight: () => (
|
||||||
// <ButtonSaveHeader
|
// <ButtonSaveHeader
|
||||||
@@ -113,7 +113,7 @@ export default function AddMemberProject() {
|
|||||||
// )
|
// )
|
||||||
header: () => (
|
header: () => (
|
||||||
<AppHeader
|
<AppHeader
|
||||||
title="Tambah Anggota Kegiatan"
|
title="Tambah Anggota"
|
||||||
showBack={true}
|
showBack={true}
|
||||||
onPressLeft={() => router.back()}
|
onPressLeft={() => router.back()}
|
||||||
right={
|
right={
|
||||||
@@ -165,7 +165,7 @@ export default function AddMemberProject() {
|
|||||||
return (
|
return (
|
||||||
<Pressable
|
<Pressable
|
||||||
key={index}
|
key={index}
|
||||||
style={[Styles.itemSelectModal]}
|
style={[Styles.itemSelectModal, { borderColor: colors.icon + '20' }]}
|
||||||
onPress={() => {
|
onPress={() => {
|
||||||
!found && onChoose(item.id, item.name, item.img)
|
!found && onChoose(item.id, item.name, item.img)
|
||||||
}}
|
}}
|
||||||
|
|||||||
@@ -197,7 +197,7 @@ export default function ProjectAddTask() {
|
|||||||
/>
|
/>
|
||||||
</View>
|
</View>
|
||||||
<View style={[Styles.mv10]}>
|
<View style={[Styles.mv10]}>
|
||||||
<View style={[Styles.rowSpaceBetween]}>
|
<View style={[Styles.rowSpaceBetween, Styles.mb10]}>
|
||||||
<View style={[Styles.w48]}>
|
<View style={[Styles.w48]}>
|
||||||
<Text style={[Styles.mb05]}>
|
<Text style={[Styles.mb05]}>
|
||||||
Tanggal Mulai <Text style={{ color: colors.error }}>*</Text>
|
Tanggal Mulai <Text style={{ color: colors.error }}>*</Text>
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import ButtonSelect from "@/components/buttonSelect";
|
|||||||
import DrawerBottom from "@/components/drawerBottom";
|
import DrawerBottom from "@/components/drawerBottom";
|
||||||
import ImageUser from "@/components/imageNew";
|
import ImageUser from "@/components/imageNew";
|
||||||
import { InputForm } from "@/components/inputForm";
|
import { InputForm } from "@/components/inputForm";
|
||||||
|
import LoadingCenter from "@/components/loadingCenter";
|
||||||
import MenuItemRow from "@/components/menuItemRow";
|
import MenuItemRow from "@/components/menuItemRow";
|
||||||
import ModalSelect from "@/components/modalSelect";
|
import ModalSelect from "@/components/modalSelect";
|
||||||
import SectionListAddTask from "@/components/project/sectionListAddTask";
|
import SectionListAddTask from "@/components/project/sectionListAddTask";
|
||||||
@@ -230,6 +231,9 @@ export default function CreateProject() {
|
|||||||
)
|
)
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
|
{
|
||||||
|
loading && <LoadingCenter />
|
||||||
|
}
|
||||||
<ScrollView
|
<ScrollView
|
||||||
showsVerticalScrollIndicator={false}
|
showsVerticalScrollIndicator={false}
|
||||||
style={[Styles.h100, { backgroundColor: colors.background }]}
|
style={[Styles.h100, { backgroundColor: colors.background }]}
|
||||||
|
|||||||
@@ -183,7 +183,7 @@ export default function CreateProjectAddTask() {
|
|||||||
/>
|
/>
|
||||||
</View>
|
</View>
|
||||||
<View style={[Styles.mv10]}>
|
<View style={[Styles.mv10]}>
|
||||||
<View style={[Styles.rowSpaceBetween]}>
|
<View style={[Styles.rowSpaceBetween, Styles.mb10]}>
|
||||||
<View style={[{ width: "48%" }]}>
|
<View style={[{ width: "48%" }]}>
|
||||||
<Text style={[Styles.mb05]}>
|
<Text style={[Styles.mb05]}>
|
||||||
Tanggal Mulai <Text style={{ color: colors.error }}>*</Text>
|
Tanggal Mulai <Text style={{ color: colors.error }}>*</Text>
|
||||||
|
|||||||
@@ -233,7 +233,7 @@ export default function UpdateProjectTask() {
|
|||||||
|
|
||||||
</View>
|
</View>
|
||||||
<View style={[Styles.mv10]}>
|
<View style={[Styles.mv10]}>
|
||||||
<View style={[Styles.rowSpaceBetween]}>
|
<View style={[Styles.rowSpaceBetween, Styles.mb10]}>
|
||||||
<View style={[{ width: '48%' }]}>
|
<View style={[{ width: '48%' }]}>
|
||||||
<Text style={[Styles.mb05]}>Tanggal Mulai <Text style={{ color: colors.error }}>*</Text></Text>
|
<Text style={[Styles.mb05]}>Tanggal Mulai <Text style={{ color: colors.error }}>*</Text></Text>
|
||||||
<View style={[Styles.wrapPaper, Styles.noShadow, Styles.borderAll, Styles.p10, { backgroundColor: colors.card, borderColor: colors.icon + '20' }]}>
|
<View style={[Styles.wrapPaper, Styles.noShadow, Styles.borderAll, Styles.p10, { backgroundColor: colors.card, borderColor: colors.icon + '20' }]}>
|
||||||
|
|||||||
@@ -31,15 +31,14 @@ export default function HeaderRightAnnouncementDetail({ id }: Props) {
|
|||||||
const hasil = await decryptToken(String(token?.current))
|
const hasil = await decryptToken(String(token?.current))
|
||||||
const response = await apiDeleteAnnouncement({ user: hasil }, id)
|
const response = await apiDeleteAnnouncement({ user: hasil }, id)
|
||||||
if (response.success) {
|
if (response.success) {
|
||||||
dispatch(setUpdateAnnouncement(!update))
|
|
||||||
setVisible(false)
|
|
||||||
Toast.show({ type: 'small', text1: 'Berhasil menghapus data', })
|
|
||||||
router.back()
|
router.back()
|
||||||
|
dispatch(setUpdateAnnouncement(!update))
|
||||||
|
return Toast.show({ type: 'small', text1: 'Berhasil menghapus data', })
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error(error)
|
console.error(error)
|
||||||
} finally {
|
} finally {
|
||||||
setVisible(false)
|
setShowDeleteModal(false)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ export default function ButtonNextHeader({ onPress, disable }: Props) {
|
|||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<ButtonHeader
|
<ButtonHeader
|
||||||
item={<Feather name="chevron-right" size={20} color={disable ? "grey" : "white"} />}
|
item={<Feather name="chevron-right" size={25} color={disable ? "grey" : "white"} />}
|
||||||
onPress={() => {
|
onPress={() => {
|
||||||
!disable && onPress && onPress()
|
!disable && onPress && onPress()
|
||||||
}}
|
}}
|
||||||
|
|||||||
21
components/loadingCenter.tsx
Normal file
21
components/loadingCenter.tsx
Normal file
@@ -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 (
|
||||||
|
<View style={[Styles.loadingCenter]}>
|
||||||
|
<View style={[Styles.loadingBox, Styles.shadowBox, { backgroundColor: colors.modalBackground }]}>
|
||||||
|
<ActivityIndicator size={size} color={colors.dimmed} />
|
||||||
|
<Text style={{ color: colors.dimmed }}>Loading</Text>
|
||||||
|
</View>
|
||||||
|
</View>
|
||||||
|
)
|
||||||
|
}
|
||||||
@@ -157,7 +157,7 @@ export default function ModalSelectMultiple({ open, close, title, category, choo
|
|||||||
{
|
{
|
||||||
data.map((item: any, index: number) => {
|
data.map((item: any, index: number) => {
|
||||||
return (
|
return (
|
||||||
<Pressable key={index} style={[Styles.itemSelectModal]} onPress={() => {
|
<Pressable key={index} style={[Styles.itemSelectModal, { borderColor: colors.icon + 20 }]} onPress={() => {
|
||||||
handleDivisionClick(index)
|
handleDivisionClick(index)
|
||||||
}}>
|
}}>
|
||||||
<Text numberOfLines={1} style={[Styles.w80]}>{item.name}</Text>
|
<Text numberOfLines={1} style={[Styles.w80]}>{item.name}</Text>
|
||||||
@@ -175,7 +175,7 @@ export default function ModalSelectMultiple({ open, close, title, category, choo
|
|||||||
data.map((item: any, index: number) => {
|
data.map((item: any, index: number) => {
|
||||||
return (
|
return (
|
||||||
<View key={index}>
|
<View key={index}>
|
||||||
<Pressable style={[Styles.itemSelectModal]} onPress={() => { handleGroupCheck(item.id) }}>
|
<Pressable style={[Styles.itemSelectModal, { borderColor: colors.icon + 20 }]} onPress={() => { handleGroupCheck(item.id) }}>
|
||||||
<Text style={[Styles.textMediumSemiBold]}>{item.name}</Text>
|
<Text style={[Styles.textMediumSemiBold]}>{item.name}</Text>
|
||||||
{
|
{
|
||||||
checked[item.id] && checked[item.id]?.length === item.Division?.length
|
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) => {
|
item.Division.map((child: any, v: number) => {
|
||||||
return (
|
return (
|
||||||
<Pressable key={v} style={[Styles.itemSelectModal]} onPress={() => { handleCheck(item.id, child.id) }}>
|
<Pressable key={v} style={[Styles.itemSelectModal, { borderColor: colors.icon + 20 }]} onPress={() => { handleCheck(item.id, child.id) }}>
|
||||||
<Text style={[Styles.ml10, Styles.textMediumNormal, Styles.w80]} numberOfLines={1} ellipsizeMode="tail" >{child.name}</Text>
|
<Text style={[Styles.ml10, Styles.textMediumNormal, Styles.w80]} numberOfLines={1} ellipsizeMode="tail" >{child.name}</Text>
|
||||||
{
|
{
|
||||||
checked[item.id] && checked[item.id].includes(child.id) && <AntDesign name="check" size={20} color={colors.text} />
|
checked[item.id] && checked[item.id].includes(child.id) && <AntDesign name="check" size={20} color={colors.text} />
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ export default function ModalListDetailTugasProject({ isVisible, setVisible, idT
|
|||||||
getItem={getItem}
|
getItem={getItem}
|
||||||
renderItem={({ item, index }: { item: Props, index: number }) => {
|
renderItem={({ item, index }: { item: Props, index: number }) => {
|
||||||
return (
|
return (
|
||||||
<View key={index} style={[Styles.borderBottom, Styles.pv05, { borderBottomColor: colors.icon }]}>
|
<View key={index} style={[Styles.borderBottom, Styles.pv05, { borderBottomColor: colors.icon + "20" }]}>
|
||||||
<Text style={[Styles.textDefaultSemiBold]}>{item.date}</Text>
|
<Text style={[Styles.textDefaultSemiBold]}>{item.date}</Text>
|
||||||
<View style={[Styles.rowSpaceBetween]}>
|
<View style={[Styles.rowSpaceBetween]}>
|
||||||
<View style={[{ width: "48%" }]}>
|
<View style={[{ width: "48%" }]}>
|
||||||
|
|||||||
@@ -157,7 +157,6 @@ export default function SectionFile({ status, member, refreshing }: { status: nu
|
|||||||
title={item.name + '.' + item.extension}
|
title={item.name + '.' + item.extension}
|
||||||
titleWeight="normal"
|
titleWeight="normal"
|
||||||
onPress={() => { setSelectFile(item); setModal(true) }}
|
onPress={() => { setSelectFile(item); setModal(true) }}
|
||||||
width={65}
|
|
||||||
/>
|
/>
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -96,7 +96,6 @@ export default function SectionLink({ status, member, refreshing }: { status: nu
|
|||||||
title={item.link}
|
title={item.link}
|
||||||
titleWeight="normal"
|
titleWeight="normal"
|
||||||
onPress={() => { setSelectLink(item); setModal(true) }}
|
onPress={() => { setSelectLink(item); setModal(true) }}
|
||||||
width={65}
|
|
||||||
/>
|
/>
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -151,7 +151,6 @@ export default function SectionFileTask({ refreshing, isMemberDivision }: { refr
|
|||||||
title={item.name + '.' + item.extension}
|
title={item.name + '.' + item.extension}
|
||||||
titleWeight="normal"
|
titleWeight="normal"
|
||||||
onPress={() => { setSelectFile(item); setModal(true) }}
|
onPress={() => { setSelectFile(item); setModal(true) }}
|
||||||
width={65}
|
|
||||||
/>
|
/>
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -88,7 +88,6 @@ export default function SectionLinkTask({ refreshing, isMemberDivision }: { refr
|
|||||||
title={item.link}
|
title={item.link}
|
||||||
titleWeight="normal"
|
titleWeight="normal"
|
||||||
onPress={() => { setSelectLink(item); setModal(true) }}
|
onPress={() => { setSelectLink(item); setModal(true) }}
|
||||||
width={65}
|
|
||||||
/>
|
/>
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -465,6 +465,13 @@ const Styles = StyleSheet.create({
|
|||||||
shadowRadius: 0,
|
shadowRadius: 0,
|
||||||
elevation: 0,
|
elevation: 0,
|
||||||
},
|
},
|
||||||
|
shadowBox: {
|
||||||
|
shadowColor: '#171717',
|
||||||
|
shadowOffset: { width: 0, height: 0 },
|
||||||
|
shadowOpacity: 0.1,
|
||||||
|
shadowRadius: 4,
|
||||||
|
elevation: 5,
|
||||||
|
},
|
||||||
contentItemCenter: {
|
contentItemCenter: {
|
||||||
justifyContent: 'center',
|
justifyContent: 'center',
|
||||||
alignItems: 'center'
|
alignItems: 'center'
|
||||||
@@ -860,6 +867,24 @@ const Styles = StyleSheet.create({
|
|||||||
},
|
},
|
||||||
alignStart: {
|
alignStart: {
|
||||||
alignItems: 'flex-start'
|
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,
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user