more
This commit is contained in:
parent
d94f0a0f56
commit
864a53afa2
3 changed files with 43 additions and 53 deletions
|
@ -74,13 +74,13 @@ interface Props {
|
|||
isFirstUpload?: boolean;
|
||||
uploadTypeSelectorView: boolean;
|
||||
showSessionExpiredMessage: () => void;
|
||||
showUploadFilesDialog: () => void;
|
||||
showUploadDirsDialog: () => void;
|
||||
showUploadZipFilesDialog?: () => void;
|
||||
webFolderSelectorFiles: File[];
|
||||
webFileSelectorFiles: File[];
|
||||
webFileSelectorZipFiles?: File[];
|
||||
dragAndDropFiles: File[];
|
||||
openFileSelector: () => void;
|
||||
fileSelectorFiles: File[];
|
||||
openFolderSelector: () => void;
|
||||
folderSelectorFiles: File[];
|
||||
openZipFileSelector?: () => void;
|
||||
fileSelectorZipFiles?: File[];
|
||||
uploadCollection?: Collection;
|
||||
uploadTypeSelectorIntent: UploadTypeSelectorIntent;
|
||||
activeCollection?: Collection;
|
||||
|
@ -239,16 +239,16 @@ export default function Uploader(props: Props) {
|
|||
watcher.init(upload, requestSyncWithRemote);
|
||||
|
||||
electron.pendingUploads().then((pending) => {
|
||||
if (pending) {
|
||||
log.info("Resuming pending desktop upload", pending);
|
||||
resumeDesktopUpload(
|
||||
pending.type == "files"
|
||||
? PICKED_UPLOAD_TYPE.FILES
|
||||
: PICKED_UPLOAD_TYPE.ZIPS,
|
||||
pending.files,
|
||||
pending.collectionName,
|
||||
);
|
||||
}
|
||||
if (!pending) return;
|
||||
|
||||
const { collectionName, filePaths, zipEntries } = pending;
|
||||
if (filePaths.length == 0 && zipEntries.length == 0) return;
|
||||
|
||||
log.info("Resuming pending upload", pending);
|
||||
isPendingDesktopUpload.current = true;
|
||||
pendingDesktopUploadCollectionName.current = collectionName;
|
||||
setDesktopFilePaths(filePaths);
|
||||
setDesktopZipEntries(zipEntries);
|
||||
});
|
||||
}
|
||||
}, [
|
||||
|
@ -258,9 +258,8 @@ export default function Uploader(props: Props) {
|
|||
appContext.isCFProxyDisabled,
|
||||
]);
|
||||
|
||||
// this handles the change of selectorFiles changes on web when user selects
|
||||
// files for upload through the opened file/folder selector or dragAndDrop them
|
||||
// the webFiles state is update which triggers the upload of those files
|
||||
// Handle selected files when user selects files for upload through the open
|
||||
// file / open folder selection dialog, or drag-and-drops them.
|
||||
useEffect(() => {
|
||||
if (appContext.watchFolderView) {
|
||||
// if watch folder dialog is open don't catch the dropped file
|
||||
|
@ -463,19 +462,6 @@ export default function Uploader(props: Props) {
|
|||
}
|
||||
}, [webFiles, appContext.sharedFiles, electronFiles, desktopFilePaths]);
|
||||
|
||||
const resumeDesktopUpload = async (
|
||||
type: PICKED_UPLOAD_TYPE,
|
||||
electronFiles: ElectronFile[],
|
||||
collectionName: string,
|
||||
) => {
|
||||
if (electronFiles && electronFiles?.length > 0) {
|
||||
isPendingDesktopUpload.current = true;
|
||||
pendingDesktopUploadCollectionName.current = collectionName;
|
||||
pickedUploadType.current = type;
|
||||
setElectronFiles(electronFiles);
|
||||
}
|
||||
};
|
||||
|
||||
const preCollectionCreationAction = async () => {
|
||||
props.closeCollectionSelector?.();
|
||||
props.setShouldDisableDropzone(!uploadManager.shouldAllowNewUpload());
|
||||
|
|
|
@ -211,26 +211,26 @@ export default function Gallery() {
|
|||
disabled: shouldDisableDropzone,
|
||||
});
|
||||
const {
|
||||
selectedFiles: webFileSelectorFiles,
|
||||
selectedFiles: fileSelectorFiles,
|
||||
open: openFileSelector,
|
||||
getInputProps: getFileSelectorInputProps,
|
||||
} = useFileInput({
|
||||
directory: false,
|
||||
});
|
||||
const {
|
||||
selectedFiles: webFolderSelectorFiles,
|
||||
selectedFiles: folderSelectorFiles,
|
||||
open: openFolderSelector,
|
||||
getInputProps: getFolderSelectorInputProps,
|
||||
} = useFileInput({
|
||||
directory: true,
|
||||
});
|
||||
const {
|
||||
selectedFiles: webFileSelectorZipFiles,
|
||||
selectedFiles: fileSelectorZipFiles,
|
||||
open: openZipFileSelector,
|
||||
getInputProps: getZipFileSelectorInputProps,
|
||||
} = useFileInput({
|
||||
directory: false,
|
||||
accept: ".zip"
|
||||
accept: ".zip",
|
||||
});
|
||||
|
||||
const [isInSearchMode, setIsInSearchMode] = useState(false);
|
||||
|
@ -1121,7 +1121,6 @@ export default function Gallery() {
|
|||
null,
|
||||
false,
|
||||
)}
|
||||
uploadTypeSelectorIntent={uploadTypeSelectorIntent}
|
||||
setLoading={setBlockingLoad}
|
||||
setCollectionNamerAttributes={setCollectionNamerAttributes}
|
||||
setShouldDisableDropzone={setShouldDisableDropzone}
|
||||
|
@ -1130,15 +1129,18 @@ export default function Gallery() {
|
|||
isFirstUpload={
|
||||
!hasNonSystemCollections(collectionSummaries)
|
||||
}
|
||||
webFileSelectorFiles={webFileSelectorFiles}
|
||||
webFolderSelectorFiles={webFolderSelectorFiles}
|
||||
webFileSelectorZipFiles={webFileSelectorZipFiles}
|
||||
dragAndDropFiles={dragAndDropFiles}
|
||||
uploadTypeSelectorView={uploadTypeSelectorView}
|
||||
showUploadFilesDialog={openFileSelector}
|
||||
showUploadDirsDialog={openFolderSelector}
|
||||
showUploadZipFilesDialog={openZipFileSelector}
|
||||
showSessionExpiredMessage={showSessionExpiredMessage}
|
||||
{...{
|
||||
dragAndDropFiles,
|
||||
openFileSelector,
|
||||
fileSelectorFiles,
|
||||
openFolderSelector,
|
||||
folderSelectorFiles,
|
||||
openZipFileSelector,
|
||||
fileSelectorZipFiles,
|
||||
uploadTypeSelectorIntent,
|
||||
uploadTypeSelectorView,
|
||||
showSessionExpiredMessage,
|
||||
}}
|
||||
/>
|
||||
<Sidebar
|
||||
collectionSummaries={collectionSummaries}
|
||||
|
|
|
@ -118,14 +118,14 @@ export default function PublicCollectionGallery() {
|
|||
disabled: shouldDisableDropzone,
|
||||
});
|
||||
const {
|
||||
selectedFiles: webFileSelectorFiles,
|
||||
selectedFiles: fileSelectorFiles,
|
||||
open: openFileSelector,
|
||||
getInputProps: getFileSelectorInputProps,
|
||||
} = useFileInput({
|
||||
directory: false,
|
||||
});
|
||||
const {
|
||||
selectedFiles: webFolderSelectorFiles,
|
||||
selectedFiles: folderSelectorFiles,
|
||||
open: openFolderSelector,
|
||||
getInputProps: getFolderSelectorInputProps,
|
||||
} = useFileInput({
|
||||
|
@ -583,17 +583,19 @@ export default function PublicCollectionGallery() {
|
|||
setLoading={setBlockingLoad}
|
||||
setShouldDisableDropzone={setShouldDisableDropzone}
|
||||
setFiles={setPublicFiles}
|
||||
webFileSelectorFiles={webFileSelectorFiles}
|
||||
webFolderSelectorFiles={webFolderSelectorFiles}
|
||||
dragAndDropFiles={dragAndDropFiles}
|
||||
uploadTypeSelectorView={uploadTypeSelectorView}
|
||||
closeUploadTypeSelector={closeUploadTypeSelectorView}
|
||||
showUploadFilesDialog={openFileSelector}
|
||||
showUploadDirsDialog={openFolderSelector}
|
||||
showSessionExpiredMessage={showPublicLinkExpiredMessage}
|
||||
uploadTypeSelectorIntent={
|
||||
UploadTypeSelectorIntent.collectPhotos
|
||||
}
|
||||
{...{
|
||||
dragAndDropFiles,
|
||||
openFileSelector,
|
||||
fileSelectorFiles,
|
||||
openFolderSelector,
|
||||
folderSelectorFiles,
|
||||
}}
|
||||
/>
|
||||
<FilesDownloadProgress
|
||||
attributesList={filesDownloadProgressAttributesList}
|
||||
|
|
Loading…
Add table
Reference in a new issue