Merge branch 'dev' into staging
This commit is contained in:
commit
6cf229ca25
@ -32,6 +32,7 @@
|
|||||||
display: flex;
|
display: flex;
|
||||||
padding: var(--spacing-1, 8px);
|
padding: var(--spacing-1, 8px);
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
align-self: flex-start;
|
||||||
|
|
||||||
border-radius: var(--alerts-badge-radius, 360px);
|
border-radius: var(--alerts-badge-radius, 360px);
|
||||||
border: 1px solid var(--alerts-badge-border, rgba(0, 0, 0, 0));
|
border: 1px solid var(--alerts-badge-border, rgba(0, 0, 0, 0));
|
||||||
|
@ -11,6 +11,7 @@ import Module from "@Front/Config/Module";
|
|||||||
import { useCallback } from "react";
|
import { useCallback } from "react";
|
||||||
import { Note } from "le-coffre-resources/dist/Customer";
|
import { Note } from "le-coffre-resources/dist/Customer";
|
||||||
import ButtonWithSubMenu from "@Front/Components/Elements/ButtonWithSubMenu";
|
import ButtonWithSubMenu from "@Front/Components/Elements/ButtonWithSubMenu";
|
||||||
|
import Modal from "@Front/Components/DesignSystem/Modal";
|
||||||
|
|
||||||
type IProps = {
|
type IProps = {
|
||||||
customer: ICustomer;
|
customer: ICustomer;
|
||||||
@ -23,10 +24,16 @@ type IProps = {
|
|||||||
export default function ClientBox(props: IProps) {
|
export default function ClientBox(props: IProps) {
|
||||||
const { customer, anchorStatus, folderUid, customerNote } = props;
|
const { customer, anchorStatus, folderUid, customerNote } = props;
|
||||||
|
|
||||||
const { isOpen, open, close } = useOpenable();
|
const { isOpen: isDeleteModalOpen, open: openDeleteModal, close: closeDeleteModal } = useOpenable();
|
||||||
|
const { isOpen: isErrorModalOpen, open: openErrorModal, close: closeErrorModal } = useOpenable();
|
||||||
|
|
||||||
const handleDelete = useCallback(
|
const handleDelete = useCallback(
|
||||||
(customerUid: string) => {
|
(customerUid: string) => {
|
||||||
|
if (customer.documents && customer.documents.length > 0) {
|
||||||
|
closeDeleteModal();
|
||||||
|
openErrorModal();
|
||||||
|
return;
|
||||||
|
}
|
||||||
props.onDelete(customerUid);
|
props.onDelete(customerUid);
|
||||||
},
|
},
|
||||||
[props],
|
[props],
|
||||||
@ -108,12 +115,27 @@ export default function ClientBox(props: IProps) {
|
|||||||
variant={EButtonVariant.ERROR}
|
variant={EButtonVariant.ERROR}
|
||||||
styletype={EButtonstyletype.TEXT}
|
styletype={EButtonstyletype.TEXT}
|
||||||
rightIcon={<TrashIcon />}
|
rightIcon={<TrashIcon />}
|
||||||
onClick={open}>
|
onClick={openDeleteModal}>
|
||||||
Supprimer le client
|
Supprimer le client
|
||||||
</Button>
|
</Button>
|
||||||
<DeleteCustomerModal isOpen={isOpen} onClose={close} customerUid={customer.uid ?? ""} onDelete={handleDelete} />
|
<DeleteCustomerModal
|
||||||
|
isOpen={isDeleteModalOpen}
|
||||||
|
onClose={close}
|
||||||
|
customerUid={customer.uid ?? ""}
|
||||||
|
onDelete={handleDelete}
|
||||||
|
/>
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
|
<Modal
|
||||||
|
isOpen={isErrorModalOpen}
|
||||||
|
onClose={closeErrorModal}
|
||||||
|
title={"Suppression impossible"}
|
||||||
|
secondButton={{ children: "Fermer", onClick: closeErrorModal, fullwidth: true }}>
|
||||||
|
<Typography typo={ETypo.TEXT_MD_light}>
|
||||||
|
Ce client ne peut pas être supprimé car des documents sont associés à son dossier. Veuillez d'abord gérer ou supprimer
|
||||||
|
ces documents avant de tenter de supprimer le client.
|
||||||
|
</Typography>
|
||||||
|
</Modal>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -1,11 +1,13 @@
|
|||||||
import Alert, { EAlertVariant } from "@Front/Components/DesignSystem/Alert";
|
import Alert, { EAlertVariant } from "@Front/Components/DesignSystem/Alert";
|
||||||
|
import { ArrowPathIcon } from "@heroicons/react/24/outline";
|
||||||
|
|
||||||
export default function AnchoringProcessingNeutral() {
|
export default function AnchoringProcessingInfo() {
|
||||||
return (
|
return (
|
||||||
<Alert
|
<Alert
|
||||||
title="Ancrage en cours..."
|
title="Ancrage en cours..."
|
||||||
description="Vos documents sont en train d'être ancrés dans la blockchain. Cela peut prendre quelques instants. Merci de votre patience."
|
description="Vos documents sont en train d'être ancrés dans la blockchain. Cela peut prendre quelques instants. Merci de votre patience."
|
||||||
variant={EAlertVariant.NEUTRAL}
|
variant={EAlertVariant.INFO}
|
||||||
|
icon={<ArrowPathIcon />}
|
||||||
fullWidth
|
fullWidth
|
||||||
/>
|
/>
|
||||||
);
|
);
|
@ -13,13 +13,13 @@ import ClientView from "./ClientView";
|
|||||||
import AnchoringAlertInfo from "./elements/AnchoringAlertInfo";
|
import AnchoringAlertInfo from "./elements/AnchoringAlertInfo";
|
||||||
import AnchoringAlertSuccess from "./elements/AnchoringAlertSuccess";
|
import AnchoringAlertSuccess from "./elements/AnchoringAlertSuccess";
|
||||||
import AnchoringModal from "./elements/AnchoringModal";
|
import AnchoringModal from "./elements/AnchoringModal";
|
||||||
import AnchoringProcessingNeutral from "./elements/AnchoringProcessingNeutral";
|
|
||||||
import ArchiveAlertWarning from "./elements/ArchiveAlertWarning";
|
import ArchiveAlertWarning from "./elements/ArchiveAlertWarning";
|
||||||
import ArchiveModal from "./elements/ArchiveModal";
|
import ArchiveModal from "./elements/ArchiveModal";
|
||||||
import DownloadAnchoringProofModal from "./elements/DownloadAnchoringProofModal";
|
import DownloadAnchoringProofModal from "./elements/DownloadAnchoringProofModal";
|
||||||
import RequireAnchoringModal from "./elements/RequireAnchoringModal";
|
import RequireAnchoringModal from "./elements/RequireAnchoringModal";
|
||||||
import InformationSection from "./InformationSection";
|
import InformationSection from "./InformationSection";
|
||||||
import NoClientView from "./NoClientView";
|
import NoClientView from "./NoClientView";
|
||||||
|
import AnchoringProcessingInfo from "./elements/AnchoringProcessingInfo";
|
||||||
|
|
||||||
export enum AnchorStatus {
|
export enum AnchorStatus {
|
||||||
"VERIFIED_ON_CHAIN" = "VERIFIED_ON_CHAIN",
|
"VERIFIED_ON_CHAIN" = "VERIFIED_ON_CHAIN",
|
||||||
@ -148,7 +148,7 @@ export default function FolderInformation(props: IProps) {
|
|||||||
isArchived={isArchived}
|
isArchived={isArchived}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
{!isArchived && anchorStatus === AnchorStatus.ANCHORING && <AnchoringProcessingNeutral />}
|
{!isArchived && anchorStatus === AnchorStatus.ANCHORING && <AnchoringProcessingInfo />}
|
||||||
{isArchived && folderUid && (
|
{isArchived && folderUid && (
|
||||||
<ArchiveAlertWarning folderUid={folderUid} onDownloadAnchoringProof={downloadAnchoringProofModal.open} />
|
<ArchiveAlertWarning folderUid={folderUid} onDownloadAnchoringProof={downloadAnchoringProofModal.open} />
|
||||||
)}
|
)}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user