import { Button, ScrollView, StyleSheet, Text, TouchableOpacity, View } from 'react-native'; import React, { useContext, useEffect, useState } from 'react'; import { ThemeContext } from '../../Theme'; import { NavBar } from '../NavBar'; import { Divider } from 'react-native-paper'; import { clearMockResponses, FILE_PATH, getMockResponses, MockResponse, resetMockResponses } from './utils'; import FeatherIcon from 'react-native-vector-icons/Feather'; import Share from 'react-native-share'; import RNFS from 'react-native-fs'; import Clipboard from '@react-native-clipboard/clipboard'; export function NavbarRightSide(props: { mockResponsesCopy: MockResponse[]; setMockResponsesCopy: (mockResponsesCopy: MockResponse[]) => void; }) { const theme = useContext(ThemeContext); return ( <> { Clipboard.getString().then(responses => { if (responses) { resetMockResponses(responses); props.setMockResponsesCopy(getMockResponses()); } }); }} style={[styles.button, { borderLeftWidth: 0 }]} > {props.mockResponsesCopy.length > 0 && ( { RNFS.copyFile(FILE_PATH, `${RNFS.DocumentDirectoryPath}/mocks-preset.json`) .then(() => { Share.open({ title: 'Export Mock preset', url: `${RNFS.DocumentDirectoryPath}/mocks-preset.json`, type: 'text/plain', // excludedActivityTypes: [] }).finally(() => { RNFS.unlink(`${RNFS.DocumentDirectoryPath}/mocks-preset.json`); }); }) .catch(console.error); }} > )}