import { useEffect, useState } from 'react'; import { Button, View } from 'react-native'; import { pickDirectory } from '@react-native-documents/picker' import { List, Text } from 'react-native-paper'; import { Directory, Paths } from 'expo-file-system/next'; import { StorageAccessFramework } from 'expo-file-system'; import AsyncStorage from '@react-native-async-storage/async-storage'; import { DATA_DIRECTORY_URI_KEY } from '@/constants/Settings'; import { useFileSystem, prettyName } from '@/hooks/useFilesystem'; export default function SettingsScreen() { const { dataDirectoryUri, isLoading, files, hasDirectory, saveDataDirectoryUri } = useFileSystem(); return ( } title={prettyName(dataDirectoryUri) ?? "No directory selected. Tap to select."} right={props => } onPress={async () => { try { const permissions = await StorageAccessFramework.requestDirectoryPermissionsAsync(); if (permissions.granted) { await saveDataDirectoryUri(permissions.directoryUri); } } catch (err) { console.error(err); } }} />