UNPKG

@applicaster/zapp-react-native-ui-components

Version:

Applicaster Zapp React Native ui components for the Quick Brick App

61 lines (49 loc) 1.73 kB
import { mergeRight } from "ramda"; import { platformSelect } from "@applicaster/zapp-react-native-utils/reactUtils"; import { usePickFromState } from "@applicaster/zapp-react-native-redux/hooks"; import { useNavigation } from "@applicaster/zapp-react-native-utils/reactHooks/navigation/useNavigation"; import { useIsTablet } from "@applicaster/zapp-react-native-utils/reactHooks/device/useIsTablet"; import { playerManager } from "@applicaster/zapp-react-native-utils/appUtils"; export const useConfiguration = () => { const { videoModalState: { item }, } = useNavigation(); const { rivers, contentTypes, pluginConfigurations } = usePickFromState([ "rivers", "contentTypes", "pluginConfigurations", ]); const targetScreenId = contentTypes?.[item?.type?.value]?.screen_id; const targetScreenConfiguration = rivers?.[targetScreenId]; const pluginConfiguration = pluginConfigurations[targetScreenConfiguration?.type]?.configuration_json; const playerPluginConfig = playerManager.getPluginConfiguration(); const config = mergeRight(playerPluginConfig, { ...pluginConfiguration, ...targetScreenConfiguration?.general, ...targetScreenConfiguration?.styles, }); const { minimised_height = 0, minimised_height_tablet = 0, modal_background_color, } = config; const minimisedHeight = useIsTablet() ? minimised_height_tablet : minimised_height; return { minimised_height: Number(minimisedHeight), modal_background_color, }; }; const fullSize = { width: "100%", height: "100%", }; export const playerDimensionsHack = platformSelect({ android_tv: fullSize, amazon: fullSize, lg_tv: fullSize, samsung_tv: fullSize, default: {}, });