Changeset View
Changeset View
Standalone View
Standalone View
native/chat/text-message-tooltip-modal.react.js
// @flow | // @flow | ||||
import Clipboard from '@react-native-community/clipboard'; | import Clipboard from '@react-native-community/clipboard'; | ||||
import invariant from 'invariant'; | import invariant from 'invariant'; | ||||
import * as React from 'react'; | import * as React from 'react'; | ||||
import { createMessageReply } from 'lib/shared/message-utils'; | import { createMessageReply } from 'lib/shared/message-utils'; | ||||
import type { DispatchFunctions, ActionFunc } from 'lib/utils/action-utils'; | import type { DispatchFunctions, BindServerCall } from 'lib/utils/action-utils'; | ||||
import type { InputState } from '../input/input-state'; | import type { InputState } from '../input/input-state'; | ||||
import { displayActionResultModal } from '../navigation/action-result-modal'; | import { displayActionResultModal } from '../navigation/action-result-modal'; | ||||
import { | import { | ||||
createTooltip, | createTooltip, | ||||
tooltipHeight, | tooltipHeight, | ||||
type TooltipParams, | type TooltipParams, | ||||
type TooltipRoute, | type TooltipRoute, | ||||
Show All 13 Lines | |||||
function onPressCopy(route: TooltipRoute<'TextMessageTooltipModal'>) { | function onPressCopy(route: TooltipRoute<'TextMessageTooltipModal'>) { | ||||
Clipboard.setString(route.params.item.messageInfo.text); | Clipboard.setString(route.params.item.messageInfo.text); | ||||
setTimeout(confirmCopy); | setTimeout(confirmCopy); | ||||
} | } | ||||
function onPressReply( | function onPressReply( | ||||
route: TooltipRoute<'TextMessageTooltipModal'>, | route: TooltipRoute<'TextMessageTooltipModal'>, | ||||
dispatchFunctions: DispatchFunctions, | dispatchFunctions: DispatchFunctions, | ||||
bindServerCall: <F>(serverCall: ActionFunc<F>) => F, | bindServerCall: BindServerCall, | ||||
inputState: ?InputState, | inputState: ?InputState, | ||||
) { | ) { | ||||
invariant( | invariant( | ||||
inputState, | inputState, | ||||
'inputState should be set in TextMessageTooltipModal.onPressReply', | 'inputState should be set in TextMessageTooltipModal.onPressReply', | ||||
); | ); | ||||
inputState.addReply(createMessageReply(route.params.item.messageInfo.text)); | inputState.addReply(createMessageReply(route.params.item.messageInfo.text)); | ||||
} | } | ||||
Show All 30 Lines |