diff options
author | Ansh Nanda <anshnanda10@gmail.com> | 2023-04-25 13:45:46 -0700 |
---|---|---|
committer | Ansh Nanda <anshnanda10@gmail.com> | 2023-04-25 13:45:46 -0700 |
commit | d0d24ea248a74df89c0033a2f63787aaa2f0402d (patch) | |
tree | bf7bfdb7bff64a1ceab06d6c9d0ae6e1d765cdb5 /src/lib | |
parent | 3463f601a360af5f3a4b643a787e44865c4c790c (diff) | |
download | voidsky-d0d24ea248a74df89c0033a2f63787aaa2f0402d.tar.zst |
consolidated share code to shareUrl
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/sharing.ts | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/lib/sharing.ts b/src/lib/sharing.ts new file mode 100644 index 000000000..95ebf8ee9 --- /dev/null +++ b/src/lib/sharing.ts @@ -0,0 +1,22 @@ +import {isNative} from 'platform/detection' +// import * as Sharing from 'expo-sharing' +import Clipboard from '@react-native-clipboard/clipboard' +import * as Toast from '../view/com/util/Toast' +import {Share} from 'react-native' + +/** + * This function shares a URL using the native Share API if available, or copies it to the clipboard + * and displays a toast message if not (mostly on web) + * @param {string} url - A string representing the URL that needs to be shared or copied to the + * clipboard. + */ +export async function shareUrl(url: string) { + if (isNative) { + Share.share({url: 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') + } +} |