Commit ca3a5e9e by G

testing modal promise a little bit to see if it is a viable option

parent 4c69c993
......@@ -6,6 +6,7 @@ import ProvideQueryClient from "@components/providers_wrappers/ProvideQueryClien
import { LOG } from "@logger";
import { NavigationContainer } from "@react-navigation/native";
import { ThemeProvider } from "@shopify/restyle";
import ModalContainer from "react-modal-promise";
import { SafeAreaProvider } from "react-native-safe-area-context";
const log = LOG.extend("App");
......@@ -31,6 +32,7 @@ export default function App() {
</NavigationContainer>
</SafeAreaProvider>
</ModalsManagerProvider>
<ModalContainer />
</ThemeProvider>
);
}
import Button from "@components/Button";
import Box from "@components/bases/Box";
import InformationIcon from "@components/icons/InformationIcon";
import { create } from "react-modal-promise";
import { Text } from "react-native";
interface Props {
isOpen: boolean;
onResolve: () => void;
// biome-ignore lint/suspicious/noExplicitAny: <explanation>
onReject: any;
}
const MyModal = ({ isOpen, onResolve, onReject }: Props) => {
return (
<Box
width={300}
// height={200}
backgroundColor={"white"}
alignItems={"center"}
justifyContent={"center"}
alignSelf={"center"}
marginTop={"x240"}
position={"absolute"}
zIndex={10}
borderRadius={20}
gap={"m"}
shadowColor={"black"}
shadowOffset={{ width: 0, height: 0 }}
shadowOpacity={0.5}
p={"m"}
visible={isOpen}
>
<InformationIcon />
<Text>Modal</Text>
<Box style={{ width: "80%" }}>
<Button
variant={"fullInformation"}
textVariants={"white"}
label={"Ok"}
onPress={onResolve}
/>
<Button
variant={"noMargin"}
textVariants={"error"}
label="Fermer"
onPress={() => onReject("Fermer")}
/>
</Box>
</Box>
);
};
const myPromiseModal = create(MyModal);
export { myPromiseModal };
export default MyModal;
......@@ -4,6 +4,7 @@ import type { MainStackScreenComponentProps } from "@/navigations/Types";
import Button from "@components/Button";
import Box from "@components/bases/Box";
import Text from "@components/bases/Text";
import { myPromiseModal } from "@components/modals/MyModal";
import { Image, StyleSheet } from "react-native";
const HomeUserNotLoggedIn: MainStackScreenComponentProps<"homeUserNotLoggedIn"> = ({
......@@ -16,6 +17,25 @@ const HomeUserNotLoggedIn: MainStackScreenComponentProps<"homeUserNotLoggedIn">
navigation.replace("appBottomTabsNavigator");
}
const modal = async () => {
try {
await myPromiseModal();
console.log("modal closed");
} catch (error) {
console.log("err :: ", error);
}
myPromiseModal()
.then(() => {
console.log("Success");
})
.catch((error) => {
console.log("Error", error);
});
// console.log("DEBUG :: ", result);
};
return (
<>
{/* <LoadingModal /> */}
......@@ -44,7 +64,7 @@ const HomeUserNotLoggedIn: MainStackScreenComponentProps<"homeUserNotLoggedIn">
variant={"full"}
textVariants={"primary"}
label="Se connecter"
onPress={() => navigation.navigate("userLoginScreen")}
onPress={modal}
// onPress={() =>
// showModal(
// <InformationModal
......
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