move choice modal to upload
This commit is contained in:
parent
35c07784bb
commit
605a54cabd
|
@ -22,6 +22,7 @@ import { Collection } from 'types/collection';
|
||||||
import { SetLoading, SetFiles } from 'types/gallery';
|
import { SetLoading, SetFiles } from 'types/gallery';
|
||||||
import { FileUploadResults, UPLOAD_STAGES } from 'constants/upload';
|
import { FileUploadResults, UPLOAD_STAGES } from 'constants/upload';
|
||||||
import { ElectronFile, FileWithCollection } from 'types/upload';
|
import { ElectronFile, FileWithCollection } from 'types/upload';
|
||||||
|
import UploadTypeChoiceModal from './UploadTypeChoiceModal';
|
||||||
|
|
||||||
const FIRST_ALBUM_NAME = 'My First Album';
|
const FIRST_ALBUM_NAME = 'My First Album';
|
||||||
|
|
||||||
|
@ -41,6 +42,8 @@ interface Props {
|
||||||
isFirstUpload: boolean;
|
isFirstUpload: boolean;
|
||||||
electronFiles: ElectronFile[];
|
electronFiles: ElectronFile[];
|
||||||
setElectronFiles: (files: ElectronFile[]) => void;
|
setElectronFiles: (files: ElectronFile[]) => void;
|
||||||
|
showUploadTypeChoiceModal: boolean;
|
||||||
|
setShowUploadTypeChoiceModal: (open: boolean) => void;
|
||||||
}
|
}
|
||||||
|
|
||||||
enum UPLOAD_STRATEGY {
|
enum UPLOAD_STRATEGY {
|
||||||
|
@ -410,6 +413,13 @@ export default function Upload(props: Props) {
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
|
<UploadTypeChoiceModal
|
||||||
|
setElectronFiles={props.setElectronFiles}
|
||||||
|
showUploadTypeChoiceModal={props.showUploadTypeChoiceModal}
|
||||||
|
setShowUploadTypeChoiceModal={
|
||||||
|
props.setShowUploadTypeChoiceModal
|
||||||
|
}
|
||||||
|
/>
|
||||||
<UploadProgress
|
<UploadProgress
|
||||||
now={percentComplete}
|
now={percentComplete}
|
||||||
filenames={filenames}
|
filenames={filenames}
|
||||||
|
|
|
@ -1,3 +1,37 @@
|
||||||
|
import DeleteBtn from 'components/DeleteBtn';
|
||||||
|
import EnteSpinner from 'components/EnteSpinner';
|
||||||
|
import FixCreationTime, {
|
||||||
|
FixCreationTimeAttributes,
|
||||||
|
} from 'components/FixCreationTime';
|
||||||
|
import FullScreenDropZone from 'components/FullScreenDropZone';
|
||||||
|
import { LoadingOverlay } from 'components/LoadingOverlay';
|
||||||
|
import MessageDialog, { MessageAttributes } from 'components/MessageDialog';
|
||||||
|
import AlertBanner from 'components/pages/gallery/AlertBanner';
|
||||||
|
import CollectionNamer, {
|
||||||
|
CollectionNamerAttributes,
|
||||||
|
} from 'components/pages/gallery/CollectionNamer';
|
||||||
|
import Collections from 'components/pages/gallery/Collections';
|
||||||
|
import CollectionSelector, {
|
||||||
|
CollectionSelectorAttributes,
|
||||||
|
} from 'components/pages/gallery/CollectionSelector';
|
||||||
|
import PlanSelector from 'components/pages/gallery/PlanSelector';
|
||||||
|
import SelectedFileOptions from 'components/pages/gallery/SelectedFileOptions';
|
||||||
|
import Upload from 'components/pages/gallery/Upload';
|
||||||
|
import UploadButton from 'components/pages/gallery/UploadButton';
|
||||||
|
import PhotoFrame from 'components/PhotoFrame';
|
||||||
|
import SearchBar from 'components/SearchBar';
|
||||||
|
import Sidebar from 'components/Sidebar';
|
||||||
|
import ToastNotification from 'components/ToastNotification';
|
||||||
|
import {
|
||||||
|
ALL_SECTION,
|
||||||
|
ARCHIVE_SECTION,
|
||||||
|
CollectionType,
|
||||||
|
TRASH_SECTION,
|
||||||
|
} from 'constants/collection';
|
||||||
|
import { VISIBILITY_STATE } from 'constants/file';
|
||||||
|
import { PAGES } from 'constants/pages';
|
||||||
|
import { useRouter } from 'next/router';
|
||||||
|
import { AppContext } from 'pages/_app';
|
||||||
import React, {
|
import React, {
|
||||||
createContext,
|
createContext,
|
||||||
useContext,
|
useContext,
|
||||||
|
@ -5,44 +39,53 @@ import React, {
|
||||||
useRef,
|
useRef,
|
||||||
useState,
|
useState,
|
||||||
} from 'react';
|
} from 'react';
|
||||||
import { useRouter } from 'next/router';
|
import { useDropzone } from 'react-dropzone';
|
||||||
import { clearKeys, getKey, SESSION_KEYS } from 'utils/storage/sessionStorage';
|
|
||||||
import {
|
|
||||||
getLocalFiles,
|
|
||||||
syncFiles,
|
|
||||||
updateMagicMetadata,
|
|
||||||
trashFiles,
|
|
||||||
deleteFromTrash,
|
|
||||||
} from 'services/fileService';
|
|
||||||
import styled from 'styled-components';
|
|
||||||
import LoadingBar from 'react-top-loading-bar';
|
import LoadingBar from 'react-top-loading-bar';
|
||||||
|
import billingService from 'services/billingService';
|
||||||
import {
|
import {
|
||||||
syncCollections,
|
createCollection,
|
||||||
getCollectionsAndTheirLatestFile,
|
getCollectionsAndTheirLatestFile,
|
||||||
getFavItemIds,
|
getFavItemIds,
|
||||||
getLocalCollections,
|
getLocalCollections,
|
||||||
getNonEmptyCollections,
|
getNonEmptyCollections,
|
||||||
createCollection,
|
syncCollections,
|
||||||
} from 'services/collectionService';
|
} from 'services/collectionService';
|
||||||
import constants from 'utils/strings/constants';
|
|
||||||
import billingService from 'services/billingService';
|
|
||||||
import { checkSubscriptionPurchase } from 'utils/billing';
|
|
||||||
|
|
||||||
import FullScreenDropZone from 'components/FullScreenDropZone';
|
|
||||||
import Sidebar from 'components/Sidebar';
|
|
||||||
import { checkConnectivity } from 'utils/common';
|
|
||||||
import {
|
import {
|
||||||
isFirstLogin,
|
deleteFromTrash,
|
||||||
justSignedUp,
|
getLocalFiles,
|
||||||
setIsFirstLogin,
|
syncFiles,
|
||||||
setJustSignedUp,
|
trashFiles,
|
||||||
} from 'utils/storage';
|
updateMagicMetadata,
|
||||||
|
} from 'services/fileService';
|
||||||
|
import {
|
||||||
|
clearLocalTrash,
|
||||||
|
emptyTrash,
|
||||||
|
getLocalTrash,
|
||||||
|
getTrashedFiles,
|
||||||
|
syncTrash,
|
||||||
|
} from 'services/trashService';
|
||||||
import { isTokenValid, logoutUser } from 'services/userService';
|
import { isTokenValid, logoutUser } from 'services/userService';
|
||||||
import MessageDialog, { MessageAttributes } from 'components/MessageDialog';
|
import styled from 'styled-components';
|
||||||
import { useDropzone } from 'react-dropzone';
|
import { Collection, CollectionAndItsLatestFile } from 'types/collection';
|
||||||
import EnteSpinner from 'components/EnteSpinner';
|
import { EnteFile } from 'types/file';
|
||||||
import { LoadingOverlay } from 'components/LoadingOverlay';
|
import {
|
||||||
import PhotoFrame from 'components/PhotoFrame';
|
GalleryContextType,
|
||||||
|
NotificationAttributes,
|
||||||
|
Search,
|
||||||
|
SelectedState,
|
||||||
|
} from 'types/gallery';
|
||||||
|
import { Trash } from 'types/trash';
|
||||||
|
import { ElectronFile } from 'types/upload';
|
||||||
|
import { checkSubscriptionPurchase } from 'utils/billing';
|
||||||
|
import {
|
||||||
|
COLLECTION_OPS_TYPE,
|
||||||
|
getSelectedCollection,
|
||||||
|
handleCollectionOps,
|
||||||
|
isFavoriteCollection,
|
||||||
|
isSharedCollection,
|
||||||
|
} from 'utils/collection';
|
||||||
|
import { checkConnectivity } from 'utils/common';
|
||||||
|
import { CustomError, ServerErrorCodes } from 'utils/error';
|
||||||
import {
|
import {
|
||||||
changeFilesVisibility,
|
changeFilesVisibility,
|
||||||
downloadFiles,
|
downloadFiles,
|
||||||
|
@ -52,61 +95,15 @@ import {
|
||||||
sortFiles,
|
sortFiles,
|
||||||
sortFilesIntoCollections,
|
sortFilesIntoCollections,
|
||||||
} from 'utils/file';
|
} from 'utils/file';
|
||||||
import SearchBar from 'components/SearchBar';
|
|
||||||
import SelectedFileOptions from 'components/pages/gallery/SelectedFileOptions';
|
|
||||||
import CollectionSelector, {
|
|
||||||
CollectionSelectorAttributes,
|
|
||||||
} from 'components/pages/gallery/CollectionSelector';
|
|
||||||
import CollectionNamer, {
|
|
||||||
CollectionNamerAttributes,
|
|
||||||
} from 'components/pages/gallery/CollectionNamer';
|
|
||||||
import AlertBanner from 'components/pages/gallery/AlertBanner';
|
|
||||||
import UploadButton from 'components/pages/gallery/UploadButton';
|
|
||||||
import PlanSelector from 'components/pages/gallery/PlanSelector';
|
|
||||||
import Upload from 'components/pages/gallery/Upload';
|
|
||||||
import {
|
|
||||||
ALL_SECTION,
|
|
||||||
ARCHIVE_SECTION,
|
|
||||||
CollectionType,
|
|
||||||
TRASH_SECTION,
|
|
||||||
} from 'constants/collection';
|
|
||||||
import { AppContext } from 'pages/_app';
|
|
||||||
import { CustomError, ServerErrorCodes } from 'utils/error';
|
|
||||||
import { PAGES } from 'constants/pages';
|
|
||||||
import {
|
|
||||||
COLLECTION_OPS_TYPE,
|
|
||||||
isSharedCollection,
|
|
||||||
handleCollectionOps,
|
|
||||||
getSelectedCollection,
|
|
||||||
isFavoriteCollection,
|
|
||||||
} from 'utils/collection';
|
|
||||||
import { logError } from 'utils/sentry';
|
import { logError } from 'utils/sentry';
|
||||||
import {
|
import {
|
||||||
clearLocalTrash,
|
isFirstLogin,
|
||||||
emptyTrash,
|
justSignedUp,
|
||||||
getLocalTrash,
|
setIsFirstLogin,
|
||||||
getTrashedFiles,
|
setJustSignedUp,
|
||||||
syncTrash,
|
} from 'utils/storage';
|
||||||
} from 'services/trashService';
|
import { clearKeys, getKey, SESSION_KEYS } from 'utils/storage/sessionStorage';
|
||||||
import { Trash } from 'types/trash';
|
import constants from 'utils/strings/constants';
|
||||||
|
|
||||||
import DeleteBtn from 'components/DeleteBtn';
|
|
||||||
import FixCreationTime, {
|
|
||||||
FixCreationTimeAttributes,
|
|
||||||
} from 'components/FixCreationTime';
|
|
||||||
import { Collection, CollectionAndItsLatestFile } from 'types/collection';
|
|
||||||
import { EnteFile } from 'types/file';
|
|
||||||
import {
|
|
||||||
GalleryContextType,
|
|
||||||
SelectedState,
|
|
||||||
Search,
|
|
||||||
NotificationAttributes,
|
|
||||||
} from 'types/gallery';
|
|
||||||
import Collections from 'components/pages/gallery/Collections';
|
|
||||||
import { VISIBILITY_STATE } from 'constants/file';
|
|
||||||
import ToastNotification from 'components/ToastNotification';
|
|
||||||
import { ElectronFile } from 'types/upload';
|
|
||||||
import UploadTypeChoiceModal from 'components/pages/gallery/UploadTypeChoiceModal';
|
|
||||||
|
|
||||||
export const DeadCenter = styled.div`
|
export const DeadCenter = styled.div`
|
||||||
flex: 1;
|
flex: 1;
|
||||||
|
@ -672,6 +669,8 @@ export default function Gallery() {
|
||||||
isFirstUpload={collectionsAndTheirLatestFile?.length === 0}
|
isFirstUpload={collectionsAndTheirLatestFile?.length === 0}
|
||||||
electronFiles={electronFiles}
|
electronFiles={electronFiles}
|
||||||
setElectronFiles={setElectronFiles}
|
setElectronFiles={setElectronFiles}
|
||||||
|
showUploadTypeChoiceModal={showUploadTypeChoiceModal}
|
||||||
|
setShowUploadTypeChoiceModal={setShowUploadTypeChoiceModal}
|
||||||
/>
|
/>
|
||||||
<Sidebar
|
<Sidebar
|
||||||
collections={collections}
|
collections={collections}
|
||||||
|
@ -683,11 +682,6 @@ export default function Gallery() {
|
||||||
openFileUploader={openFileUploader}
|
openFileUploader={openFileUploader}
|
||||||
setShowUploadTypeChoiceModal={setShowUploadTypeChoiceModal}
|
setShowUploadTypeChoiceModal={setShowUploadTypeChoiceModal}
|
||||||
/>
|
/>
|
||||||
<UploadTypeChoiceModal
|
|
||||||
setElectronFiles={setElectronFiles}
|
|
||||||
showUploadTypeChoiceModal={showUploadTypeChoiceModal}
|
|
||||||
setShowUploadTypeChoiceModal={setShowUploadTypeChoiceModal}
|
|
||||||
/>
|
|
||||||
<PhotoFrame
|
<PhotoFrame
|
||||||
files={files}
|
files={files}
|
||||||
setFiles={setFiles}
|
setFiles={setFiles}
|
||||||
|
|
Loading…
Reference in a new issue