Commit 972b3326 by G

changed the name of the context to ModalsManager

parent 7a8a889d
import { ModalsManagerProvider } from "@/contexts/ModalsManagerContext";
import { UserAuthenticationContextProvider } from "@/contexts/UserAuthenticationContext"; import { UserAuthenticationContextProvider } from "@/contexts/UserAuthenticationContext";
import AppMainStackNavigator from "@/navigations/AppMainStackNavigator"; import AppMainStackNavigator from "@/navigations/AppMainStackNavigator";
import theme from "@/themes/Theme"; import theme from "@/themes/Theme";
...@@ -13,6 +14,7 @@ export default function App() { ...@@ -13,6 +14,7 @@ export default function App() {
log.verbose("App started..."); log.verbose("App started...");
return ( return (
<ThemeProvider theme={theme}> <ThemeProvider theme={theme}>
<ModalsManagerProvider>
<SafeAreaProvider> <SafeAreaProvider>
<NavigationContainer> <NavigationContainer>
<ProvideQueryClient> <ProvideQueryClient>
...@@ -28,6 +30,7 @@ export default function App() { ...@@ -28,6 +30,7 @@ export default function App() {
</ProvideQueryClient> </ProvideQueryClient>
</NavigationContainer> </NavigationContainer>
</SafeAreaProvider> </SafeAreaProvider>
</ModalsManagerProvider>
</ThemeProvider> </ThemeProvider>
); );
} }
...@@ -3,36 +3,52 @@ import LoadingModal from "@components/modals/LoadingModal"; ...@@ -3,36 +3,52 @@ import LoadingModal from "@components/modals/LoadingModal";
import { createContext, useContext, useState } from "react"; import { createContext, useContext, useState } from "react";
import { View } from "react-native"; import { View } from "react-native";
export interface IoverlayContext { export interface ImodalsManagerContext {
showOverlay(): void; showLoadingModal(): void;
hideOverlay(): void; closeLoadingModal(): void;
showErrorModal(): void;
closeErrorModal(): void;
} }
export const OverlayContext = createContext<IoverlayContext>({ export const ModalsManagerContext = createContext<ImodalsManagerContext>({
showOverlay: () => {}, showLoadingModal: () => {},
hideOverlay: () => {}, closeLoadingModal: () => {},
showErrorModal: () => {},
closeErrorModal: () => {},
}); });
export const OverlayProvider = ({ children }: { children: React.ReactNode }) => { export const ModalsManagerProvider = ({ children }: { children: React.ReactNode }) => {
const [showBackdrop, setShowBackdrop] = useState(true); const [showBackdrop, setShowBackdrop] = useState(false);
const [loadingModalVisible, setLoadingModalVisible] = useState(false); const [loadingModalVisible, setLoadingModalVisible] = useState(false);
const [errorModalVisible, setErrorModalVisible] = useState(true); const [errorModalVisible, setErrorModalVisible] = useState(false);
const showOverlay = () => { const showLoadingModal = () => {
setShowBackdrop(true); setShowBackdrop(true);
setLoadingModalVisible(true); setLoadingModalVisible(true);
}; };
const hideOverlay = () => { const closeLoadingModal = () => {
setShowBackdrop(false); setShowBackdrop(false);
setLoadingModalVisible(false); setLoadingModalVisible(false);
}; };
const showErrorModal = () => {
setShowBackdrop(true);
setErrorModalVisible(true);
};
const closeErrorModal = () => {
setShowBackdrop(false);
setErrorModalVisible(false);
};
return ( return (
<OverlayContext.Provider <ModalsManagerContext.Provider
value={{ value={{
showOverlay, showLoadingModal,
hideOverlay, closeLoadingModal,
showErrorModal,
closeErrorModal,
}} }}
> >
{children} {children}
...@@ -40,12 +56,12 @@ export const OverlayProvider = ({ children }: { children: React.ReactNode }) => ...@@ -40,12 +56,12 @@ export const OverlayProvider = ({ children }: { children: React.ReactNode }) =>
{loadingModalVisible && <LoadingModal />} {loadingModalVisible && <LoadingModal />}
{errorModalVisible && <ErrorModal />} {errorModalVisible && <ErrorModal />}
</OverlayContext.Provider> </ModalsManagerContext.Provider>
); );
}; };
export const useOverlayContext = () => { export const useOverlayContext = () => {
return useContext(OverlayContext); return useContext(ModalsManagerContext);
}; };
const OverlayBackdrop = () => { const OverlayBackdrop = () => {
......
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