This commit is contained in:
Philip Cesar Garay
2025-07-31 21:25:33 +08:00
parent 5cfbc81e3a
commit 84fc719a10
307 changed files with 46470 additions and 0 deletions
+39
View File
@@ -0,0 +1,39 @@
import React from "react";
import { ActionSheetProvider } from "@expo/react-native-action-sheet";
import { SafeAreaProvider } from "react-native-safe-area-context";
import UserDataProvider from "./UserDataProvider";
import WebViewProvider from "./WebViewProvider";
import SplashAnimationProvider from "./SplashAnimationProvider";
import UniversalLinkProvider from "./UniversalLinkProvider";
import PremiumProvider from "./PremiumProvider";
import StripeEmbeddedProvider from "./StripeEmbeddedProvider";
const SharedProviders = ({ children }) => {
const providers = [
[SafeAreaProvider, {}],
[ActionSheetProvider, {}],
[SplashAnimationProvider, {}],
[WebViewProvider, {}],
[UserDataProvider, {}],
[StripeEmbeddedProvider, {}],
[PremiumProvider, {}],
[UniversalLinkProvider, {}],
];
// Dynamically nest the providers using reduce
const Combined = providers.reduceRight(
(AccumulatedChildren, [Provider, props]) => {
return ({ children }) => (
<Provider {...props}>
<AccumulatedChildren>{children}</AccumulatedChildren>
</Provider>
);
},
({ children }) => <>{children}</>
);
return <Combined>{children}</Combined>;
};
export default SharedProviders;