From 80cc37fbd437bca44a6a59dfee0115bf1eeaefbd Mon Sep 17 00:00:00 2001 From: Vardan Hakobyan Date: Tue, 15 Feb 2022 19:48:35 +0400 Subject: [PATCH] fix: allow users to disable any active cloud integration even if they are not entitled to cloud backups (#870) * fix: allow users to disable any active cloud integration even if they are not entitled to cloud backups * chore: better variable naming * refactor: move css constant away from the global constants file * refactor: avoid importing a constant css class from non-shared file --- .../panes/backups-segments/EmailBackups.tsx | 8 +-- .../cloud-backups/CloudBackupProvider.tsx | 11 ++-- .../backups-segments/cloud-backups/index.tsx | 54 ++++++++++--------- 3 files changed, 41 insertions(+), 32 deletions(-) diff --git a/app/assets/javascripts/preferences/panes/backups-segments/EmailBackups.tsx b/app/assets/javascripts/preferences/panes/backups-segments/EmailBackups.tsx index 697def50a..804e0d98b 100644 --- a/app/assets/javascripts/preferences/panes/backups-segments/EmailBackups.tsx +++ b/app/assets/javascripts/preferences/panes/backups-segments/EmailBackups.tsx @@ -34,7 +34,7 @@ export const EmailBackups = observer(({ application }: Props) => { >([]); const [isFailedBackupEmailMuted, setIsFailedBackupEmailMuted] = useState(true); - const [isEntitledForEmailBackups, setIsEntitledForEmailBackups] = + const [isEntitledToEmailBackups, setIsEntitledToEmailBackups] = useState(false); const loadEmailFrequencySetting = useCallback(async () => { @@ -65,7 +65,7 @@ export const EmailBackups = observer(({ application }: Props) => { const emailBackupsFeatureStatus = application.getFeatureStatus( FeatureIdentifier.DailyEmailBackup ); - setIsEntitledForEmailBackups( + setIsEntitledToEmailBackups( emailBackupsFeatureStatus === FeatureStatus.Entitled ); @@ -126,7 +126,7 @@ export const EmailBackups = observer(({ application }: Props) => { Email Backups - {!isEntitledForEmailBackups && ( + {!isEntitledToEmailBackups && ( <> A Plus or{' '} @@ -142,7 +142,7 @@ export const EmailBackups = observer(({ application }: Props) => { )}
= ({ application, providerName, + isEntitledToCloudBackups, }) => { const [authBegan, setAuthBegan] = useState(false); const [successfullyInstalled, setSuccessfullyInstalled] = useState(false); @@ -174,6 +176,9 @@ export const CloudBackupProvider: FunctionComponent = ({ const isExpanded = authBegan || successfullyInstalled; const shouldShowEnableButton = !backupFrequency && !authBegan; + const additionalClass = isEntitledToCloudBackups + ? '' + : 'faded cursor-default pointer-events-none'; return (
= ({ }`} >
- {providerName} + {providerName} {successfullyInstalled && (

{providerName} has been successfully enabled.

@@ -213,7 +218,7 @@ export const CloudBackupProvider: FunctionComponent = ({
@@ -222,7 +227,7 @@ export const CloudBackupProvider: FunctionComponent = ({ {backupFrequency && (