about summary refs log tree commit diff
path: root/src/view/com/posts
diff options
context:
space:
mode:
authorPaul Frazee <pfrazee@gmail.com>2023-03-03 15:13:31 -0600
committerGitHub <noreply@github.com>2023-03-03 15:13:31 -0600
commita9920d963041e53be5c454da30f8109c2a145d19 (patch)
treeb02b37ffb7ac972f8e34944749fd6cdc6b67b05d /src/view/com/posts
parentc2bfa111ac1f2c5fed2dd1caa92106849b14eaec (diff)
downloadvoidsky-a9920d963041e53be5c454da30f8109c2a145d19.tar.zst
Add translate link to post menu (#261)
* Add a google translate menu item to posts

* Fix: make sure the dropdown menu is always visible (when low on the screen)
Diffstat (limited to 'src/view/com/posts')
-rw-r--r--src/view/com/posts/FeedItem.tsx8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/view/com/posts/FeedItem.tsx b/src/view/com/posts/FeedItem.tsx
index 1847827c3..1006645a9 100644
--- a/src/view/com/posts/FeedItem.tsx
+++ b/src/view/com/posts/FeedItem.tsx
@@ -1,6 +1,6 @@
 import React, {useMemo, useState} from 'react'
 import {observer} from 'mobx-react-lite'
-import {StyleSheet, View} from 'react-native'
+import {Linking, StyleSheet, View} from 'react-native'
 import Clipboard from '@react-native-clipboard/clipboard'
 import Svg, {Circle, Line} from 'react-native-svg'
 import {AtUri} from '../../../third-party/uri'
@@ -86,6 +86,11 @@ export const FeedItem = observer(function ({
     Clipboard.setString(record?.text || '')
     Toast.show('Copied to clipboard')
   }
+  const onOpenTranslate = React.useCallback(() => {
+    Linking.openURL(
+      encodeURI(`https://translate.google.com/#auto|en|${record?.text || ''}`),
+    )
+  }, [record])
   const onDeletePost = () => {
     track('FeedItem:PostDelete')
     item.delete().then(
@@ -243,6 +248,7 @@ export const FeedItem = observer(function ({
               onPressToggleRepost={onPressToggleRepost}
               onPressToggleUpvote={onPressToggleUpvote}
               onCopyPostText={onCopyPostText}
+              onOpenTranslate={onOpenTranslate}
               onDeletePost={onDeletePost}
             />
           </View>