From 57b227fee91676c47aca02157fa3bc2275ce909c Mon Sep 17 00:00:00 2001 From: Maxime Lalo Date: Fri, 29 Mar 2024 11:16:31 +0100 Subject: [PATCH] :sparkles: Cancel subscription working --- .../SubscriptionFacturation/index.tsx | 40 ++++++++++++++++++- src/front/Hooks/useOpenable.ts | 26 ++++++++++++ 2 files changed, 64 insertions(+), 2 deletions(-) create mode 100644 src/front/Hooks/useOpenable.ts diff --git a/src/front/Components/Layouts/Subscription/SubscriptionFacturation/index.tsx b/src/front/Components/Layouts/Subscription/SubscriptionFacturation/index.tsx index 4e12a9d1..fab588bc 100644 --- a/src/front/Components/Layouts/Subscription/SubscriptionFacturation/index.tsx +++ b/src/front/Components/Layouts/Subscription/SubscriptionFacturation/index.tsx @@ -2,7 +2,9 @@ import Typography, { ITypo, ITypoColor } from "@Front/Components/DesignSystem/Ty import classes from "./classes.module.scss"; import DefaultTemplate from "@Front/Components/LayoutTemplates/DefaultTemplate"; import Button, { EButtonVariant } from "@Front/Components/DesignSystem/Button"; -import { useState } from "react"; +import { useCallback, useState } from "react"; +import Confirm from "@Front/Components/DesignSystem/Modal/Confirm"; +import useOpenable from "@Front/Hooks/useOpenable"; enum EForfeitType { "standard", @@ -10,6 +12,12 @@ enum EForfeitType { } export default function SubscriptionFacturation() { const [forfeitType, _setForfeitType] = useState(EForfeitType.standard); + const { close, isOpen, open } = useOpenable(); + + const cancelSubscription = useCallback(() => { + return; + }, []); + return (
@@ -116,7 +124,7 @@ export default function SubscriptionFacturation() {
-
+ +
+ + Avant de confirmer, veuillez prendre note des conséquences
+ suivantes : +
+
    +
  • + Arrêt des fonctionnalités : Vous n'aurez plus accès aux outils de traitement et de mise à jour en temps + réel. +
  • +
  • + Accès limité : Vous pourrez uniquement télécharger vos documents existants, sans possibilité de les éditer + ou de créer de nouveaux fichiers. +
  • +
+ Votre abonnement se terminera le XX/XX/XXXX. Assurez-vous de sauvegarder tout ce dont vous avez besoin avant cette + date. +
+
+
); } diff --git a/src/front/Hooks/useOpenable.ts b/src/front/Hooks/useOpenable.ts new file mode 100644 index 00000000..ad7a6e24 --- /dev/null +++ b/src/front/Hooks/useOpenable.ts @@ -0,0 +1,26 @@ +import { useCallback, useState } from "react"; + +function useOpenable() { + const [isOpen, setIsOpen] = useState(false); + + const open = useCallback(() => { + setIsOpen(true); + }, []); + + const close = useCallback(() => { + setIsOpen(false); + }, []); + + const toggle = useCallback(() => { + setIsOpen((prev) => !prev); + }, []); + + return { + isOpen, + open, + close, + toggle, + }; +} + +export default useOpenable;