UNPKG

@livelike/react-native

Version:

LiveLike React Native package

56 lines 1.55 kB
import React, { useCallback } from 'react'; import { LLWidgetSubmitButtonComponent } from '../LLWidgetFooter'; import { useIsEndWidgetUIPhase, useIsWidgetDisabled, useUserNumberOptions, useWidgetSubmitAction } from '../../hooks'; export function LLNumberPredictionWidgetSubmitButton(_ref) { let { widgetId, styles, onPress } = _ref; const numberOptions = useUserNumberOptions({ widgetId }); const widgetDisabled = useIsWidgetDisabled({ widgetId }); const isEndWidgetUIPhase = useIsEndWidgetUIPhase({ widgetId }); const { onInteractionSubmit } = useWidgetSubmitAction({ widgetId }); const onSubmit = useCallback(() => { onPress === null || onPress === void 0 || onPress({ numberOptions }); const interactionItem = { options: numberOptions }; onInteractionSubmit({ interactionItem }); }, [numberOptions]); if (isEndWidgetUIPhase) { return undefined; } const disabled = widgetDisabled || isInvalidNumberOptions(numberOptions); return /*#__PURE__*/React.createElement(LLWidgetSubmitButtonComponent, { disabled: disabled, onPress: onSubmit, styles: styles }); } function isInvalidNumberOptions(numberOptions) { if (!(numberOptions !== null && numberOptions !== void 0 && numberOptions.length)) { return true; } for (let i = 0; i < 2; i++) { if (!numberOptions[i] || numberOptions[i].number === undefined) { return true; } } return false; } //# sourceMappingURL=LLNumberPredictionWidgetSubmitButton.js.map