forked from
jollywhoppers.com/witchsky.app
Bluesky app fork with some witchin' additions 馃挮
1import {View} from 'react-native'
2import {type ChatBskyConvoDefs} from '@atproto/api'
3import {msg} from '@lingui/macro'
4import {useLingui} from '@lingui/react'
5
6import {atoms as a} from '#/alf'
7import {MessageContextMenu} from '#/components/dms/MessageContextMenu'
8
9export function ActionsWrapper({
10 message,
11 isFromSelf,
12 children,
13}: {
14 message: ChatBskyConvoDefs.MessageView
15 isFromSelf: boolean
16 children: React.ReactNode
17}) {
18 const {_} = useLingui()
19
20 return (
21 <MessageContextMenu message={message}>
22 {trigger =>
23 // will always be true, since this file is platform split
24 trigger.isNative && (
25 <View style={[a.flex_1, a.relative]}>
26 <View
27 style={[
28 {maxWidth: '80%'},
29 isFromSelf
30 ? [a.self_end, a.align_end]
31 : [a.self_start, a.align_start],
32 ]}
33 accessible={true}
34 accessibilityActions={[
35 {name: 'activate', label: _(msg`Open message options`)},
36 ]}
37 onAccessibilityAction={() => trigger.control.open('full')}>
38 {children}
39 </View>
40 </View>
41 )
42 }
43 </MessageContextMenu>
44 )
45}