settings fix

This commit is contained in:
m
2026-08-25 21:06:47 +02:00
parent 70adedeed2
commit 1cf9cf24a4
4 changed files with 6 additions and 60 deletions
+1 -7
View File
@@ -101,7 +101,7 @@ export function HomeScreen() {
const insets = useSafeAreaInsets();
const [page, setPage] = useState(1);
const { data, isLoading, error, isFetching, refetch } = useFiles(null, page, PAGE_SIZE);
const { hasPermission, requestPermission, pickDirectory, pickAndScanRecursive, folders, refreshFolders, discovered } = useLocalFiles();
const { hasPermission, requestPermission, pickAndScanRecursive, folders, refreshFolders, discovered } = useLocalFiles();
const freeLocalSpace = useFreeLocalSpace();
const queryClient = useQueryClient();
const [searchQuery, setSearchQuery] = useState('');
@@ -388,11 +388,6 @@ export function HomeScreen() {
setRemoveFolderConfirmId(null);
}, [removeFolderConfirmId, refreshFolders]);
const handleAddFolder = useCallback(async () => {
setSettingsModalVisible(false);
await pickDirectory();
}, [pickDirectory]);
const handleAddFolderRecursive = useCallback(async () => {
setSettingsModalVisible(false);
await pickAndScanRecursive();
@@ -673,7 +668,6 @@ export function HomeScreen() {
folders={folders}
onToggleVisibility={handleToggleFolderVisibility}
onRemoveFolder={handleRemoveFolder}
onAddFolder={handleAddFolder}
onAddFolderRecursive={handleAddFolderRecursive}
onUpdateSyncMode={handleUpdateSyncMode}
onUpdateSyncCellular={handleUpdateSyncCellular}
+3 -25
View File
@@ -19,8 +19,7 @@ interface SettingsModalProps {
folders: StoredFolder[];
onToggleVisibility: (folderId: string) => void;
onRemoveFolder: (folderId: string) => void;
onAddFolder: () => void;
onAddFolderRecursive?: () => void;
onAddFolderRecursive: () => void;
onUpdateSyncMode: (folderId: string, mode: SyncMode) => void;
onUpdateSyncCellular: (folderId: string, enabled: boolean) => void;
globalSyncMode: SyncGlobalMode;
@@ -47,7 +46,6 @@ export function SettingsModal({
folders,
onToggleVisibility,
onRemoveFolder,
onAddFolder,
onAddFolderRecursive,
onUpdateSyncMode,
onUpdateSyncCellular,
@@ -106,7 +104,6 @@ export function SettingsModal({
onBack={() => setView('menu')}
onToggleVisibility={onToggleVisibility}
onRemoveFolder={handleRemoveFolder}
onAddFolder={onAddFolder}
onAddFolderRecursive={onAddFolderRecursive}
/>
)}
@@ -190,15 +187,13 @@ function FoldersView({
onBack,
onToggleVisibility,
onRemoveFolder,
onAddFolder,
onAddFolderRecursive,
}: {
folders: StoredFolder[];
onBack: () => void;
onToggleVisibility: (id: string) => void;
onRemoveFolder: (folder: StoredFolder) => void;
onAddFolder: () => void;
onAddFolderRecursive?: () => void;
onAddFolderRecursive: () => void;
}) {
return (
<ScrollView style={styles.viewContainer} showsVerticalScrollIndicator={false}>
@@ -241,17 +236,10 @@ function FoldersView({
})
)}
<TouchableOpacity style={styles.addBtn} onPress={onAddFolder}>
<TouchableOpacity style={styles.addBtn} onPress={onAddFolderRecursive}>
<MaterialIcons name="add" size={20} color="#fff" />
<Text style={styles.addBtnText}>Ajouter un dossier</Text>
</TouchableOpacity>
{onAddFolderRecursive && (
<TouchableOpacity style={styles.scanRootBtn} onPress={onAddFolderRecursive}>
<MaterialIcons name="linear-scale" size={20} color="#fff" />
<Text style={styles.addBtnText}>Ajouter (scan récursif)</Text>
</TouchableOpacity>
)}
</ScrollView>
);
}
@@ -538,16 +526,6 @@ const styles = StyleSheet.create({
marginTop: 16,
gap: 8,
},
scanRootBtn: {
flexDirection: 'row',
alignItems: 'center',
justifyContent: 'center',
backgroundColor: '#8E24AA',
borderRadius: 10,
paddingVertical: 12,
marginTop: 10,
gap: 8,
},
addBtnText: {
fontSize: 15,
color: '#fff',
+1 -26
View File
@@ -251,31 +251,6 @@ export function useDeviceFiles() {
});
}, []);
const pickDirectory = useCallback(async () => {
try {
const result = await FileSystem.StorageAccessFramework.requestDirectoryPermissionsAsync();
if (!result.granted) return false;
const dirUri = result.directoryUri;
const parts = dirUri.split('/');
const dirName = decodeURIComponent(parts[parts.length - 1] ?? 'Dossier');
safDirectory.addFolder(dirUri, dirName);
setFolders(safDirectory.getAll());
const folderFiles = await scanSafFolder({ id: 'new', uri: dirUri, name: dirName, visible: true, syncMode: 'none', syncCellular: false, source: 'saf' });
setFiles((prev) => {
const existing = new Set(prev.map((f) => f.id));
const merged = [...prev];
for (const f of folderFiles) {
if (!existing.has(f.id)) merged.push(f);
}
return merged;
});
return true;
} catch (err) {
return false;
}
}, []);
const pickAndScanRecursive = useCallback(async (): Promise<{ addedFolders: number }> => {
try {
const result = await FileSystem.StorageAccessFramework.requestDirectoryPermissionsAsync();
@@ -371,7 +346,7 @@ export function useDeviceFiles() {
return {
files, isLoading, hasPermission,
requestPermission, rescan,
pickDirectory, pickAndScanRecursive,
pickAndScanRecursive,
folders, refreshFolders,
discovered, discoverMediaAlbums,
};
+1 -2
View File
@@ -4,7 +4,7 @@ import { fileStore } from '../services/fileStore';
import { UnifiedFileItem } from '../types';
export function useLocalFiles() {
const { files: deviceFiles, isLoading: deviceLoading, hasPermission, requestPermission, rescan, pickDirectory, pickAndScanRecursive, folders, refreshFolders, discovered, discoverMediaAlbums } = useDeviceFiles();
const { files: deviceFiles, isLoading: deviceLoading, hasPermission, requestPermission, rescan, pickAndScanRecursive, folders, refreshFolders, discovered, discoverMediaAlbums } = useDeviceFiles();
const lastDeviceCount = useRef(0);
useEffect(() => {
@@ -75,7 +75,6 @@ export function useLocalFiles() {
hasPermission,
requestPermission,
rescan,
pickDirectory,
pickAndScanRecursive,
folders,
refreshFolders,