Demock folder components
This commit is contained in:
parent
eb27ec9df9
commit
30f00f6991
@ -188,14 +188,7 @@ export default function DocumentsPage() {
|
||||
})
|
||||
|
||||
const [folders] = useState([
|
||||
{ id: "contracts", name: "Contrats" },
|
||||
{ id: "reports", name: "Rapports" },
|
||||
{ id: "projects", name: "Projets" },
|
||||
{ id: "finance", name: "Finance" },
|
||||
{ id: "policies", name: "Politiques" },
|
||||
{ id: "training", name: "Formation" },
|
||||
{ id: "assets", name: "Assets" },
|
||||
{ id: "archives", name: "Archives" },
|
||||
{ id: "general", name: "Général" },
|
||||
])
|
||||
|
||||
const [users] = useState<UserWithRoles[]>([
|
||||
@ -205,8 +198,7 @@ export default function DocumentsPage() {
|
||||
email: "marie.dubois@company.com",
|
||||
avatar: "MD",
|
||||
folderRoles: {
|
||||
contracts: { role: "owner", assignedDate: new Date("2024-01-01") },
|
||||
finance: { role: "editor", assignedDate: new Date("2024-01-05") },
|
||||
general: { role: "owner", assignedDate: new Date("2024-01-01") },
|
||||
},
|
||||
spaceRole: "manager",
|
||||
spaceRoles: {
|
||||
@ -220,8 +212,7 @@ export default function DocumentsPage() {
|
||||
email: "sophie.laurent@company.com",
|
||||
avatar: "SL",
|
||||
folderRoles: {
|
||||
reports: { role: "owner", assignedDate: new Date("2024-01-02") },
|
||||
projects: { role: "contributor", assignedDate: new Date("2024-01-10") },
|
||||
general: { role: "editor", assignedDate: new Date("2024-01-02") },
|
||||
},
|
||||
spaceRole: "user",
|
||||
spaceRoles: {
|
||||
@ -235,8 +226,7 @@ export default function DocumentsPage() {
|
||||
email: "jean.martin@company.com",
|
||||
avatar: "JM",
|
||||
folderRoles: {
|
||||
projects: { role: "owner", assignedDate: new Date("2024-01-03") },
|
||||
reports: { role: "viewer", assignedDate: new Date("2024-01-15") },
|
||||
general: { role: "viewer", assignedDate: new Date("2024-01-03") },
|
||||
},
|
||||
spaceRole: "user",
|
||||
spaceRoles: {
|
||||
@ -250,8 +240,7 @@ export default function DocumentsPage() {
|
||||
email: "pierre.durand@company.com",
|
||||
avatar: "PD",
|
||||
folderRoles: {
|
||||
training: { role: "owner", assignedDate: new Date("2024-01-04") },
|
||||
policies: { role: "validator", assignedDate: new Date("2024-01-08") },
|
||||
general: { role: "contributor", assignedDate: new Date("2024-01-04") },
|
||||
},
|
||||
spaceRole: "user",
|
||||
spaceRoles: {
|
||||
|
||||
@ -74,7 +74,7 @@ interface FolderData {
|
||||
favorite: boolean
|
||||
storageType: "temporary" | "permanent"
|
||||
status: "active" | "archived" | "pending" | "completed" | "validated"
|
||||
type: "contracts" | "reports" | "projects" | "finance" | "hr" | "marketing" | "legal" | "general"
|
||||
type: string
|
||||
expectedDocuments: Array<{
|
||||
name: string
|
||||
required: boolean
|
||||
@ -151,7 +151,7 @@ interface Role {
|
||||
level: "folder" | "space" | "global"
|
||||
}
|
||||
|
||||
type FolderType = "contrat" | "projet" | "rapport" | "finance" | "rh" | "marketing";
|
||||
type FolderType = string;
|
||||
|
||||
export default function FoldersPage() {
|
||||
const router = useRouter()
|
||||
@ -392,265 +392,7 @@ export default function FoldersPage() {
|
||||
useEffect(() => {
|
||||
// Simuler le chargement des dossiers
|
||||
const loadFolders = () => {
|
||||
const mockFolders: FolderData[] = [
|
||||
{
|
||||
id: 1,
|
||||
name: "Contrats",
|
||||
description: "Tous les contrats clients et fournisseurs",
|
||||
documentsCount: 45,
|
||||
subfoldersCount: 3,
|
||||
size: "125 MB",
|
||||
created: new Date("2024-01-01T10:00:00"),
|
||||
modified: new Date("2024-01-15T14:30:00"),
|
||||
owner: "Marie Dubois",
|
||||
access: "shared",
|
||||
members: ["Marie Dubois", "Jean Martin", "Sophie Laurent"],
|
||||
tags: ["juridique", "contrats", "clients"],
|
||||
color: "blue",
|
||||
favorite: true,
|
||||
storageType: "permanent",
|
||||
status: "active",
|
||||
type: "contracts",
|
||||
expectedDocuments: [
|
||||
{ name: "Contrat cadre", required: true, assignedRole: "owner", status: "received" },
|
||||
{ name: "Conditions générales", required: true, assignedRole: "validator", status: "received" },
|
||||
{ name: "Annexes techniques", required: false, assignedRole: "editor", status: "missing" },
|
||||
{ name: "Certificat d'assurance", required: true, assignedRole: "contributor", status: "pending" },
|
||||
],
|
||||
activity: [
|
||||
{ user: "Marie Dubois", action: "ajouté", item: "Contrat_ABC.pdf", time: "Il y a 2h" },
|
||||
{ user: "Jean Martin", action: "modifié", item: "Contrat_XYZ.pdf", time: "Il y a 5h" },
|
||||
],
|
||||
permissions: {
|
||||
canView: true,
|
||||
canEdit: true,
|
||||
canDelete: true,
|
||||
canInvite: true,
|
||||
canArchive: false,
|
||||
canAnalyze: true,
|
||||
},
|
||||
temporaryStorageConfig: {
|
||||
duration: 90,
|
||||
dataUsage: "Contrats clients et négociations commerciales",
|
||||
thirdPartyAccess: "Avocats externes, clients contractants",
|
||||
},
|
||||
documents: [
|
||||
{ id: "doc1", name: "Contrat_ABC.pdf", hasCertificate: true, certificateId: "CERT-DOC-001" },
|
||||
{ id: "doc2", name: "Contrat_XYZ.pdf", hasCertificate: true, certificateId: "CERT-DOC-002" },
|
||||
{ id: "doc3", name: "Annexe_A.pdf", hasCertificate: false },
|
||||
{ id: "doc4", name: "Conditions_Generales.pdf", hasCertificate: true, certificateId: "CERT-DOC-003" },
|
||||
],
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
name: "Rapports",
|
||||
description: "Rapports mensuels et analyses",
|
||||
documentsCount: 28,
|
||||
subfoldersCount: 2,
|
||||
size: "89 MB",
|
||||
created: new Date("2024-01-05T09:15:00"),
|
||||
modified: new Date("2024-01-14T16:45:00"),
|
||||
owner: "Sophie Laurent",
|
||||
access: "private",
|
||||
members: ["Sophie Laurent", "Pierre Durand"],
|
||||
tags: ["rapports", "analyse", "mensuel"],
|
||||
color: "green",
|
||||
favorite: false,
|
||||
storageType: "temporary",
|
||||
status: "pending",
|
||||
type: "reports",
|
||||
expectedDocuments: [
|
||||
{ name: "Rapport mensuel", required: true, assignedRole: "owner", status: "received" },
|
||||
{ name: "Analyse KPI", required: true, assignedRole: "editor", status: "missing" },
|
||||
{ name: "Graphiques", required: false, assignedRole: "contributor", status: "received" },
|
||||
],
|
||||
activity: [
|
||||
{ user: "Sophie Laurent", action: "créé", item: "Rapport_Nov.docx", time: "Il y a 1j" },
|
||||
{ user: "Pierre Durand", action: "consulté", item: "Analyse_Q4.xlsx", time: "Il y a 2j" },
|
||||
],
|
||||
permissions: {
|
||||
canView: true,
|
||||
canEdit: true,
|
||||
canDelete: true,
|
||||
canInvite: true,
|
||||
canArchive: true,
|
||||
canAnalyze: true,
|
||||
},
|
||||
temporaryStorageConfig: {
|
||||
duration: 30,
|
||||
dataUsage: "Analyses de performance et rapports internes",
|
||||
thirdPartyAccess: "Consultants externes, auditeurs",
|
||||
},
|
||||
documents: [
|
||||
{ id: "doc5", name: "Rapport_Nov.docx", hasCertificate: true, certificateId: "CERT-DOC-004" },
|
||||
{ id: "doc6", name: "Analyse_Q4.xlsx", hasCertificate: false },
|
||||
],
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
name: "Projets",
|
||||
description: "Documentation des projets en cours",
|
||||
documentsCount: 67,
|
||||
subfoldersCount: 8,
|
||||
size: "234 MB",
|
||||
created: new Date("2023-12-15T11:30:00"),
|
||||
modified: new Date("2024-01-15T09:20:00"),
|
||||
owner: "Jean Martin",
|
||||
access: "shared",
|
||||
members: ["Jean Martin", "Marie Dubois", "Sophie Laurent", "Pierre Durand"],
|
||||
tags: ["projets", "développement", "documentation"],
|
||||
color: "purple",
|
||||
favorite: true,
|
||||
storageType: "temporary",
|
||||
status: "active",
|
||||
type: "projects",
|
||||
expectedDocuments: [
|
||||
{ name: "Cahier des charges", required: true, assignedRole: "owner", status: "received" },
|
||||
{ name: "Spécifications techniques", required: true, assignedRole: "editor", status: "received" },
|
||||
{ name: "Planning projet", required: true, assignedRole: "validator", status: "received" },
|
||||
{ name: "Budget prévisionnel", required: true, assignedRole: "contributor", status: "missing" },
|
||||
],
|
||||
activity: [
|
||||
{ user: "Jean Martin", action: "partagé", item: "Specs_Alpha.pdf", time: "Il y a 3h" },
|
||||
{ user: "Marie Dubois", action: "commenté", item: "Design_Beta.figma", time: "Il y a 6h" },
|
||||
],
|
||||
permissions: {
|
||||
canView: true,
|
||||
canEdit: true,
|
||||
canDelete: true,
|
||||
canInvite: true,
|
||||
canArchive: true,
|
||||
canAnalyze: true,
|
||||
},
|
||||
documents: [
|
||||
{ id: "doc7", name: "Specs_Alpha.pdf", hasCertificate: true, certificateId: "CERT-DOC-005" },
|
||||
{ id: "doc8", name: "Design_Beta.figma", hasCertificate: false },
|
||||
{ id: "doc9", name: "Planning.xlsx", hasCertificate: true, certificateId: "CERT-DOC-006" },
|
||||
],
|
||||
},
|
||||
{
|
||||
id: 4,
|
||||
name: "Finance",
|
||||
description: "Documents financiers et budgets",
|
||||
documentsCount: 32,
|
||||
subfoldersCount: 4,
|
||||
size: "156 MB",
|
||||
created: new Date("2024-01-08T14:20:00"),
|
||||
modified: new Date("2024-01-13T11:10:00"),
|
||||
owner: "Marie Dubois",
|
||||
access: "private",
|
||||
members: ["Marie Dubois", "Admin"],
|
||||
tags: ["finance", "budget", "comptabilité"],
|
||||
color: "orange",
|
||||
favorite: false,
|
||||
storageType: "permanent",
|
||||
status: "completed",
|
||||
type: "finance",
|
||||
expectedDocuments: [
|
||||
{ name: "Budget annuel", required: true, assignedRole: "owner", status: "received" },
|
||||
{ name: "Bilan comptable", required: true, assignedRole: "validator", status: "received" },
|
||||
{ name: "Factures", required: true, assignedRole: "editor", status: "received" },
|
||||
],
|
||||
activity: [
|
||||
{ user: "Marie Dubois", action: "mis à jour", item: "Budget_2024.xlsx", time: "Il y a 1j" },
|
||||
{ user: "Admin", action: "vérifié", item: "Factures_Dec.pdf", time: "Il y a 2j" },
|
||||
],
|
||||
permissions: {
|
||||
canView: true,
|
||||
canEdit: true,
|
||||
canDelete: true,
|
||||
canInvite: true,
|
||||
canArchive: false,
|
||||
canAnalyze: true,
|
||||
},
|
||||
documents: [
|
||||
{ id: "doc10", name: "Budget_2024.xlsx", hasCertificate: true, certificateId: "CERT-DOC-007" },
|
||||
{ id: "doc11", name: "Factures_Dec.pdf", hasCertificate: true, certificateId: "CERT-DOC-008" },
|
||||
],
|
||||
},
|
||||
{
|
||||
id: 5,
|
||||
name: "Ressources Humaines",
|
||||
description: "Politiques RH et documents employés",
|
||||
documentsCount: 19,
|
||||
subfoldersCount: 2,
|
||||
size: "67 MB",
|
||||
created: new Date("2024-01-10T08:45:00"),
|
||||
modified: new Date("2024-01-12T15:30:00"),
|
||||
owner: "Admin Système",
|
||||
access: "shared",
|
||||
members: ["Admin", "Marie Dubois", "Sophie Laurent"],
|
||||
tags: ["RH", "politique", "employés"],
|
||||
color: "red",
|
||||
favorite: false,
|
||||
storageType: "temporary",
|
||||
status: "archived",
|
||||
type: "hr",
|
||||
expectedDocuments: [
|
||||
{ name: "Politique RH", required: true, assignedRole: "owner", status: "received" },
|
||||
{ name: "Contrats employés", required: true, assignedRole: "validator", status: "received" },
|
||||
{ name: "Formation", required: false, assignedRole: "editor", status: "missing" },
|
||||
],
|
||||
activity: [
|
||||
{ user: "Admin", action: "ajouté", item: "Politique_Télétravail.pdf", time: "Il y a 3j" },
|
||||
{ user: "Sophie Laurent", action: "lu", item: "Guide_Onboarding.docx", time: "Il y a 4j" },
|
||||
],
|
||||
permissions: {
|
||||
canView: true,
|
||||
canEdit: true,
|
||||
canDelete: true,
|
||||
canInvite: true,
|
||||
canArchive: true,
|
||||
canAnalyze: true,
|
||||
},
|
||||
documents: [
|
||||
{ id: "doc12", name: "Politique_Télétravail.pdf", hasCertificate: false },
|
||||
{ id: "doc13", name: "Guide_Onboarding.docx", hasCertificate: true, certificateId: "CERT-DOC-009" },
|
||||
],
|
||||
},
|
||||
{
|
||||
id: 6,
|
||||
name: "Marketing",
|
||||
description: "Matériel marketing et campagnes",
|
||||
documentsCount: 41,
|
||||
subfoldersCount: 5,
|
||||
size: "198 MB",
|
||||
created: new Date("2023-12-20T16:00:00"),
|
||||
modified: new Date("2024-01-11T13:45:00"),
|
||||
owner: "Pierre Durand",
|
||||
access: "shared",
|
||||
members: ["Pierre Durand", "Jean Martin", "Design Team"],
|
||||
tags: ["marketing", "campagne", "design"],
|
||||
color: "pink",
|
||||
favorite: true,
|
||||
storageType: "temporary",
|
||||
status: "validated",
|
||||
type: "marketing",
|
||||
expectedDocuments: [
|
||||
{ name: "Brief campagne", required: true, assignedRole: "owner", status: "received" },
|
||||
{ name: "Créations visuelles", required: true, assignedRole: "editor", status: "pending" },
|
||||
{ name: "Plan média", required: true, assignedRole: "contributor", status: "missing" },
|
||||
{ name: "Budget marketing", required: false, assignedRole: "validator", status: "received" },
|
||||
],
|
||||
activity: [
|
||||
{ user: "Pierre Durand", action: "uploadé", item: "Campagne_Q1.psd", time: "Il y a 4j" },
|
||||
{ user: "Design Team", action: "approuvé", item: "Logo_V2.png", time: "Il y a 5j" },
|
||||
],
|
||||
permissions: {
|
||||
canView: true,
|
||||
canEdit: false,
|
||||
canDelete: false,
|
||||
canInvite: true,
|
||||
canArchive: true,
|
||||
canAnalyze: true,
|
||||
},
|
||||
documents: [
|
||||
{ id: "doc14", name: "Campagne_Q1.psd", hasCertificate: true, certificateId: "CERT-DOC-010" },
|
||||
{ id: "doc15", name: "Logo_V2.png", hasCertificate: true, certificateId: "CERT-DOC-011" },
|
||||
{ id: "doc16", name: "Brief_campagne.pdf", hasCertificate: false },
|
||||
],
|
||||
},
|
||||
]
|
||||
const mockFolders: FolderData[] = []
|
||||
|
||||
setFolders(mockFolders)
|
||||
setStats({
|
||||
@ -1250,16 +992,7 @@ export default function FoldersPage() {
|
||||
setActionModal({ type: null, folder: null, folders: [] })
|
||||
}
|
||||
|
||||
const typeFilter = searchParams.get("type") as
|
||||
| "contracts"
|
||||
| "reports"
|
||||
| "projects"
|
||||
| "finance"
|
||||
| "hr"
|
||||
| "marketing"
|
||||
| "legal"
|
||||
| "general"
|
||||
| null
|
||||
const typeFilter = searchParams.get("type")
|
||||
|
||||
const filteredFolders = folders
|
||||
.filter((folder) => {
|
||||
@ -1447,15 +1180,12 @@ export default function FoldersPage() {
|
||||
|
||||
{menuOpen && (
|
||||
<div className="absolute mt-1 right-0 w-48 bg-white border border-gray-200 rounded shadow-lg z-50">
|
||||
{['contrat', 'projet', 'rapport', 'finance', 'rh', 'marketing'].map((type) => (
|
||||
<button
|
||||
key={type}
|
||||
className="w-full text-left px-4 py-2 text-gray-700 hover:bg-gray-100"
|
||||
onClick={() => handleOpenModal(type as FolderType)}
|
||||
>
|
||||
{type.charAt(0).toUpperCase() + type.slice(1)}
|
||||
</button>
|
||||
))}
|
||||
<button
|
||||
className="w-full text-left px-4 py-2 text-gray-700 hover:bg-gray-100"
|
||||
onClick={() => handleOpenModal("general")}
|
||||
>
|
||||
Nouveau dossier
|
||||
</button>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
@ -2522,13 +2252,13 @@ export default function FoldersPage() {
|
||||
|
||||
|
||||
{/* Modal */}
|
||||
{folderType && (
|
||||
{isModalOpen && (
|
||||
<FolderModal
|
||||
isOpen={isModalOpen}
|
||||
onClose={handleCloseModal}
|
||||
onSave={handleSaveNewFolder}
|
||||
onCancel={handleCloseModal}
|
||||
folderType={folderType}
|
||||
folderType={folderType || "general"}
|
||||
/>
|
||||
)}
|
||||
|
||||
|
||||
@ -49,14 +49,7 @@ export default function DashboardLayout({ children }: { children: React.ReactNod
|
||||
const pathname = usePathname()
|
||||
const navigation: Array<{ name: string; href: string; icon: any; type?: string }> = [
|
||||
{ name: "My work", href: "/dashboard", icon: LayoutDashboard },
|
||||
{ name: "Contrats", href: "/dashboard/folders?type=contracts", icon: Folder, type: "contracts" },
|
||||
{ name: "Rapports", href: "/dashboard/folders?type=reports", icon: Folder, type: "reports" },
|
||||
{ name: "Projets", href: "/dashboard/folders?type=projects", icon: Folder, type: "projects" },
|
||||
{ name: "Finance", href: "/dashboard/folders?type=finance", icon: Folder, type: "finance" },
|
||||
{ name: "RH", href: "/dashboard/folders?type=hr", icon: Folder, type: "hr" },
|
||||
{ name: "Marketing", href: "/dashboard/folders?type=marketing", icon: Folder, type: "marketing" },
|
||||
{ name: "Juridique", href: "/dashboard/folders?type=legal", icon: Folder, type: "legal" },
|
||||
{ name: "Général", href: "/dashboard/folders?type=general", icon: Folder, type: "general" },
|
||||
{ name: "Dossier", href: "/dashboard/folders", icon: Folder },
|
||||
]
|
||||
|
||||
// Appliquer le thème global dès le chargement (préférence stockée)
|
||||
|
||||
@ -37,7 +37,7 @@ import EventBus from "@/lib/4nk/EventBus"
|
||||
import { iframeUrl } from "../page"
|
||||
import Iframe from "@/components/4nk/Iframe"
|
||||
|
||||
type FolderType = "contrat" | "projet" | "rapport" | "finance" | "rh" | "marketing";
|
||||
type FolderType = string;
|
||||
|
||||
export default function DashboardPage() {
|
||||
const [notification, setNotification] = useState<{ type: "success" | "error" | "info"; message: string } | null>(null)
|
||||
@ -106,47 +106,27 @@ export default function DashboardPage() {
|
||||
modifiedAt: "Il y a 2 heures",
|
||||
modifiedBy: "Marie Dubois",
|
||||
status: "Signé",
|
||||
folder: "Contrats 2024",
|
||||
folder: "Général",
|
||||
},
|
||||
{
|
||||
id: "doc_002",
|
||||
name: "Rapport_Financier_Q1.xlsx",
|
||||
type: "Excel",
|
||||
name: "Contrat_Fournisseur_XYZ.pdf",
|
||||
type: "PDF",
|
||||
size: "1.8 MB",
|
||||
modifiedAt: "Il y a 4 heures",
|
||||
modifiedBy: "Jean Martin",
|
||||
status: "En révision",
|
||||
folder: "Finance",
|
||||
folder: "Général",
|
||||
},
|
||||
{
|
||||
id: "doc_003",
|
||||
name: "Présentation_Produit_V2.pptx",
|
||||
type: "PowerPoint",
|
||||
size: "15.2 MB",
|
||||
modifiedAt: "Hier",
|
||||
modifiedBy: "Sophie Laurent",
|
||||
status: "Finalisé",
|
||||
folder: "Marketing",
|
||||
},
|
||||
{
|
||||
id: "doc_004",
|
||||
name: "Cahier_des_charges_Projet_X.docx",
|
||||
name: "Avenant_Contrat_123.docx",
|
||||
type: "Word",
|
||||
size: "892 KB",
|
||||
modifiedAt: "Il y a 2 jours",
|
||||
modifiedBy: "Pierre Durand",
|
||||
status: "Brouillon",
|
||||
folder: "Projets",
|
||||
},
|
||||
{
|
||||
id: "doc_005",
|
||||
name: "Facture_2024_001.pdf",
|
||||
type: "PDF",
|
||||
size: "156 KB",
|
||||
modifiedAt: "Il y a 3 jours",
|
||||
modifiedBy: "Marie Dubois",
|
||||
status: "Payée",
|
||||
folder: "Comptabilité",
|
||||
folder: "Général",
|
||||
},
|
||||
])
|
||||
|
||||
@ -166,7 +146,7 @@ export default function DashboardPage() {
|
||||
type: "edit",
|
||||
user: "Jean Martin",
|
||||
action: "a modifié",
|
||||
target: "Rapport_Financier_Q1.xlsx",
|
||||
target: "Contrat_Fournisseur_XYZ.pdf",
|
||||
time: "Il y a 4 heures",
|
||||
icon: Edit,
|
||||
color: "text-blue-600",
|
||||
@ -176,7 +156,7 @@ export default function DashboardPage() {
|
||||
type: "share",
|
||||
user: "Sophie Laurent",
|
||||
action: "a partagé",
|
||||
target: "Présentation_Produit_V2.pptx",
|
||||
target: "Contrat_Client_ABC_2024.pdf",
|
||||
time: "Hier",
|
||||
icon: Share2,
|
||||
color: "text-purple-600",
|
||||
@ -186,21 +166,11 @@ export default function DashboardPage() {
|
||||
type: "create",
|
||||
user: "Pierre Durand",
|
||||
action: "a créé le dossier",
|
||||
target: "Projets 2024",
|
||||
target: "Dossier Général",
|
||||
time: "Il y a 2 jours",
|
||||
icon: Folder,
|
||||
color: "text-orange-600",
|
||||
},
|
||||
{
|
||||
id: "act_005",
|
||||
type: "download",
|
||||
user: "Marie Dubois",
|
||||
action: "a téléchargé",
|
||||
target: "Facture_2024_001.pdf",
|
||||
time: "Il y a 3 jours",
|
||||
icon: Download,
|
||||
color: "text-indigo-600",
|
||||
},
|
||||
])
|
||||
|
||||
setNotifications([
|
||||
@ -227,10 +197,10 @@ export default function DashboardPage() {
|
||||
{
|
||||
id: "notif_003",
|
||||
type: "info",
|
||||
title: "Nouvel utilisateur",
|
||||
message: "Thomas Petit a rejoint l'équipe Marketing",
|
||||
title: "Nouveau contrat",
|
||||
message: "Un nouveau document a été ajouté au dossier Général",
|
||||
time: "Hier",
|
||||
icon: Users,
|
||||
icon: FileText,
|
||||
color: "text-blue-600",
|
||||
bgColor: "bg-blue-50",
|
||||
},
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user