fix: always allow access to billing (#1476)
This commit is contained in:
@@ -12,9 +12,10 @@ import { createBillingPortal } from './create-billing-portal.action';
|
|||||||
|
|
||||||
export type BillingPortalButtonProps = {
|
export type BillingPortalButtonProps = {
|
||||||
buttonProps?: React.ComponentProps<typeof Button>;
|
buttonProps?: React.ComponentProps<typeof Button>;
|
||||||
|
children?: React.ReactNode;
|
||||||
};
|
};
|
||||||
|
|
||||||
export const BillingPortalButton = ({ buttonProps }: BillingPortalButtonProps) => {
|
export const BillingPortalButton = ({ buttonProps, children }: BillingPortalButtonProps) => {
|
||||||
const { _ } = useLingui();
|
const { _ } = useLingui();
|
||||||
const { toast } = useToast();
|
const { toast } = useToast();
|
||||||
|
|
||||||
@@ -63,7 +64,7 @@ export const BillingPortalButton = ({ buttonProps }: BillingPortalButtonProps) =
|
|||||||
onClick={async () => handleFetchPortalUrl()}
|
onClick={async () => handleFetchPortalUrl()}
|
||||||
loading={isFetchingPortalUrl}
|
loading={isFetchingPortalUrl}
|
||||||
>
|
>
|
||||||
<Trans>Manage Subscription</Trans>
|
{children || <Trans>Manage Subscription</Trans>}
|
||||||
</Button>
|
</Button>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -67,6 +67,8 @@ export default async function BillingSettingsPage() {
|
|||||||
!subscription || subscription.status === SubscriptionStatus.INACTIVE;
|
!subscription || subscription.status === SubscriptionStatus.INACTIVE;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
<div>
|
||||||
|
<div className="flex flex-row items-end justify-between">
|
||||||
<div>
|
<div>
|
||||||
<h3 className="text-2xl font-semibold">
|
<h3 className="text-2xl font-semibold">
|
||||||
<Trans>Billing</Trans>
|
<Trans>Billing</Trans>
|
||||||
@@ -102,12 +104,16 @@ export default async function BillingSettingsPage() {
|
|||||||
{subscription.cancelAtPeriodEnd ? (
|
{subscription.cancelAtPeriodEnd ? (
|
||||||
<span>
|
<span>
|
||||||
end on{' '}
|
end on{' '}
|
||||||
<span className="font-semibold">{i18n.date(subscription.periodEnd)}.</span>
|
<span className="font-semibold">
|
||||||
|
{i18n.date(subscription.periodEnd)}.
|
||||||
|
</span>
|
||||||
</span>
|
</span>
|
||||||
) : (
|
) : (
|
||||||
<span>
|
<span>
|
||||||
automatically renew on{' '}
|
automatically renew on{' '}
|
||||||
<span className="font-semibold">{i18n.date(subscription.periodEnd)}.</span>
|
<span className="font-semibold">
|
||||||
|
{i18n.date(subscription.periodEnd)}.
|
||||||
|
</span>
|
||||||
</span>
|
</span>
|
||||||
)}
|
)}
|
||||||
</span>
|
</span>
|
||||||
@@ -123,6 +129,14 @@ export default async function BillingSettingsPage() {
|
|||||||
))
|
))
|
||||||
.otherwise(() => null)}
|
.otherwise(() => null)}
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{isMissingOrInactiveOrFreePlan && (
|
||||||
|
<BillingPortalButton>
|
||||||
|
<Trans>Manage billing</Trans>
|
||||||
|
</BillingPortalButton>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
|
||||||
<hr className="my-4" />
|
<hr className="my-4" />
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user