@applicaster/zapp-react-native-utils
Version:
Applicaster Zapp React Native utilities package
40 lines (31 loc) • 1.09 kB
text/typescript
import { reactHooksLogger } from "../../logger";
import { useZappHooksModalState } from "@applicaster/zapp-react-dom-ui-components/Components/ZappHooksModal/hooks/useZappHooksModalState";
const logger = reactHooksLogger.addSubsystem("useHookModalScreenData");
type VariousScreenData = LegacyNavigationScreenData | ZappRiver | ZappEntry;
export const useHookModalScreenData = (): VariousScreenData | undefined => {
const hookModalState = useZappHooksModalState();
if (!hookModalState.state?.screenData) {
return;
}
try {
const screenData = hookModalState.state.screenData?.payload;
const hookPlugin = hookModalState.state.screenData.hookPlugin;
if (hookPlugin?.screen_id) {
return {
...screenData,
targetScreen: hookPlugin,
};
}
return hookModalState.state.screenData?.payload;
} catch (error) {
logger.error({
message: "Hook modal screen data creation failed",
data: {
error,
hookModalState,
},
jsOnly: true,
});
return hookModalState.state.screenData?.payload;
}
};