From 624726734fe1e4c098d8e92b11714965d905ce10 Mon Sep 17 00:00:00 2001 From: Manav Rathi Date: Sat, 21 Sep 2024 10:25:46 +0530 Subject: [PATCH] Reify --- .../Collections/CollectionOptions/index.tsx | 62 ++++++++----------- 1 file changed, 27 insertions(+), 35 deletions(-) diff --git a/web/apps/photos/src/components/Collections/CollectionOptions/index.tsx b/web/apps/photos/src/components/Collections/CollectionOptions/index.tsx index 4bf2588042..0a3ce94551 100644 --- a/web/apps/photos/src/components/Collections/CollectionOptions/index.tsx +++ b/web/apps/photos/src/components/Collections/CollectionOptions/index.tsx @@ -368,7 +368,7 @@ const CollectionOptions = (props: CollectionOptionsProps) => { setActiveCollectionID(ALL_SECTION); }; - const downloadCollection2 = () => { + const _downloadCollection = () => { if (isActiveCollectionDownloadInProgress()) return; if (collectionSummaryType == "hiddenItems") { @@ -392,7 +392,7 @@ const CollectionOptions = (props: CollectionOptionsProps) => { }; const handleDownloadCollection = () => - void downloadCollection2().catch(handleError); + void _downloadCollection().catch(handleError); const confirmLeaveSharedAlbum = () => { setDialogMessage({ @@ -459,21 +459,22 @@ const CollectionOptions = (props: CollectionOptionsProps) => { {collectionSummaryType == "trash" ? ( ) : collectionSummaryType == "favorites" ? ( - + + {t("DOWNLOAD_FAVORITES")} + ) : collectionSummaryType == "uncategorized" ? ( - + + {t("DOWNLOAD_UNCATEGORIZED")} + ) : collectionSummaryType == "hiddenItems" ? ( - + + {t("DOWNLOAD_HIDDEN_ITEMS")} + ) : collectionSummaryType == "incomingShareViewer" || collectionSummaryType == "incomingShareCollaborator" ? ( = ({ onClick }) => ( ); -interface OnlyDownloadCollectionOptionProps { - handleCollectionAction: ( - action: CollectionActions, - loader?: boolean, - ) => () => Promise; - downloadOptionText?: string; - isDownloadInProgress?: boolean; -} +type DownloadOptionProps = OptionProps & { + isDownloadInProgress?: () => boolean; +}; -const OnlyDownloadCollectionOption: React.FC< - OnlyDownloadCollectionOptionProps -> = ({ - handleCollectionAction, - downloadOptionText = t("DOWNLOAD"), - isDownloadInProgress, -}) => ( +const DownloadOption: React.FC< + React.PropsWithChildren +> = ({ isDownloadInProgress, onClick, children }) => ( - ) : ( + isDownloadInProgress && isDownloadInProgress() ? ( + ) : ( + ) } - onClick={handleCollectionAction(CollectionActions.DOWNLOAD, false)} + onClick={onClick} > - {downloadOptionText} + {children} );