1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-03-04 00:18:40 +01:00

fix: specific actions for enterprise trial messages (#4001)

Co-authored-by: Nuno Góis <github@nunogois.com>
This commit is contained in:
Ivar Conradi Østhus 2023-06-19 13:48:26 +02:00 committed by GitHub
parent b97c6bdc7b
commit 02600880d1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 28 additions and 6 deletions

View File

@ -5,7 +5,7 @@ import { ConditionallyRender } from 'component/common/ConditionallyRender/Condit
import { Dialogue } from 'component/common/Dialogue/Dialogue';
import { Typography } from '@mui/material';
import { useNavigate } from 'react-router-dom';
import { IInstanceStatus } from 'interfaces/instance';
import { IInstanceStatus, InstancePlan } from 'interfaces/instance';
import { ADMIN } from 'component/providers/AccessProvider/permissions';
import AccessContext from 'contexts/AccessContext';
import useInstanceStatusApi from 'hooks/api/actions/useInstanceStatusApi/useInstanceStatusApi';
@ -44,6 +44,24 @@ const TrialDialog: VFC<ITrialDialogProps> = ({
return () => clearInterval(interval);
}, [expired]);
if (instanceStatus.plan === InstancePlan.ENTERPRISE) {
return (
<Dialogue
open={dialogOpen}
secondaryButtonText="Remind me later"
onClose={() => {
setDialogOpen(false);
}}
title={`Your free ${instanceStatus.plan} trial has expired!`}
>
<Typography>
Please contact your Unleash sales representative to avoid{' '}
<strong>deletion of your Unleash account.</strong>
</Typography>
</Dialogue>
);
}
if (hasAccess(ADMIN)) {
return (
<Dialogue

View File

@ -1,5 +1,5 @@
import { styled, Button, Typography } from '@mui/material';
import { IInstanceStatus } from 'interfaces/instance';
import { IInstanceStatus, InstancePlan } from 'interfaces/instance';
import { INSTANCE_STATUS_BAR_ID } from 'utils/testIds';
import { InfoOutlined, WarningAmber } from '@mui/icons-material';
import { useNavigate } from 'react-router-dom';
@ -86,7 +86,7 @@ const StatusBarExpired = ({ instanceStatus }: IInstanceStatusBarProps) => {
has expired. <strong>Upgrade trial</strong> otherwise your{' '}
<strong>account will be deleted.</strong>
</Typography>
<BillingLink />
<BillingLink instanceStatus={instanceStatus} />
</StyledWarningBar>
);
};
@ -105,7 +105,7 @@ const StatusBarExpiresSoon = ({ instanceStatus }: IInstanceStatusBarProps) => {
<strong>{timeRemaining}</strong> left of your free{' '}
{instanceStatus.plan} trial.
</Typography>
<BillingLink />
<BillingLink instanceStatus={instanceStatus} />
</StyledInfoBar>
);
};
@ -118,12 +118,12 @@ const StatusBarExpiresLater = ({ instanceStatus }: IInstanceStatusBarProps) => {
<strong>Heads up!</strong> You're currently on a free{' '}
{instanceStatus.plan} trial account.
</Typography>
<BillingLink />
<BillingLink instanceStatus={instanceStatus} />
</StyledInfoBar>
);
};
const BillingLink = () => {
const BillingLink = ({ instanceStatus }: IInstanceStatusBarProps) => {
const { hasAccess } = useContext(AccessContext);
const navigate = useNavigate();
@ -131,6 +131,10 @@ const BillingLink = () => {
return null;
}
if (instanceStatus.plan === InstancePlan.ENTERPRISE) {
return null;
}
return (
<StyledButton
onClick={() => navigate('/admin/billing')}