All files / packages/app/providers inner.tsx

100% Statements 2/2
100% Branches 0/0
100% Functions 1/1
100% Lines 2/2

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62                                                        332x                     1658x                                            
import type React from "react";
 
import { AppVersionContext } from "~app/contexts/app-version-context";
import { LinksContext } from "~app/contexts/links-context";
import type { LinksContextType } from "~app/contexts/links-context";
import type { NavigationContextType } from "~app/contexts/navigation-context";
import { NavigationContext } from "~app/contexts/navigation-context";
import { StoreContext } from "~app/contexts/store-context";
import type { StoreContextType } from "~app/contexts/store-context";
 
import { PersisterProvider } from "./persist-client";
import type { Props as PersisterProps } from "./persist-client";
import { QueryProviderWithPretend } from "./query-with-pretend";
import { ShimsProvider } from "./shims";
import { StoredDataProvider } from "./stored-data";
import { ThemeProvider } from "./theme";
 
type Props = {
	storeContext: StoreContextType;
	storage: PersisterProps["storage"];
	linksContext: LinksContextType;
	navigationContext: NavigationContextType;
	applyColorMode: React.ComponentProps<typeof ThemeProvider>["applyColorMode"];
	DevToolsProvider: React.ComponentType<React.PropsWithChildren>;
	ToastProvider: React.ComponentType<React.PropsWithChildren>;
	appVersion: string;
};
 
export const InnerProvider: React.FC<React.PropsWithChildren<Props>> = ({
	children,
	storeContext,
	storage,
	linksContext,
	navigationContext,
	DevToolsProvider,
	ToastProvider,
	applyColorMode,
	appVersion,
}) => (
	<AppVersionContext value={appVersion}>
		<NavigationContext value={navigationContext}>
			<LinksContext value={linksContext}>
				<StoreContext value={storeContext}>
					<StoredDataProvider>
						<ThemeProvider applyColorMode={applyColorMode}>
							<QueryProviderWithPretend>
								<ShimsProvider>
									<PersisterProvider storage={storage}>
										<DevToolsProvider>
											<ToastProvider>{children}</ToastProvider>
										</DevToolsProvider>
									</PersisterProvider>
								</ShimsProvider>
							</QueryProviderWithPretend>
						</ThemeProvider>
					</StoredDataProvider>
				</StoreContext>
			</LinksContext>
		</NavigationContext>
	</AppVersionContext>
);