import PenICon from "@Assets/Icons/pen.svg"; import { IDashBoardFolder } from "@Front/Components/LayoutTemplates/DefaultNotaryDashboard"; import Module from "@Front/Config/Module"; import classNames from "classnames"; import Image from "next/image"; import Link from "next/link"; import React from "react"; import Typography, { ITypo } from "../Typography"; import classes from "./classes.module.scss"; type IProps = { folder: IDashBoardFolder; type: EFolderBoxInformationType; isArchived?: boolean; }; export enum EFolderBoxInformationType { INFORMATIONS = "informations", DESCRIPTION = "description", ARCHIVED_DESCRIPTION = "archivedDescription", } export default function FolderBoxInformation(props: IProps) { const { isArchived = false, type } = props; const editDescriptionPath = Module.getInstance() .get() .modules.pages.Folder.pages.EditDescription.props.path.replace("[folderUid]", props.folder.uid); const editInformationsPath = Module.getInstance() .get() .modules.pages.Folder.pages.EditInformations.props.path.replace("[folderUid]", props.folder.uid); const path = type === EFolderBoxInformationType.DESCRIPTION ? editDescriptionPath : editInformationsPath; return (
{renderContentByType(props.folder, type)}
{!isArchived && ( edit informations )}
); function renderContentByType(folder: IDashBoardFolder, type: EFolderBoxInformationType) { switch (type) { case EFolderBoxInformationType.DESCRIPTION: return (
Note dossier {folder.description ?? ""}
); case EFolderBoxInformationType.ARCHIVED_DESCRIPTION: return (
Note archive {folder.archived_description ?? ""}
); case EFolderBoxInformationType.INFORMATIONS: return ( <>
Intitulé du dossier {folder.name ?? ""}
Numéro de dossier {folder.folder_number ?? ""}
Type d'acte {folder.deed.deed_type.name ?? ""}
Ouverture du dossier {formatDate(folder.created_at)}
); } } } function formatDate(date: Date | null): string { if (!date) return "..."; if (!(date instanceof Date)) date = new Date(date); return date.toLocaleDateString("fr-FR", { year: "numeric", month: "long", day: "numeric", }); }