import React, { useState } from 'react';
import {
Calendar,
CheckCircle,
Clock,
FileText,
Grid,
Home,
LayoutDashboard,
List,
MessageSquare,
PieChart,
Plus,
Settings,
Users,
Bell,
ChevronRight,
ChevronLeft,
Instagram,
Twitter,
Search,
Menu,
X,
Filter,
MoreHorizontal,
Edit,
Trash,
Eye,
Upload,
Download,
ArrowUp,
ArrowDown,
CheckSquare,
Square,
ChevronDown,
ChevronUp,
Paperclip,
Link,
Share,
User,
LogOut,
Moon,
Sun,
Globe,
Lock,
Mail,
Phone,
MapPin,
AlertCircle,
HelpCircle,
Info,
Briefcase,
Image,
Video,
FileImage,
FilePlus,
FolderPlus,
Folder,
Star,
StarHalf,
BarChart2,
PieChart as PieChartIcon,
LineChart,
TrendingUp,
TrendingDown,
ArrowUpRight,
ArrowDownRight,
Slash,
XCircle,
CheckCircle as CheckCircleIcon,
AlertTriangle,
Save,
RefreshCw,
ExternalLink,
Clipboard,
Copy
} from 'lucide-react';
// Main App Component
const MontagecoApp = () => {
const [language, setLanguage] = useState('ar'); // 'ar' for Arabic, 'en' for English
const [menuOpen, setMenuOpen] = useState(false);
const [currentPage, setCurrentPage] = useState('dashboard');
const [modalOpen, setModalOpen] = useState(false);
const [modalType, setModalType] = useState('');
const [modalData, setModalData] = useState(null);
const [darkMode, setDarkMode] = useState(false);
// Translations
const translations = {
en: {
// General
dashboard: "Dashboard",
projects: "Projects",
tasks: "Tasks",
assets: "Assets",
contentPlan: "Content Plan",
clients: "Clients",
team: "Team",
reports: "Reports",
settings: "Settings",
messages: "Messages",
search: "Search...",
welcome: "Welcome back",
notifications: "Notifications",
viewAll: "View All",
today: "Today",
thisWeek: "This Week",
add: "Add",
edit: "Edit",
delete: "Delete",
view: "View",
save: "Save",
cancel: "Cancel",
close: "Close",
filter: "Filter",
sort: "Sort",
status: "Status",
priority: "Priority",
dueDate: "Due Date",
assignedTo: "Assigned To",
createdBy: "Created By",
createdAt: "Created At",
updatedAt: "Updated At",
actions: "Actions",
name: "Name",
description: "Description",
type: "Type",
size: "Size",
date: "Date",
platform: "Platform",
role: "Role",
email: "Email",
phone: "Phone",
address: "Address",
company: "Company",
website: "Website",
noProjectsFound: "No projects found",
noTasksFound: "No tasks found",
noFilesFound: "No files found",
noContentFound: "No content found",
noClientsFound: "No clients found",
noTeamMembersFound: "No team members found",
// Projects
projectsOverview: "Projects Overview",
activeProjects: "Active Projects",
completedProjects: "Completed Projects",
pendingProjects: "Pending Projects",
archivedProjects: "Archived Projects",
newProject: "New Project",
projectName: "Project Name",
projectDescription: "Project Description",
projectStatus: "Project Status",
projectBudget: "Project Budget",
projectDeadline: "Project Deadline",
projectClient: "Project Client",
projectManager: "Project Manager",
projectTeam: "Project Team",
projectProgress: "Project Progress",
projectDetails: "Project Details",
// Tasks
upcomingTasks: "Upcoming Tasks",
completedTasks: "Completed Tasks",
myTasks: "My Tasks",
allTasks: "All Tasks",
newTask: "New Task",
taskName: "Task Name",
taskDescription: "Task Description",
taskStatus: "Task Status",
taskPriority: "Task Priority",
taskDueDate: "Task Due Date",
taskProject: "Related Project",
taskAssignee: "Assignee",
taskDetails: "Task Details",
// Assets
recentFiles: "Recent Files",
allFiles: "All Files",
uploadFile: "Upload File",
fileName: "File Name",
fileType: "File Type",
fileSize: "File Size",
fileUploadDate: "Upload Date",
fileDetails: "File Details",
designs: "Designs",
documents: "Documents",
images: "Images",
// Content Plan
contentCalendar: "Content Calendar",
scheduledContent: "Scheduled Content",
publishedContent: "Published Content",
newContent: "New Content",
contentTitle: "Content Title",
contentDescription: "Content Description",
contentPlatform: "Platform",
contentPublishDate: "Publish Date",
contentStatus: "Content Status",
contentProject: "Related Project",
contentDetails: "Content Details",
all: "All",
// Clients
clientsList: "Clients List",
newClient: "New Client",
clientName: "Client Name",
clientEmail: "Client Email",
clientPhone: "Client Phone",
clientCompany: "Client Company",
clientAddress: "Client Address",
clientWebsite: "Client Website",
clientProjects: "Client Projects",
clientDetails: "Client Details",
// Team
teamMembers: "Team Members",
teamPerformance: "Team Performance",
newTeamMember: "New Team Member",
memberName: "Member Name",
memberEmail: "Member Email",
memberPhone: "Member Phone",
memberRole: "Member Role",
memberProjects: "Member Projects",
memberTasks: "Member Tasks",
memberPerformance: "Member Performance",
memberDetails: "Member Details",
// Reports
performanceReports: "Performance Reports",
projectReports: "Project Reports",
teamReports: "Team Reports",
clientReports: "Client Reports",
financialReports: "Financial Reports",
generateReport: "Generate Report",
reportType: "Report Type",
reportPeriod: "Report Period",
reportFormat: "Report Format",
// Settings
generalSettings: "General Settings",
accountSettings: "Account Settings",
notificationSettings: "Notification Settings",
securitySettings: "Security Settings",
languageSettings: "Language Settings",
themeSettings: "Theme Settings",
roleSettings: "Role Settings",
// Status
active: "Active",
inactive: "Inactive",
pending: "Pending",
inProgress: "In Progress",
completed: "Completed",
cancelled: "Cancelled",
archived: "Archived",
scheduled: "Scheduled",
published: "Published",
// Priority
high: "High",
medium: "Medium",
low: "Low",
// Months
january: "January",
february: "February",
march: "March",
april: "April",
may: "May",
june: "June",
july: "July",
august: "August",
september: "September",
october: "October",
november: "November",
december: "December",
// Social Media
instagram: "Instagram",
twitter: "Twitter",
tiktok: "TikTok",
googleMaps: "Google Maps",
// Task Types
designTask: "Design Task",
editTask: "Edit Task",
designReview: "Design Review",
clientFeedback: "Client Feedback",
finalApproval: "Final Approval",
// Roles
owner: "Owner",
projectManager: "Project Manager",
projectSupervisor: "Project Supervisor",
designManager: "Design Manager",
designer: "Designer",
client: "Client",
// Notifications
newTaskAssigned: "New task assigned",
taskStatusChanged: "Task status changed",
projectDeadlineApproaching: "Project deadline approaching",
clientCommentAdded: "Client added a comment",
designApproved: "Design approved",
// Misc
darkMode: "Dark Mode",
lightMode: "Light Mode",
logout: "Logout",
profile: "Profile",
help: "Help",
support: "Support",
termsOfService: "Terms of Service",
privacyPolicy: "Privacy Policy",
},
ar: {
// General
dashboard: "لوحة التحكم",
projects: "المشاريع",
tasks: "المهام",
assets: "الأصول",
contentPlan: "خطة المحتوى",
clients: "العملاء",
team: "الفريق",
reports: "التقارير",
settings: "الإعدادات",
messages: "الرسائل",
search: "بحث...",
welcome: "مرحباً بعودتك",
notifications: "الإشعارات",
viewAll: "عرض الكل",
today: "اليوم",
thisWeek: "هذا الأسبوع",
add: "إضافة",
edit: "تعديل",
delete: "حذف",
view: "عرض",
save: "حفظ",
cancel: "إلغاء",
close: "إغلاق",
filter: "تصفية",
sort: "ترتيب",
status: "الحالة",
priority: "الأولوية",
dueDate: "تاريخ الاستحقاق",
assignedTo: "مُسند إلى",
createdBy: "أنشئ بواسطة",
createdAt: "تاريخ الإنشاء",
updatedAt: "تاريخ التحديث",
actions: "إجراءات",
name: "الاسم",
description: "الوصف",
type: "النوع",
size: "الحجم",
date: "التاريخ",
platform: "المنصة",
role: "الدور",
email: "البريد الإلكتروني",
phone: "الهاتف",
address: "العنوان",
company: "الشركة",
website: "الموقع الإلكتروني",
noProjectsFound: "لم يتم العثور على مشاريع",
noTasksFound: "لم يتم العثور على مهام",
noFilesFound: "لم يتم العثور على ملفات",
noContentFound: "لم يتم العثور على محتوى",
noClientsFound: "لم يتم العثور على عملاء",
noTeamMembersFound: "لم يتم العثور على أعضاء فريق",
// Projects
projectsOverview: "نظرة عامة على المشاريع",
activeProjects: "المشاريع النشطة",
completedProjects: "المشاريع المكتملة",
pendingProjects: "المشاريع قيد الانتظار",
archivedProjects: "المشاريع المؤرشفة",
newProject: "مشروع جديد",
projectName: "اسم المشروع",
projectDescription: "وصف المشروع",
projectStatus: "حالة المشروع",
projectBudget: "ميزانية المشروع",
projectDeadline: "الموعد النهائي للمشروع",
projectClient: "عميل المشروع",
projectManager: "مدير المشروع",
projectTeam: "فريق المشروع",
projectProgress: "تقدم المشروع",
projectDetails: "تفاصيل المشروع",
// Tasks
upcomingTasks: "المهام القادمة",
completedTasks: "المهام المكتملة",
myTasks: "مهامي",
allTasks: "جميع المهام",
newTask: "مهمة جديدة",
taskName: "اسم المهمة",
taskDescription: "وصف المهمة",
taskStatus: "حالة المهمة",
taskPriority: "أولوية المهمة",
taskDueDate: "تاريخ استحقاق المهمة",
taskProject: "المشروع المرتبط",
taskAssignee: "المسؤول",
taskDetails: "تفاصيل المهمة",
// Assets
recentFiles: "الملفات الحديثة",
allFiles: "جميع الملفات",
uploadFile: "رفع ملف",
fileName: "اسم الملف",
fileType: "نوع الملف",
fileSize: "حجم الملف",
fileUploadDate: "تاريخ الرفع",
fileDetails: "تفاصيل الملف",
designs: "التصاميم",
documents: "المستندات",
images: "الصور",
// Content Plan
contentCalendar: "تقويم المحتوى",
scheduledContent: "المحتوى المجدول",
publishedContent: "المحتوى المنشور",
newContent: "محتوى جديد",
contentTitle: "عنوان المحتوى",
contentDescription: "وصف المحتوى",
contentPlatform: "المنصة",
contentPublishDate: "تاريخ النشر",
contentStatus: "حالة المحتوى",
contentProject: "المشروع المرتبط",
contentDetails: "تفاصيل المحتوى",
all: "الكل",
// Clients
clientsList: "قائمة العملاء",
newClient: "عميل جديد",
clientName: "اسم العميل",
clientEmail: "البريد الإلكتروني للعميل",
clientPhone: "هاتف العميل",
clientCompany: "شركة العميل",
clientAddress: "عنوان العميل",
clientWebsite: "موقع العميل الإلكتروني",
clientProjects: "مشاريع العميل",
clientDetails: "تفاصيل العميل",
// Team
teamMembers: "أعضاء الفريق",
teamPerformance: "أداء الفريق",
newTeamMember: "عضو فريق جديد",
memberName: "اسم العضو",
memberEmail: "البريد الإلكتروني للعضو",
memberPhone: "هاتف العضو",
memberRole: "دور العضو",
memberProjects: "مشاريع العضو",
memberTasks: "مهام العضو",
memberPerformance: "أداء العضو",
memberDetails: "تفاصيل العضو",
// Reports
performanceReports: "تقارير الأداء",
projectReports: "تقارير المشاريع",
teamReports: "تقارير الفريق",
clientReports: "تقارير العملاء",
financialReports: "التقارير المالية",
generateReport: "إنشاء تقرير",
reportType: "نوع التقرير",
reportPeriod: "فترة التقرير",
reportFormat: "تنسيق التقرير",
// Settings
generalSettings: "الإعدادات العامة",
accountSettings: "إعدادات الحساب",
notificationSettings: "إعدادات الإشعارات",
securitySettings: "إعدادات الأمان",
languageSettings: "إعدادات اللغة",
themeSettings: "إعدادات المظهر",
roleSettings: "إعدادات الأدوار",
// Status
active: "نشط",
inactive: "غير نشط",
pending: "قيد الانتظار",
inProgress: "قيد التنفيذ",
completed: "مكتمل",
cancelled: "ملغي",
archived: "مؤرشف",
scheduled: "مجدول",
published: "منشور",
// Priority
high: "عالية",
medium: "متوسطة",
low: "منخفضة",
// Months
january: "يناير",
february: "فبراير",
march: "مارس",
april: "أبريل",
may: "مايو",
june: "يونيو",
july: "يوليو",
august: "أغسطس",
september: "سبتمبر",
october: "أكتوبر",
november: "نوفمبر",
december: "ديسمبر",
// Social Media
instagram: "انستغرام",
twitter: "تويتر",
tiktok: "تيك توك",
googleMaps: "خرائط جوجل",
// Task Types
designTask: "مهمة تصميم",
editTask: "مهمة تعديل",
designReview: "مراجعة تصميم",
clientFeedback: "ملاحظات العميل",
finalApproval: "الموافقة النهائية",
// Roles
owner: "مالك",
projectManager: "مدير مشروع",
projectSupervisor: "مشرف مشروع",
designManager: "مدير تصميم",
designer: "مصمم",
client: "عميل",
// Notifications
newTaskAssigned: "تم تعيين مهمة جديدة لك",
taskStatusChanged: "تم تغيير حالة المهمة",
projectDeadlineApproaching: "موعد تسليم المشروع يقترب",
clientCommentAdded: "أضاف العميل تعليقًا جديدًا",
designApproved: "تمت الموافقة على التصميم",
// Misc
darkMode: "الوضع الداكن",
lightMode: "الوضع الفاتح",
logout: "تسجيل الخروج",
profile: "الملف الشخصي",
help: "المساعدة",
support: "الدعم",
termsOfService: "شروط الخدمة",
privacyPolicy: "سياسة الخصوصية",
}
};
// Helper function to get text based on current language
const t = (key) => translations[language][key] || key;
// Mock data for projects
const projectsData = [
{ id: 1, name: 'Brand X Rebranding', client: 'Brand X Corp', status: 'active', progress: 75, deadline: '2023-12-25', budget: '$5,000', manager: 'محمد أحمد' },
{ id: 2, name: 'Tech Co Website', client: 'Tech Co', status: 'active', progress: 45, deadline: '2024-01-15', budget: '$8,500', manager: 'سارة خالد' },
{ id: 3, name: 'Fashion Z Campaign', client: 'Fashion Z', status: 'pending', progress: 10, deadline: '2024-01-30', budget: '$12,000', manager: 'أحمد علي' },
{ id: 4, name: 'Cafe Y Menu Design', client: 'Cafe Y', status: 'completed', progress: 100, deadline: '2023-12-05', budget: '$1,800', manager: 'ليلى محمد' },
{ id: 5, name: 'Hotel Z Brochure', client: 'Hotel Z', status: 'archived', progress: 100, deadline: '2023-11-20', budget: '$3,200', manager: 'محمد أحمد' },
{ id: 6, name: 'Restaurant A Menu', client: 'Restaurant A', status: 'active', progress: 60, deadline: '2023-12-30', budget: '$2,500', manager: 'سارة خالد' },
{ id: 7, name: 'Gym B Social Media', client: 'Gym B', status: 'active', progress: 35, deadline: '2024-01-10', budget: '$4,800', manager: 'أحمد علي' },
{ id: 8, name: 'Clinic C Website', client: 'Clinic C', status: 'pending', progress: 5, deadline: '2024-02-15', budget: '$7,500', manager: 'ليلى محمد' },
];
// Mock data for tasks
const tasksData = [
{ id: 1, name: t('designTask'), project: 'Brand X Rebranding', dueDate: '2023-12-15', assignedTo: 'محمد أحمد', priority: 'high', status: 'inProgress' },
{ id: 2, name: t('editTask'), project: 'Tech Co Website', dueDate: '2023-12-16', assignedTo: 'سارة خالد', priority: 'medium', status: 'pending' },
{ id: 3, name: t('designReview'), project: 'Fashion Z Campaign', dueDate: '2023-12-14', assignedTo: 'أحمد علي', priority: 'high', status: 'pending' },
{ id: 4, name: t('clientFeedback'), project: 'Cafe Y Menu Design', dueDate: '2023-12-13', assignedTo: 'ليلى محمد', priority: 'low', status: 'completed' },
{ id: 5, name: t('finalApproval'), project: 'Hotel Z Brochure', dueDate: '2023-12-12', assignedTo: 'محمد أحمد', priority: 'medium', status: 'completed' },
{ id: 6, name: t('designTask'), project: 'Restaurant A Menu', dueDate: '2023-12-18', assignedTo: 'سارة خالد', priority: 'high', status: 'inProgress' },
{ id: 7, name: t('editTask'), project: 'Gym B Social Media', dueDate: '2023-12-20', assignedTo: 'أحمد علي', priority: 'low', status: 'pending' },
{ id: 8, name: t('designReview'), project: 'Clinic C Website', dueDate: '2023-12-22', assignedTo: 'ليلى محمد', priority: 'medium', status: 'inProgress' },
];
// Mock data for content calendar
const contentCalendarData = [
{ id: 1, title: 'Brand X New Logo Reveal', platform: 'instagram', date: '2023-12-15', project: 'Brand X Rebranding', status: 'scheduled' },
{ id: 2, title: 'Tech Co Product Launch', platform: 'twitter', date: '2023-12-16', project: 'Tech Co Website', status: 'published' },
{ id: 3, title: 'Fashion Z Summer Collection', platform: 'tiktok', date: '2023-12-17', project: 'Fashion Z Campaign', status: 'scheduled' },
{ id: 4, title: 'Cafe Y New Menu Items', platform: 'instagram', date: '2023-12-18', project: 'Cafe Y Menu Design', status: 'scheduled' },
{ id: 5, title: 'Hotel Z Facilities Tour', platform: 'instagram', date: '2023-12-19', project: 'Hotel Z Brochure', status: 'published' },
{ id: 6, title: 'Restaurant A Chef Interview', platform: 'twitter', date: '2023-12-20', project: 'Restaurant A Menu', status: 'scheduled' },
{ id: 7, title: 'Gym B Workout Tips', platform: 'tiktok', date: '2023-12-21', project: 'Gym B Social Media', status: 'scheduled' },
{ id: 8, title: 'Clinic C Health Tips', platform: 'instagram', date: '2023-12-22', project: 'Clinic C Website', status: 'scheduled' },
];
// Mock data for assets
const assetsData = [
{ id: 1, name: 'Brand X Logo Final.ai', type: 'design', project: 'Brand X Rebranding', date: '2023-12-12', size: '2.4 MB' },
{ id: 2, name: 'Tech Co Social Media Kit.psd', type: 'design', project: 'Tech Co Website', date: '2023-12-11', size: '15.7 MB' },
{ id: 3, name: 'Fashion Z Contract.pdf', type: 'document', project: 'Fashion Z Campaign', date: '2023-12-10', size: '1.2 MB' },
{ id: 4, name: 'Cafe Y Menu Design.ai', type: 'design', project: 'Cafe Y Menu Design', date: '2023-12-09', size: '4.5 MB' },
{ id: 5, name: 'Hotel Z Brochure Draft.pdf', type: 'document', project: 'Hotel Z Brochure', date: '2023-12-08', size: '3.8 MB' },
{ id: 6, name: 'Restaurant A Menu Photos.zip', type: 'image', project: 'Restaurant A Menu', date: '2023-12-07', size: '28.2 MB' },
{ id: 7, name: 'Gym B Logo Variations.ai', type: 'design', project: 'Gym B Social Media', date: '2023-12-06', size: '5.1 MB' },
{ id: 8, name: 'Clinic C Website Wireframes.sketch', type: 'design', project: 'Clinic C Website', date: '2023-12-05', size: '8.7 MB' },
];
// Mock data for clients
const clientsData = [
{ id: 1, name: 'Brand X Corp', contact: 'John Smith', email: 'john@brandx.com', phone: '+1 234 567 890', projects: 1 },
{ id: 2, name: 'Tech Co', contact: 'Sarah Johnson', email: 'sarah@techco.com', phone: '+1 234 567 891', projects: 1 },
{ id: 3, name: 'Fashion Z', contact: 'Michael Brown', email: 'michael@fashionz.com', phone: '+1 234 567 892', projects: 1 },
{ id: 4, name: 'Cafe Y', contact: 'Emily Davis', email: 'emily@cafey.com', phone: '+1 234 567 893', projects: 1 },
{ id: 5, name: 'Hotel Z', contact: 'David Wilson', email: 'david@hotelz.com', phone: '+1 234 567 894', projects: 1 },
{ id: 6, name: 'Restaurant A', contact: 'Jennifer Lee', email: 'jennifer@restauranta.com', phone: '+1 234 567 895', projects: 1 },
{ id: 7, name: 'Gym B', contact: 'Robert Taylor', email: 'robert@gymb.com', phone: '+1 234 567 896', projects: 1 },
{ id: 8, name: 'Clinic C', contact: 'Lisa Anderson', email: 'lisa@clinicc.com', phone: '+1 234 567 897', projects: 1 },
];
// Mock data for team members
const teamMembersData = [
{ id: 1, name: 'محمد أحمد', role: 'projectManager', email: 'mohamed@montageco.com', phone: '+966 50 123 4567', tasksCompleted: 24, onTime: '95%' },
{ id: 2, name: 'سارة خالد', role: 'projectManager', email: 'sarah@montageco.com', phone: '+966 50 123 4568', tasksCompleted: 18, onTime: '92%' },
{ id: 3, name: 'أحمد علي', role: 'designManager', email: 'ahmed@montageco.com', phone: '+966 50 123 4569', tasksCompleted: 15, onTime: '88%' },
{ id: 4, name: 'ليلى محمد', role: 'designer', email: 'layla@montageco.com', phone: '+966 50 123 4570', tasksCompleted: 21, onTime: '94%' },
{ id: 5, name: 'خالد عمر', role: 'designer', email: 'khaled@montageco.com', phone: '+966 50 123 4571', tasksCompleted: 19, onTime: '90%' },
{ id: 6, name: 'فاطمة علي', role: 'designer', email: 'fatima@montageco.com', phone: '+966 50 123 4572', tasksCompleted: 17, onTime: '89%' },
{ id: 7, name: 'عمر حسن', role: 'projectSupervisor', email: 'omar@montageco.com', phone: '+966 50 123 4573', tasksCompleted: 22, onTime: '93%' },
{ id: 8, name: 'نورة سعيد', role: 'owner', email: 'noura@montageco.com', phone: '+966 50 123 4574', tasksCompleted: 10, onTime: '97%' },
];
// Mock data for notifications
const notificationsData = [
{ id: 1, type: 'task', message: t('newTaskAssigned'), time: '10:30 AM', read: false },
{ id: 2, type: 'comment', message: t('clientCommentAdded'), time: '09:15 AM', read: false },
{ id: 3, type: 'deadline', message: t('projectDeadlineApproaching'), time: 'Yesterday', read: true },
{ id: 4, type: 'approval', message: t('designApproved'), time: 'Yesterday', read: true },
{ id: 5, type: 'task', message: t('taskStatusChanged'), time: '2 days ago', read: true },
{ id: 6, type: 'comment', message: t('clientCommentAdded'), time: '2 days ago', read: true },
{ id: 7, type: 'deadline', message: t('projectDeadlineApproaching'), time: '3 days ago', read: true },
{ id: 8, type: 'approval', message: t('designApproved'), time: '3 days ago', read: true },
];
// Get priority color
const getPriorityColor = (priority) => {
switch(priority) {
case 'high': return 'bg-red-100 text-red-800';
case 'medium': return 'bg-yellow-100 text-yellow-800';
case 'low': return 'bg-green-100 text-green-800';
default: return 'bg-gray-100 text-gray-800';
}
};
// Get status color
const getStatusColor = (status) => {
switch(status) {
case 'completed': return 'bg-green-100 text-green-800';
case 'inProgress': return 'bg-blue-100 text-blue-800';
case 'pending': return 'bg-yellow-100 text-yellow-800';
case 'cancelled': return 'bg-red-100 text-red-800';
case 'active': return 'bg-blue-100 text-blue-800';
case 'archived': return 'bg-gray-100 text-gray-800';
case 'published': return 'bg-green-100 text-green-800';
case 'scheduled': return 'bg-yellow-100 text-yellow-800';
default: return 'bg-gray-100 text-gray-800';
}
};
// Get platform icon
const getPlatformIcon = (platform) => {
switch(platform) {
case 'instagram': return
2023 {t('december')}, 14
{projectCounts.active}
{projectCounts.completed}
{projectCounts.pending}
{projectCounts.archived}
{content.project}
{file.project}
{member.tasksCompleted} {t('tasks')}
| {t('status')} | {t('projectManager')} | {t('actions')} | ||||
|---|---|---|---|---|---|---|
|
{project.name}
|
{project.client} | {t(project.status)} |
{project.progress}%
|
{project.deadline} | {project.manager} |
|
| {t('status')} | {t('assignedTo')} | {t('actions')} | ||||
|---|---|---|---|---|---|---|
|
{task.name}
|
{task.project} | {t(task.priority)} | {t(task.status)} | {task.dueDate} |
{task.assignedTo.charAt(0)}
{task.assignedTo}
|
|
{asset.project}
| {t('type')} | {t('actions')} | ||||
|---|---|---|---|---|---|
|
{getFileTypeIcon(asset.type)}
{asset.name}
|
{asset.project} | {asset.type} | {asset.size} | {asset.date} |
|
| {t('status')} | {t('actions')} | ||||
|---|---|---|---|---|---|
|
{content.title}
|
{getPlatformIcon(content.platform)}
{t(content.platform)}
|
{content.project} | {t(content.status)} | {content.date} |
|
| {t('phone')} |
|---|