add files listing

This commit is contained in:
m
2026-07-27 20:50:23 +02:00
parent 0cc261105a
commit 5c85ffa5fe
25 changed files with 1312 additions and 32 deletions
+32
View File
@@ -0,0 +1,32 @@
import { useEffect, useState, useCallback } from 'react';
import { Platform } from 'react-native';
import { ExpoDownloadDetectModule, FileDetectedEvent } from '../modules/expo-download-detect';
export function useFileWatcher() {
const [newFiles, setNewFiles] = useState<FileDetectedEvent[]>([]);
const [isSupported] = useState(() => Platform.OS === 'android');
const clearNewFiles = useCallback(() => {
setNewFiles([]);
}, []);
useEffect(() => {
if (!isSupported) return;
ExpoDownloadDetectModule.startWatching();
const subscription = ExpoDownloadDetectModule.addListener('onNewFile', (event: FileDetectedEvent) => {
setNewFiles((prev) => {
if (prev.some((f) => f.id === event.id)) return prev;
return [...prev, event];
});
});
return () => {
subscription.remove();
ExpoDownloadDetectModule.stopWatching();
};
}, [isSupported]);
return { newFiles, clearNewFiles, isSupported };
}