From 3e78c7101815985241b2631432a023dc8f70d82e Mon Sep 17 00:00:00 2001
From: Ollie Hsieh <renahlee@outlook.com>
Date: Thu, 20 Apr 2023 11:08:30 -0700
Subject: Share profile and post (#499)

---
 src/view/com/util/forms/DropdownButton.tsx | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

(limited to 'src/view/com/util/forms/DropdownButton.tsx')

diff --git a/src/view/com/util/forms/DropdownButton.tsx b/src/view/com/util/forms/DropdownButton.tsx
index 938c346cd..f21323efb 100644
--- a/src/view/com/util/forms/DropdownButton.tsx
+++ b/src/view/com/util/forms/DropdownButton.tsx
@@ -19,6 +19,9 @@ import {toShareUrl} from 'lib/strings/url-helpers'
 import {useStores} from 'state/index'
 import {usePalette} from 'lib/hooks/usePalette'
 import {useTheme} from 'lib/ThemeContext'
+import {isAndroid, isIOS} from 'platform/detection'
+import Clipboard from '@react-native-clipboard/clipboard'
+import * as Toast from '../../util/Toast'
 
 const HITSLOP = {left: 10, top: 10, right: 10, bottom: 10}
 const ESTIMATED_MENU_ITEM_HEIGHT = 52
@@ -159,7 +162,16 @@ export function PostDropdownBtn({
       icon: 'share',
       label: 'Share...',
       onPress() {
-        Share.share({url: toShareUrl(itemHref)})
+        const url = toShareUrl(itemHref)
+
+        if (isIOS || isAndroid) {
+          Share.share({url})
+        } else {
+          // React Native Share is not supported by web. Web Share API
+          // has increasing but not full support, so default to clipboard
+          Clipboard.setString(url)
+          Toast.show('Copied to clipboard')
+        }
       },
     },
     {
-- 
cgit 1.4.1

