mirror of
https://github.com/hanzo-io/team.git
synced 2026-10-30 18:56:23 +00:00
40 lines
1.2 KiB
TypeScript
40 lines
1.2 KiB
TypeScript
import { useColorScheme } from '@hooks/useColorScheme'
|
|
import { FileMessage } from '@raven/types/common/Message'
|
|
import PaperClipIcon from "@assets/icons/PaperClipIcon.svg"
|
|
import { toast } from 'sonner-native'
|
|
import * as Clipboard from 'expo-clipboard'
|
|
import useSiteContext from '@hooks/useSiteContext'
|
|
import ActionButton from '@components/common/Buttons/ActionButton'
|
|
|
|
interface CopyFileMessageLinkProps {
|
|
message: FileMessage
|
|
onClose: () => void
|
|
}
|
|
|
|
const CopyFileMessageLink = ({ message, onClose }: CopyFileMessageLinkProps) => {
|
|
|
|
const { colors } = useColorScheme()
|
|
|
|
const siteData = useSiteContext()
|
|
|
|
const copyLink = () => {
|
|
if (message.file.startsWith('http') || message.file.startsWith('https')) {
|
|
Clipboard.setStringAsync(message.file)
|
|
}
|
|
else {
|
|
Clipboard.setStringAsync(siteData?.url + message.file.split('?')[0])
|
|
}
|
|
toast.success('Link copied')
|
|
onClose()
|
|
}
|
|
|
|
return (
|
|
<ActionButton
|
|
onPress={copyLink}
|
|
icon={<PaperClipIcon width={18} height={18} fill={colors.icon} />}
|
|
text='Copy file link'
|
|
/>
|
|
)
|
|
}
|
|
|
|
export default CopyFileMessageLink |