Fix somes issues

This commit is contained in:
Anthony Janin 2025-07-02 14:54:59 +02:00
parent e4c440d6df
commit 96ed1e50fa
5 changed files with 80 additions and 6 deletions

View File

@ -1,4 +1,3 @@
import Folders from "@Front/Api/LeCoffreApi/Customer/Folders/Folders";
import { IBlock } from "@Front/Components/DesignSystem/SearchBlockList/BlockList/Block"; import { IBlock } from "@Front/Components/DesignSystem/SearchBlockList/BlockList/Block";
import Module from "@Front/Config/Module"; import Module from "@Front/Config/Module";
import JwtService from "@Front/Services/JwtService/JwtService"; import JwtService from "@Front/Services/JwtService/JwtService";

View File

@ -110,7 +110,8 @@ export default function DepositDocumentComponent(props: IProps) {
); );
const onOpenModal = useCallback(async () => { const onOpenModal = useCallback(async () => {
const refused_reason = document.document_history?.find((history: any) => history.document_status === "REFUSED")?.refused_reason; if (document.document_status !== "REFUSED") return;
const refused_reason = document.refused_reason;
if (!refused_reason) return; if (!refused_reason) return;
setRefusedReason(refused_reason); setRefusedReason(refused_reason);
setIsModalOpen(true); setIsModalOpen(true);

View File

@ -1,5 +1,4 @@
"use client"; "use client";
import Documents, { IGetDocumentsparams } from "@Front/Api/LeCoffreApi/Customer/Documents/Documents";
import Typography, { ETypo, ETypoColor } from "@Front/Components/DesignSystem/Typography"; import Typography, { ETypo, ETypoColor } from "@Front/Components/DesignSystem/Typography";
@ -23,6 +22,9 @@ import ContactBox from "./ContactBox";
import { EDocumentNotaryStatus } from "le-coffre-resources/dist/Notary/DocumentNotary"; import { EDocumentNotaryStatus } from "le-coffre-resources/dist/Notary/DocumentNotary";
import DepositOtherDocument from "@Front/Components/DesignSystem/DepositOtherDocument"; import DepositOtherDocument from "@Front/Components/DesignSystem/DepositOtherDocument";
import Modal from "@Front/Components/DesignSystem/Modal";
import TextField from "@Front/Components/DesignSystem/Form/TextField";
import AuthModal from "src/sdk/AuthModal"; import AuthModal from "src/sdk/AuthModal";
import FolderService from "src/common/Api/LeCoffreApi/sdk/FolderService"; import FolderService from "src/common/Api/LeCoffreApi/sdk/FolderService";
@ -45,6 +47,30 @@ export default function ClientDashboard(props: IProps) {
const [isAddDocumentModalVisible, setIsAddDocumentModalVisible] = useState<boolean>(false); const [isAddDocumentModalVisible, setIsAddDocumentModalVisible] = useState<boolean>(false);
const [isAuthModalOpen, setIsAuthModalOpen] = useState(false); const [isAuthModalOpen, setIsAuthModalOpen] = useState(false);
const [isSmsModalOpen, setIsSmsModalOpen] = useState(false);
const [smsCode, setSmsCode] = useState("");
const [smsError, setSmsError] = useState("");
const verifySmsCode = useCallback(() => {
if (smsCode === "1234") {
setIsSmsModalOpen(false);
} else {
setSmsError("Code incorrect. Le code valide est 1234.");
}
}, [smsCode]);
useEffect(() => {
const handleKeyPress = (e: KeyboardEvent) => {
if (e.key === "Enter" && isSmsModalOpen) {
verifySmsCode();
}
};
window.addEventListener("keypress", handleKeyPress);
return () => {
window.removeEventListener("keypress", handleKeyPress);
};
}, [isSmsModalOpen, smsCode, verifySmsCode]);
const fetchFolderAndCustomer = useCallback(async () => { const fetchFolderAndCustomer = useCallback(async () => {
let jwt: ICustomerJwtPayload | undefined; let jwt: ICustomerJwtPayload | undefined;
@ -311,8 +337,52 @@ export default function ClientDashboard(props: IProps) {
isOpen={isAuthModalOpen} isOpen={isAuthModalOpen}
onClose={() => { onClose={() => {
setIsAuthModalOpen(false); setIsAuthModalOpen(false);
setIsSmsModalOpen(true);
}} }}
/>} />}
{isSmsModalOpen && (
<Modal
isOpen={isSmsModalOpen}
onClose={() => setIsSmsModalOpen(false)}
title="Vérification SMS"
>
<div className={classes["sms-modal-content"]}>
<Typography typo={ETypo.TEXT_MD_REGULAR} color={ETypoColor.TEXT_PRIMARY}>
Veuillez saisir le code à 4 chiffres que vous avez reçu par SMS
</Typography>
<TextField
name="smsCode"
placeholder="Code SMS à 4 chiffres"
value={smsCode}
onChange={(e) => {
const value = e.target.value;
// Only allow digits
if (value === "" || /^\d+$/.test(value)) {
setSmsCode(value);
setSmsError("");
}
}}
/>
{smsError && (
<Typography typo={ETypo.TEXT_SM_REGULAR} color={ETypoColor.TEXT_ACCENT}>
{smsError}
</Typography>
)}
<div style={{ marginTop: "20px" }}>
<Button
variant={EButtonVariant.PRIMARY}
onClick={verifySmsCode}
>
Vérifier
</Button>
</div>
</div>
</Modal>
)}
</div> </div>
</DefaultCustomerDashboard> </DefaultCustomerDashboard>
); );

View File

@ -43,8 +43,8 @@ export default function ClientBox(props: IProps) {
if (processes.length > 0) { if (processes.length > 0) {
let documents: any[] = processes.map((process: any) => process.processData); let documents: any[] = processes.map((process: any) => process.processData);
// FilterBy depositor_uid & folder_uid // FilterBy folder.uid & depositor.uid
documents = documents.filter((document: any) => document.depositor.uid === customerUid && document.folder.uid === folderUid); documents = documents.filter((document: any) => document.folder.uid === folderUid && document.depositor && document.depositor.uid === customerUid);
if (documents && documents.length > 0) { if (documents && documents.length > 0) {
closeDeleteModal(); closeDeleteModal();

View File

@ -328,9 +328,13 @@ export default function DocumentTables(props: IProps) {
), ),
}, },
date: { date: {
sx: { width: 107 }, sx: { width: 120 },
content: document.updated_at ? new Date(document.updated_at).toLocaleDateString() : "_", content: document.updated_at ? new Date(document.updated_at).toLocaleDateString() : "_",
}, },
file: {
sx: { width: 120 },
content: document.files?.[0]?.file_name ?? "_",
},
actions: { sx: { width: 76 }, content: "" }, actions: { sx: { width: 76 }, content: "" },
}; };
}) })