Commit 6d417f81 by G

update the modal filter to take advantage of the card custom made. And instead…

update the modal filter to take advantage of the card custom made. And instead of conditional rendering it on the same screen. the task is offload to the modal context manager to render
parent 7dd5f05c
import { useModalsManagerContext } from "@/contexts/ModalsManagerContext";
import BarWithBeasyAndNotificationsIcon from "@components/BarWithBeasyAndNotificationsIcon";
import Button from "@components/Button"; import Button from "@components/Button";
import Input from "@components/Input"; import Input from "@components/Input";
import TransactionInformationsItem from "@components/TransactionInformationsItem"; import TransactionInformationsItem from "@components/TransactionInformationsItem";
import BackgroundWithBeasyIconAndWhiteContentArea from "@components/backgrounds/BackgroundWithBeasyIconAndWhiteContentArea";
import Box from "@components/bases/Box"; import Box from "@components/bases/Box";
import Text from "@components/bases/Text"; import Text from "@components/bases/Text";
import WrapperWithDefaultBeasyBackgroundAndSafeAreaTopLeftRight from "@components/wrappers/WrapperWithDefaultBeasyBackgroundAndSafeAreaTopLeftRight";
import useTransactionsHistory, { type OperatorsFilter } from "@hooks/useTransactionsHistory"; import useTransactionsHistory, { type OperatorsFilter } from "@hooks/useTransactionsHistory";
import { LOG } from "@logger"; import { LOG } from "@logger";
import Card from "@re-card";
import theme from "@themes/Theme"; import theme from "@themes/Theme";
import { useCallback, useState } from "react"; import { useCallback, useState } from "react";
import { RefreshControl, ScrollView, Switch } from "react-native"; import { RefreshControl, ScrollView, Switch } from "react-native";
...@@ -28,9 +31,13 @@ const TransactionHistoryScreen = () => { ...@@ -28,9 +31,13 @@ const TransactionHistoryScreen = () => {
setOperatorsFilter, setOperatorsFilter,
} = useTransactionsHistory(); } = useTransactionsHistory();
const { showModal } = useModalsManagerContext();
return ( return (
<BackgroundWithBeasyIconAndWhiteContentArea> <WrapperWithDefaultBeasyBackgroundAndSafeAreaTopLeftRight>
<> <BarWithBeasyAndNotificationsIcon />
<Card variant={"curvedTopContainer"} padding={"s"} height={"100%"} mt={"m"}>
{showFiltersModal && ( {showFiltersModal && (
<FiltersModal <FiltersModal
setShowFiltersModal={setShowFiltersModal} setShowFiltersModal={setShowFiltersModal}
...@@ -39,7 +46,7 @@ const TransactionHistoryScreen = () => { ...@@ -39,7 +46,7 @@ const TransactionHistoryScreen = () => {
/> />
)} )}
{/* <FiltersModal setShowFiltersModal={setShowFiltersModal} /> */} {/* <FiltersModal setShowFiltersModal={setShowFiltersModal} /> */}
<Box px={"m"} mt={"m"} flexDirection={"row"} gap={"s"} alignItems={"center"}> <Box px={"m"} flexDirection={"row"} gap={"s"} alignItems={"center"}>
<Box flex={1}> <Box flex={1}>
<Input placeholder="Reference" onChangeText={setReferenceFilter} /> <Input placeholder="Reference" onChangeText={setReferenceFilter} />
</Box> </Box>
...@@ -56,15 +63,25 @@ const TransactionHistoryScreen = () => { ...@@ -56,15 +63,25 @@ const TransactionHistoryScreen = () => {
name="filter" name="filter"
size={30} size={30}
color="black" color="black"
onPress={() => setShowFiltersModal(true)} // onPress={() => setShowFiltersModal(true)}
onPress={() =>
showModal(
<FiltersModal
setShowFiltersModal={setShowFiltersModal}
setOperatorsFilter={setOperatorsFilter}
operatorsFilter={operatorsFilter}
/>,
)
}
/> />
</Box> </Box>
</Box> </Box>
<ScrollView <ScrollView
// style={{ backgroundColor: "red" }}
refreshControl={<RefreshControl refreshing={isLoading} onRefresh={refetch} />} refreshControl={<RefreshControl refreshing={isLoading} onRefresh={refetch} />}
contentContainerStyle={{ contentContainerStyle={{
gap: 10, gap: 10,
padding: 10, padding: 5,
// marginTop: 10, // marginTop: 10,
paddingBottom: 30, paddingBottom: 30,
flexDirection: "column", flexDirection: "column",
...@@ -82,8 +99,8 @@ const TransactionHistoryScreen = () => { ...@@ -82,8 +99,8 @@ const TransactionHistoryScreen = () => {
/> />
))} ))}
</ScrollView> </ScrollView>
</> </Card>
</BackgroundWithBeasyIconAndWhiteContentArea> </WrapperWithDefaultBeasyBackgroundAndSafeAreaTopLeftRight>
); );
}; };
...@@ -122,34 +139,25 @@ const FiltersModal: React.FC<FiltersModalProps> = ({ ...@@ -122,34 +139,25 @@ const FiltersModal: React.FC<FiltersModalProps> = ({
}); });
}, [filterOm, filterMtn, filterFlooz, filterWave, filterCb, setOperatorsFilter]); }, [filterOm, filterMtn, filterFlooz, filterWave, filterCb, setOperatorsFilter]);
const { closeModal } = useModalsManagerContext();
const saveFilters = useCallback(() => { const saveFilters = useCallback(() => {
saveOperatorsFilters(); saveOperatorsFilters();
setShowFiltersModal(false); setShowFiltersModal(false);
}, [saveOperatorsFilters, setShowFiltersModal]); closeModal();
}, [saveOperatorsFilters, setShowFiltersModal, closeModal]);
return ( return (
<> <Card variant={"absoluteForegroundScreenSizedTransparentCard"}>
{/* Overlay */}
<Box
width={"100%"}
height={"100%"}
backgroundColor={"black"}
opacity={0.5}
position={"absolute"}
zIndex={10}
// p={"m"}
/>
{/* Content */}
<Box width={"100%"} height={"100%"} position={"absolute"} zIndex={11} p={"m"}>
<Box <Box
backgroundColor={"white"} backgroundColor={"white"}
width={"100%"} width={"90%"}
height={"100%"} // height={"70%"}
maxHeight={"80%"}
borderRadius={10} borderRadius={10}
p={"m"} p={"m"}
flexDirection={"column"} flexDirection={"column"}
style={{ margin: "auto" }}
> >
<Box <Box
justifyContent={"space-between"} justifyContent={"space-between"}
...@@ -164,7 +172,10 @@ const FiltersModal: React.FC<FiltersModalProps> = ({ ...@@ -164,7 +172,10 @@ const FiltersModal: React.FC<FiltersModalProps> = ({
name="close-outline" name="close-outline"
size={30} size={30}
color="black" color="black"
onPress={() => setShowFiltersModal(false)} onPress={() => {
closeModal();
setShowFiltersModal(false);
}}
/> />
</Box> </Box>
...@@ -253,7 +264,7 @@ const FiltersModal: React.FC<FiltersModalProps> = ({ ...@@ -253,7 +264,7 @@ const FiltersModal: React.FC<FiltersModalProps> = ({
/> />
</Box> </Box>
</Box> </Box>
<Box style={{ marginTop: "auto" }}> <Box style={{ marginTop: 20 }}>
<Button <Button
variant={"full"} variant={"full"}
label={"Valider"} label={"Valider"}
...@@ -262,7 +273,6 @@ const FiltersModal: React.FC<FiltersModalProps> = ({ ...@@ -262,7 +273,6 @@ const FiltersModal: React.FC<FiltersModalProps> = ({
/> />
</Box> </Box>
</Box> </Box>
</Box> </Card>
</>
); );
}; };
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment