//import Customers from "@Front/Api/LeCoffreApi/Customer/Customers/Customers"; import Button, { EButtonstyletype, EButtonVariant } from "@Front/Components/DesignSystem/Button"; import DepositDocument from "@Front/Components/DesignSystem/DepositDocument"; import TextField from "@Front/Components/DesignSystem/Form/TextField"; import Confirm from "@Front/Components/DesignSystem/OldModal/Confirm"; import Typography, { ETypo } from "@Front/Components/DesignSystem/Typography"; import Base from "@Front/Components/Layouts/Base"; import DefaultTemplate from "@Front/Components/LayoutTemplates/DefaultTemplate"; import Customer, { Document, DocumentType } from "le-coffre-resources/dist/Customer"; import React from "react"; import classes from "./classes.module.scss"; type IProps = {}; type IState = { isAddDocumentModalVisible: boolean; documents: Document[]; mockedCustomer: Customer | null; }; export default class ClientDashboard extends Base { public constructor(props: IProps) { super(props); this.state = { isAddDocumentModalVisible: false, documents: [], mockedCustomer: null, }; this.onCloseModalAddDocument = this.onCloseModalAddDocument.bind(this); this.onOpenModalAddDocument = this.onOpenModalAddDocument.bind(this); } public override render(): JSX.Element { return (
{this.renderHeader()}
{this.state.documents?.map((document) => ( ))}
Documents supplémentaires (facultatif) Vous souhaitez envoyer d'autres documents à votre notaire ?
Vous souhaitez envoyer un autre document à votre notaire ? Glissez / Déposez votre document dans la zone prévue à cet effet ou cliquez sur la zone puis sélectionnez le document correspondant. ({ document_type: DocumentType.hydrate({ name: "Autres documents", }), })} />
); } private renderHeader(): JSX.Element { return (
{/* TODO Get name from userStore */} Bonjour {this.state.mockedCustomer?.contact?.first_name.concat(" ", this.state.mockedCustomer?.contact?.last_name)} Documents à envoyer Votre notaire est dans l'attente de documents pour valider votre dossier. Voici la liste des documents.Veuillez glisser / déposez chaque document dans la zone prévue à cet effet ou cliquez sur la zone puis sélectionnez le document correspondant. Si un des documents demandés ne vous concernent pas, veuillez contacter votre notaire à l'aide du bouton ci-dessus.
); } // public override async componentDidMount() { // // TODO Get documents of the current customer according to userStore // // REMOVE this mock // const jwt = JwtService.getInstance().decodeJwt(); // const mockedCustomers = await Customers.getInstance().get({ // where: { contact: { email: jwt?.email } }, // }); // const mockedCustomer: Customer = mockedCustomers[0]!; // const query: IGetDocumentsparams = { // where: { depositor: { uid: mockedCustomer.uid } }, // include: { // files: true, // document_history: true, // document_type: true, // }, // }; // const documents: Document[] = await Documents.getInstance().get(query); // this.setState({ documents, mockedCustomer }); // } private onCloseModalAddDocument() { this.setState({ isAddDocumentModalVisible: false }); } private onOpenModalAddDocument() { this.setState({ isAddDocumentModalVisible: true }); } }