@livelike/react-native
Version:
LiveLike React Native package
80 lines • 2.59 kB
JavaScript
import React from 'react';
import { LLWidgetHeader } from '../LLWidgetHeader';
import { LLWidgetFooter } from '../LLWidgetFooter';
import { useWidgetInteractiveTimeout, useWidgetExpiryEffect, usePredictionWidgetEffect } from '../../hooks';
import { LLCoreWidget } from '../LLCoreWidget';
import { LLVoteWidgetBody } from '../LLVoteWidgetBody';
import { LLPredictionFollowUpWidget } from './LLPredictionFollowUpWidget';
import { LLPredictionWidgetActionInfo } from './LLPredictionWidgetActionInfo';
export function LLPredictionWidget(_ref) {
let {
programId,
widgetId,
widgetKind,
inlineFollowUp,
onDismiss: onDismissProp,
interactiveTimeout: interactiveTimeoutProp,
onInteractiveTimeout: onInteractiveTimeoutProp,
WidgetComponent = LLCoreWidget,
HeaderComponent = LLWidgetHeader,
BodyComponent = LLVoteWidgetBody,
FooterComponent = LLWidgetFooter,
WidgetComponentStyles,
HeaderComponentStyles,
BodyComponentStyles,
FooterComponentStyles
} = _ref;
const {
interactiveTimeout,
onInteractiveTimeout
} = useWidgetInteractiveTimeout({
widgetId,
interactiveTimeout: interactiveTimeoutProp,
onInteractiveTimeout: onInteractiveTimeoutProp
});
useWidgetExpiryEffect({
widgetId
});
const {
followUpWidget
} = usePredictionWidgetEffect({
widgetId,
programId,
inlineFollowUp
});
if (followUpWidget && inlineFollowUp) {
return /*#__PURE__*/React.createElement(LLPredictionFollowUpWidget, {
widgetId: followUpWidget.id,
widgetKind: followUpWidget.kind,
programId: programId
});
}
return /*#__PURE__*/React.createElement(WidgetComponent, {
widgetId: widgetId,
widgetKind: widgetKind,
programId: programId,
onDismiss: onDismissProp,
styles: WidgetComponentStyles
}, _ref2 => {
let {
widget,
onDismiss
} = _ref2;
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(HeaderComponent, {
title: widget.question,
interactiveTimeout: interactiveTimeout,
onInteractiveTimeout: onInteractiveTimeout,
onDismiss: onDismiss,
dismissable: !!onDismissProp,
styles: HeaderComponentStyles
}), /*#__PURE__*/React.createElement(BodyComponent, {
widgetId: widgetId,
styles: BodyComponentStyles
}), /*#__PURE__*/React.createElement(FooterComponent, {
styles: FooterComponentStyles,
widgetId: widgetId,
ActionInfoComponent: LLPredictionWidgetActionInfo
}));
});
}
//# sourceMappingURL=LLPredictionWidget.js.map