import React, {forwardRef, useState, useImperativeHandle, useRef} from 'react' import {Button, StyleSheet, Text, TouchableOpacity, View} from 'react-native' import BottomSheet from '@gorhom/bottom-sheet' import Toast from '../util/Toast' import Clipboard from '@react-native-clipboard/clipboard' import {s} from '../../lib/styles' import {createCustomBackdrop} from '../util/BottomSheetCustomBackdrop' export const ShareModal = forwardRef(function ShareModal({}: {}, ref) { const [isOpen, setIsOpen] = useState(false) const [uri, setUri] = useState('') const bottomSheetRef = useRef(null) useImperativeHandle(ref, () => ({ open(uri: string) { console.log('sharing', uri) setUri(uri) setIsOpen(true) bottomSheetRef.current?.expand() }, })) const onPressCopy = () => { Clipboard.setString(uri) console.log('showing') Toast.show('Link copied', { position: Toast.positions.TOP, }) } const onShareBottomSheetChange = (snapPoint: number) => { if (snapPoint === -1) { console.log('unsharing') setIsOpen(false) } } const onClose = () => { bottomSheetRef.current?.close() } return ( Share this post {uri}