import {PermissionsAndroid, Platform} from 'react-native' import {Dirs, FileSystem} from 'react-native-file-access' import {toast} from './toast' export const write = async (name: string, data: string) => { const filePath = `${Dirs.DocumentDir}/${name}` const permission = async () => { if (Platform.OS !== 'android') return true const granted = await PermissionsAndroid.request( PermissionsAndroid.PERMISSIONS.WRITE_EXTERNAL_STORAGE, ) return granted === PermissionsAndroid.RESULTS.GRANTED } const granted = await permission() if (!granted) return await FileSystem.writeFile(filePath, data) if (Platform.OS === 'android') await FileSystem.cpExternal(filePath, name, 'downloads') toast(`Downloaded ${name}`) }