UNPKG

@applicaster/zapp-react-native-utils

Version:

Applicaster Zapp React Native utilities package

44 lines (35 loc) 1.13 kB
import { reactHooksLogger } from "../../logger"; import { useZappHookModalStore } from "@applicaster/zapp-react-native-ui-components/Contexts/ZappHookModalContext"; const logger = reactHooksLogger.addSubsystem("useHookModalScreenData"); type VariousScreenData = LegacyNavigationScreenData | ZappRiver | ZappEntry; export const useHookModalScreenData = ( skipSubscription: boolean ): VariousScreenData | undefined => { const hookModalState = useZappHookModalStore((state) => skipSubscription ? undefined : state.state ); if (!hookModalState?.screenData) { return; } try { const screenData = hookModalState.screenData?.payload; const hookPlugin = hookModalState.screenData.hookPlugin; if (hookPlugin?.screen_id) { return { ...screenData, targetScreen: hookPlugin, }; } return hookModalState.screenData?.payload; } catch (error) { logger.error({ message: "Hook modal screen data creation failed", data: { error, hookModalState, }, jsOnly: true, }); return hookModalState.screenData?.payload; } };