diff options
author | romain sanchez <romain.sanchez@proton.ch> | 2022-09-19 19:22:48 +0300 |
---|---|---|
committer | romain sanchez <romain.sanchez@proton.ch> | 2022-09-30 16:04:31 +0300 |
commit | fa0ad03486be1f1036976044a57c0b28e25468cf (patch) | |
tree | d5e8cc34411de4223692c0a2e5aa6a61931189f1 | |
parent | 15998fa7e152bc228a9028dc6e55487f24480e9c (diff) |
Disable always move sender checkbox if no folder has been selected
MAILWEB-3572
-rw-r--r-- | applications/mail/src/app/components/dropdown/LabelDropdown.tsx | 12 | ||||
-rw-r--r-- | applications/mail/src/app/components/dropdown/MoveDropdown.tsx | 10 |
2 files changed, 11 insertions, 11 deletions
diff --git a/applications/mail/src/app/components/dropdown/LabelDropdown.tsx b/applications/mail/src/app/components/dropdown/LabelDropdown.tsx index 0610084d48..12ce4617f9 100644 --- a/applications/mail/src/app/components/dropdown/LabelDropdown.tsx +++ b/applications/mail/src/app/components/dropdown/LabelDropdown.tsx @@ -126,7 +126,7 @@ const LabelDropdown = ({ selectedIDs, labelID, onClose, onLock, breakpoints }: P }, {} as { [labelID: string]: boolean }); }, [selectedIDs, initialState, selectedLabelIDs]); - const alwaysDisabled = useMemo(() => { + const alwaysCheckboxDisabled = useMemo(() => { return ( !getSendersToFilter(getElementsFromIDs(selectedIDs)).length || Object.values(changes).every((value) => !value) @@ -134,10 +134,10 @@ const LabelDropdown = ({ selectedIDs, labelID, onClose, onLock, breakpoints }: P }, [getSendersToFilter, selectedIDs, changes]); useEffect(() => { - if (alwaysDisabled && always) { + if (alwaysCheckboxDisabled && always) { setAlways(false); } - }, [alwaysDisabled, always]); + }, [alwaysCheckboxDisabled, always]); useEffect(() => onLock(!containFocus), [containFocus]); @@ -228,7 +228,7 @@ const LabelDropdown = ({ selectedIDs, labelID, onClose, onLock, breakpoints }: P await withLoading(handleApply()); }; - const alwaysTooltip = alwaysDisabled + const alwaysTooltip = alwaysCheckboxDisabled ? c('Context filtering disabled').t`Your selection contains only yourself as sender` : undefined; @@ -314,12 +314,12 @@ const LabelDropdown = ({ selectedIDs, labelID, onClose, onLock, breakpoints }: P </div> {displayContextFiltering && ( <Tooltip title={alwaysTooltip}> - <div className={classnames(['p1 border-top', alwaysDisabled && 'color-disabled'])}> + <div className={classnames(['p1 border-top', alwaysCheckboxDisabled && 'color-disabled'])}> <Checkbox className="mr0-5" id={alwaysCheckID} checked={always} - disabled={alwaysDisabled} + disabled={alwaysCheckboxDisabled} onChange={({ target }) => setAlways(target.checked)} data-testid="label-dropdown:always-move" data-prevent-arrow-navigation diff --git a/applications/mail/src/app/components/dropdown/MoveDropdown.tsx b/applications/mail/src/app/components/dropdown/MoveDropdown.tsx index 7eaadba950..ecb65bf812 100644 --- a/applications/mail/src/app/components/dropdown/MoveDropdown.tsx +++ b/applications/mail/src/app/components/dropdown/MoveDropdown.tsx @@ -92,8 +92,8 @@ const MoveDropdown = ({ selectedIDs, labelID, conversationMode, onClose, onLock, const canMoveToInbox = isMessage ? !!getMessagesAuthorizedToMove(elements as Message[], INBOX).length : true; const canMoveToSpam = isMessage ? !!getMessagesAuthorizedToMove(elements as Message[], SPAM).length : true; - const alwaysDisabled = useMemo(() => { - return !getSendersToFilter(elements).length; + const alwaysCheckboxDisabled = useMemo(() => { + return !getSendersToFilter(elements).length || !selectedFolder; }, [getSendersToFilter, elements]); const list = treeview @@ -147,7 +147,7 @@ const MoveDropdown = ({ selectedIDs, labelID, conversationMode, onClose, onLock, const autoFocusSearch = !breakpoints.isNarrow; const applyDisabled = selectedFolder?.ID === undefined; - const alwaysTooltip = alwaysDisabled + const alwaysTooltip = alwaysCheckboxDisabled ? c('Context filtering disabled').t`Your selection contains only yourself as sender` : undefined; @@ -229,12 +229,12 @@ const MoveDropdown = ({ selectedIDs, labelID, conversationMode, onClose, onLock, </div> {contextFilteringFeature.feature?.Value === true && contextFilteringFeature.loading === false && ( <Tooltip title={alwaysTooltip}> - <div className={classnames(['p1 pb0 border-top', alwaysDisabled && 'color-disabled'])}> + <div className={classnames(['p1 pb0 border-top', alwaysCheckboxDisabled && 'color-disabled'])}> <Checkbox className="mr0-5" id={alwaysCheckID} checked={always} - disabled={alwaysDisabled} + disabled={alwaysCheckboxDisabled} onChange={({ target }) => setAlways(target.checked)} data-testid="move-dropdown:always-move" data-prevent-arrow-navigation |