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);
}}
>
)}