Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
Maxime Lalo 2024-04-09 16:03:11 +02:00
commit 9457f8a387

View File

@ -22,14 +22,34 @@ export default function SubscriptionFacturation() {
const router = useRouter(); const router = useRouter();
const [subscription, setSubscription] = useState<Subscription | null>(null); const [subscription, setSubscription] = useState<Subscription | null>(null);
const { close: closeCancelSubscription, isOpen: isCancelSubscriptionOpen, open: openCancelSubscription } = useOpenable(); const { close: closeCancelSubscription, isOpen: isCancelSubscriptionOpen } = useOpenable();
const { close: closeConfirmation, isOpen: isConfirmationOpen, open: openConfirmation } = useOpenable(); const { close: closeConfirmation, isOpen: isConfirmationOpen } = useOpenable();
const cancelSubscription = useCallback(() => { // const cancelSubscription = useCallback(() => {
closeCancelSubscription(); // closeCancelSubscription();
openConfirmation(); // openConfirmation();
return; // return;
}, [closeCancelSubscription, openConfirmation]); // }, [closeCancelSubscription, openConfirmation]);
const manageSubscription = async () => {
try {
const jwt = JwtService.getInstance().decodeJwt();
const subscription = await Subscriptions.getInstance().get({ where: { office: { uid: jwt?.office_Id } } });
if (!subscription[0]) return;
const stripe_client_portal = await Stripe.getInstance().getClientPortalSession(subscription[0].stripe_subscription_id!);
router.push(stripe_client_portal.url + "/subscriptions/" + subscription[0].stripe_subscription_id + "/update");
} catch (error) {}
};
const cancelSubscription = async () => {
try {
const jwt = JwtService.getInstance().decodeJwt();
const subscription = await Subscriptions.getInstance().get({ where: { office: { uid: jwt?.office_Id } } });
if (!subscription[0]) return;
const stripe_client_portal = await Stripe.getInstance().getClientPortalSession(subscription[0].stripe_subscription_id!);
router.push(stripe_client_portal.url + "/subscriptions/" + subscription[0].stripe_subscription_id + "/cancel");
} catch (error) {}
};
const manageBilling = async () => { const manageBilling = async () => {
try { try {
@ -106,23 +126,23 @@ export default function SubscriptionFacturation() {
</div> </div>
<div className={classes["button-container"]}> <div className={classes["button-container"]}>
{subscription.type === "UNLIMITED" && ( {subscription.type === "UNLIMITED" && (
<Link // <Link
href={Module.getInstance().get().modules.pages.Subscription.pages.Manage.pages.Standard.props.path}> // href={Module.getInstance().get().modules.pages.Subscription.pages.Manage.pages.Standard.props.path}>
<Button fullwidth variant={EButtonVariant.GHOST}> <Button onClick={manageSubscription} fullwidth variant={EButtonVariant.GHOST}>
Rétrograder mon abonnement Rétrograder mon abonnement
</Button> </Button>
</Link> // </Link>
)} )}
{subscription.type === "STANDARD" && ( {subscription.type === "STANDARD" && (
<> <>
<Link {/* <Link
href={ href={
Module.getInstance().get().modules.pages.Subscription.pages.Manage.pages.Standard.props.path Module.getInstance().get().modules.pages.Subscription.pages.Manage.pages.Standard.props.path
}> }> */}
<Button fullwidth variant={EButtonVariant.PRIMARY}> <Button onClick={manageBilling} fullwidth variant={EButtonVariant.PRIMARY}>
Gérer mon abonnement Gérer mon abonnement
</Button> </Button>
</Link> {/* </Link> */}
<Link <Link
href={ href={
Module.getInstance().get().modules.pages.Subscription.pages.ManageCollaborators.props.path Module.getInstance().get().modules.pages.Subscription.pages.ManageCollaborators.props.path
@ -175,18 +195,18 @@ export default function SubscriptionFacturation() {
</Button> </Button>
)} )}
{subscription.type === "STANDARD" && ( {subscription.type === "STANDARD" && (
<Link // <Link
href={Module.getInstance().get().modules.pages.Subscription.pages.Manage.pages.Illimity.props.path}> // href={Module.getInstance().get().modules.pages.Subscription.pages.Manage.pages.Illimity.props.path}>
<Button fullwidth variant={EButtonVariant.GHOST}> <Button onClick={manageSubscription} fullwidth variant={EButtonVariant.GHOST}>
Améliorer mon abonnement Améliorer mon abonnement
</Button> </Button>
</Link> // </Link>
)} )}
</div> </div>
</div> </div>
</div> </div>
<div className={classes["actions-container"]}> <div className={classes["actions-container"]}>
<Button variant={EButtonVariant.LINE} onClick={openCancelSubscription}> <Button variant={EButtonVariant.LINE} onClick={cancelSubscription}>
<Typography typo={ITypo.P_18} color={ITypoColor.RED_FLASH}> <Typography typo={ITypo.P_18} color={ITypoColor.RED_FLASH}>
Arrêter l'abonnement Arrêter l'abonnement
</Typography> </Typography>