diff --git a/backend/src/modules/dashboard/dashboard.controller.ts b/backend/src/modules/dashboard/dashboard.controller.ts
index aab6f75..7527ae2 100644
--- a/backend/src/modules/dashboard/dashboard.controller.ts
+++ b/backend/src/modules/dashboard/dashboard.controller.ts
@@ -8,7 +8,11 @@ class DashboardController {
const userId = req.user!.id;
const [contactsCount, activeTasksCount, unreadNotificationsCount] = await Promise.all([
- prisma.contact.count(),
+ prisma.contact.count({
+ where: {
+ archivedAt: null,
+ },
+ }),
prisma.task.count({
where: {
status: { notIn: ['COMPLETED', 'CANCELLED'] },
diff --git a/frontend/public/logo.png b/frontend/public/logo.png
new file mode 100644
index 0000000..e69de29
diff --git a/frontend/src/app/admin/permission-groups/page.tsx b/frontend/src/app/admin/permission-groups/page.tsx
index 1bd7fab..cc11f4a 100644
--- a/frontend/src/app/admin/permission-groups/page.tsx
+++ b/frontend/src/app/admin/permission-groups/page.tsx
@@ -10,9 +10,11 @@ import LoadingSpinner from '@/components/LoadingSpinner';
const MODULES = [
{ id: 'contacts', name: 'إدارة جهات الاتصال', nameEn: 'Contact Management' },
{ id: 'crm', name: 'إدارة علاقات العملاء', nameEn: 'CRM' },
+ { id: 'tenders', name: 'إدارة المناقصات', nameEn: 'Tender Management' },
{ id: 'inventory', name: 'المخزون والأصول', nameEn: 'Inventory & Assets' },
{ id: 'projects', name: 'المهام والمشاريع', nameEn: 'Tasks & Projects' },
{ id: 'hr', name: 'الموارد البشرية', nameEn: 'HR Management' },
+ { id: 'portal', name: 'البوابة الذاتية', nameEn: 'My Portal' },
{ id: 'marketing', name: 'التسويق', nameEn: 'Marketing' },
{ id: 'admin', name: 'لوحة الإدارة', nameEn: 'Admin' },
];
diff --git a/frontend/src/app/admin/roles/page.tsx b/frontend/src/app/admin/roles/page.tsx
index ab2b429..f1d0173 100644
--- a/frontend/src/app/admin/roles/page.tsx
+++ b/frontend/src/app/admin/roles/page.tsx
@@ -11,9 +11,11 @@ import LoadingSpinner from '@/components/LoadingSpinner';
const MODULES = [
{ id: 'contacts', name: 'إدارة جهات الاتصال', nameEn: 'Contact Management' },
{ id: 'crm', name: 'إدارة علاقات العملاء', nameEn: 'CRM' },
+ { id: 'tenders', name: 'إدارة المناقصات', nameEn: 'Tender Management' },
{ id: 'inventory', name: 'المخزون والأصول', nameEn: 'Inventory & Assets' },
{ id: 'projects', name: 'المهام والمشاريع', nameEn: 'Tasks & Projects' },
{ id: 'hr', name: 'الموارد البشرية', nameEn: 'HR Management' },
+ { id: 'portal', name: 'البوابة الذاتية', nameEn: 'My Portal' },
{ id: 'marketing', name: 'التسويق', nameEn: 'Marketing' },
{ id: 'admin', name: 'لوحة الإدارة', nameEn: 'Admin' },
];
diff --git a/frontend/src/app/crm/page.tsx b/frontend/src/app/crm/page.tsx
index d61ab25..e33a78d 100644
--- a/frontend/src/app/crm/page.tsx
+++ b/frontend/src/app/crm/page.tsx
@@ -725,7 +725,7 @@ function CRMContent() {