From 1ad101f06cef58d89eedefc82fb576832d23a0f1 Mon Sep 17 00:00:00 2001 From: Brandon Presley Date: Sun, 18 Sep 2022 20:24:05 +1200 Subject: [PATCH] Share entire screen when sharing a Best graph Closes #20 --- ViewBest.tsx | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/ViewBest.tsx b/ViewBest.tsx index 9d1ba78..7b436dd 100644 --- a/ViewBest.tsx +++ b/ViewBest.tsx @@ -4,12 +4,13 @@ import { useNavigation, useRoute, } from '@react-navigation/native'; -import React, {useCallback, useEffect, useRef, useState} from 'react'; +import React, {useCallback, useEffect, useState} from 'react'; +import {View} from 'react-native'; import {FileSystem} from 'react-native-file-access'; import {IconButton} from 'react-native-paper'; import RNPickerSelect from 'react-native-picker-select'; import Share from 'react-native-share'; -import ViewShot from 'react-native-view-shot'; +import {captureScreen} from 'react-native-view-shot'; import {getVolumes, getWeightsBy} from './best.service'; import {BestPageParams} from './BestPage'; import Chart from './Chart'; @@ -27,7 +28,6 @@ export default function ViewBest() { const [metric, setMetric] = useState(Metrics.Weight); const [period, setPeriod] = useState(Periods.Monthly); const navigation = useNavigation(); - const viewShot = useRef(null); useFocusEffect( useCallback(() => { @@ -39,14 +39,12 @@ export default function ViewBest() { headerRight: () => ( - viewShot.current?.capture?.().then(async uri => { + captureScreen().then(async uri => { const base64 = await FileSystem.readFile(uri, 'base64'); const url = `data:image/jpeg;base64,${base64}`; Share.open({ - message: params.best.name, type: 'image/jpeg', url, - failOnCancel: false, }); }) } @@ -68,7 +66,7 @@ export default function ViewBest() { }, [params.best.name, metric, period]); return ( - + formatMonth(weights[index].created!)} /> )} - + ); }