From 54415f6e992514d7c4bc5f8df5c011668eaed774 Mon Sep 17 00:00:00 2001 From: Sam Becker Date: Sat, 22 Mar 2025 18:15:54 -0500 Subject: [PATCH] Refine upload error status text --- src/admin/upload/AdminUploadPanel.tsx | 2 +- src/photo/PhotoUploadWithStatus.tsx | 55 +++++++++++++-------------- src/state/AppState.ts | 12 +++--- src/state/AppStateProvider.tsx | 21 +++++----- 4 files changed, 44 insertions(+), 46 deletions(-) diff --git a/src/admin/upload/AdminUploadPanel.tsx b/src/admin/upload/AdminUploadPanel.tsx index 5d809f06..4df9edf4 100644 --- a/src/admin/upload/AdminUploadPanel.tsx +++ b/src/admin/upload/AdminUploadPanel.tsx @@ -28,7 +28,7 @@ export default function AdminUploadPanel({ return ( {showStatusText &&
{isUploading && !showButton && } - - {isUploading - ? isFinishing - ? <> - Finishing ... - - : <> - {!showButton && uploadStatusText - ? <> - - Uploading {uploadStatusText} - - {': '} - {fileUploadName} - - : - Uploading {fileUploadName} - } - - : !showButton && <>Initializing} - + {uploadError + ? + {uploadError} + + : + {isUploading + ? isFinishing + ? <> + Finishing ... + + : <> + {!showButton && uploadStatusText + ? <> + + Uploading {uploadStatusText} + + {': '} + {fileUploadName} + + : + Uploading {fileUploadName} + } + + : !showButton && <>Initializing} + }
} - {uploadError && -
- {uploadError} -
} {debug && debugDownload && void shouldRespondToKeyboardCommands?: boolean setShouldRespondToKeyboardCommands?: Dispatch> - // UPLOAD - startUpload?: (onStart?: () => void) => void - uploadInputRef?: RefObject - uploadState: UploadState - setUploadState?: (uploadState: Partial) => void - resetUploadState?: () => void // MODAL isCommandKOpen?: boolean setIsCommandKOpen?: Dispatch> @@ -54,6 +48,12 @@ export type AppStateContext = { isPerformingSelectEdit?: boolean setIsPerformingSelectEdit?: Dispatch> insightsIndicatorStatus?: InsightsIndicatorStatus + // UPLOAD + startUpload?: (onStart?: () => void) => void + uploadInputRef?: RefObject + uploadState: UploadState + setUploadState?: (uploadState: Partial) => void + resetUploadState?: () => void // DEBUG isGridHighDensity?: boolean setIsGridHighDensity?: Dispatch> diff --git a/src/state/AppStateProvider.tsx b/src/state/AppStateProvider.tsx index 92d7c1fb..af49e2a1 100644 --- a/src/state/AppStateProvider.tsx +++ b/src/state/AppStateProvider.tsx @@ -45,10 +45,6 @@ export default function AppStateProvider({ useState(); const [shouldRespondToKeyboardCommands, setShouldRespondToKeyboardCommands] = useState(true); - // UPLOAD - const uploadInputRef = useRef(null); - const [uploadState, _setUploadState] = - useState(INITIAL_UPLOAD_STATE); // MODAL const [isCommandKOpen, setIsCommandKOpen] = useState(false); @@ -68,6 +64,9 @@ export default function AppStateProvider({ useState(); const [isPerformingSelectEdit, setIsPerformingSelectEdit] = useState(false); + // UPLOAD + const uploadInputRef = useRef(null); + const [uploadState, _setUploadState] = useState(INITIAL_UPLOAD_STATE); // DEBUG const [isGridHighDensity, setIsGridHighDensity] = useState(HIGH_DENSITY_GRID); @@ -135,7 +134,7 @@ export default function AppStateProvider({ if (isPathAdmin(pathname)) { router.push(PATH_SIGN_IN); } }, [router, pathname]); - // Returns false when an upload is cancelled + // Returns false when upload is cancelled const startUpload = useCallback(() => new Promise(resolve => { if (uploadInputRef.current) { uploadInputRef.current.value = ''; @@ -168,12 +167,6 @@ export default function AppStateProvider({ clearNextPhotoAnimation: () => setNextPhotoAnimation?.(undefined), shouldRespondToKeyboardCommands, setShouldRespondToKeyboardCommands, - // UPLOAD - uploadInputRef, - startUpload, - uploadState, - setUploadState, - resetUploadState, // MODAL isCommandKOpen, setIsCommandKOpen, @@ -198,6 +191,12 @@ export default function AppStateProvider({ setSelectedPhotoIds, isPerformingSelectEdit, setIsPerformingSelectEdit, + // UPLOAD + uploadInputRef, + startUpload, + uploadState, + setUploadState, + resetUploadState, // DEBUG isGridHighDensity, setIsGridHighDensity,