From e0a2dace495f8380eba23cdd14fe15a955c959b2 Mon Sep 17 00:00:00 2001 From: Poyraz Avsever Date: Fri, 8 May 2026 12:26:23 +0300 Subject: [PATCH] feat: add dashboard pages for documents, projects, and team management with AI-powered insights --- app/(dashboard)/documents/page.tsx | 155 ++++++++++++++++++++++++-- app/(dashboard)/projects/page.tsx | 167 +++++++++++++++++++++++++++-- app/(dashboard)/team/page.tsx | 166 ++++++++++++++++++++++++++-- 3 files changed, 461 insertions(+), 27 deletions(-) diff --git a/app/(dashboard)/documents/page.tsx b/app/(dashboard)/documents/page.tsx index dddb896..49127e7 100644 --- a/app/(dashboard)/documents/page.tsx +++ b/app/(dashboard)/documents/page.tsx @@ -1,17 +1,154 @@ +"use client"; + +import { Plus, Search, Filter, Brain, FileText, Download, MoreHorizontal, FileSpreadsheet, FileIcon, MessageSquare } from "lucide-react"; + +// Mock Data +const documents = [ + { + id: 1, + name: "Q3 Strategy Planning.docx", + type: "word", + size: "2.4 MB", + updated: "2 hours ago", + aiStatus: "Summarized", + aiSummary: "Focuses on user acquisition and shifting marketing budget to TikTok ads. AI extracted 4 key action items." + }, + { + id: 2, + name: "Financial_Report_May.xlsx", + type: "excel", + size: "5.1 MB", + updated: "Yesterday", + aiStatus: "Analyzing", + aiSummary: "AI is currently detecting anomalies in the Q2 vs Q3 expense margins." + }, + { + id: 3, + name: "Design_System_Guidelines.pdf", + type: "pdf", + size: "12 MB", + updated: "May 04, 2026", + aiStatus: "Summarized", + aiSummary: "Details the new dark mode color tokens (#0A0710). AI created a searchable index for developers." + }, + { + id: 4, + name: "Client_Feedback_Transcript.txt", + type: "text", + size: "145 KB", + updated: "May 01, 2026", + aiStatus: "Action Required", + aiSummary: "Sentiment analysis is extremely negative regarding the login flow. AI flagged this for urgent review." + } +]; + export default function DocumentsPage() { return ( -
-
-
-

Dökümanlar

-

- Notlarınızı, raporlarınızı ve belgelerinizi saklayın. -

+
+ + {/* Top Header */} +
+

+ Management / Documents +

+
+
+ + +
+
-
- Döküman yönetim modülü yakında eklenecek. + + {/* AI Semantic Search Banner */} +
+
+ +

Talk to your Workspace

+
+

+ The AI has indexed 1,240 documents. Instead of searching by keywords, ask a direct question like "What were the key takeaways from the Q3 Strategy?" +

+
+ + +
+ + {/* Document List */} +
+ {documents.map((doc) => ( +
+ + {/* File Info */} +
+
+ {doc.type === 'word' ? : + doc.type === 'excel' ? : + } +
+
+

{doc.name}

+
+ {doc.size} + + {doc.updated} +
+
+
+ + {/* AI Insight */} +
+
+
+ + {doc.aiStatus} +
+

+ {doc.aiSummary} +

+
+ + {/* Actions */} +
+ + + +
+ +
+ ))} +
+
); } diff --git a/app/(dashboard)/projects/page.tsx b/app/(dashboard)/projects/page.tsx index 8734ec9..b1f3c9a 100644 --- a/app/(dashboard)/projects/page.tsx +++ b/app/(dashboard)/projects/page.tsx @@ -1,17 +1,166 @@ +"use client"; + +import { Plus, Search, Filter, Brain, AlertCircle, Clock, CheckCircle2, MoreHorizontal, Users, BarChart } from "lucide-react"; + +// Mock Data +const projects = [ + { + id: 1, + name: "Cognis Mobile App", + status: "In Progress", + progress: 65, + dueDate: "May 28, 2026", + team: ["JD", "AK", "LM"], + aiRisk: "Low", + aiSuggestion: "On track. Consistent velocity detected." + }, + { + id: 2, + name: "Q3 Marketing Site", + status: "At Risk", + progress: 32, + dueDate: "Jun 15, 2026", + team: ["RK", "ST"], + aiRisk: "High", + aiSuggestion: "Bottleneck detected in Design phase. Suggest assigning 1 more designer." + }, + { + id: 3, + name: "Database Migration", + status: "Review", + progress: 90, + dueDate: "May 20, 2026", + team: ["JS", "AL", "BQ", "MK"], + aiRisk: "Medium", + aiSuggestion: "QA testing is taking 20% longer than historical average." + }, + { + id: 4, + name: "User Authentication V2", + status: "To Do", + progress: 0, + dueDate: "Jul 01, 2026", + team: ["AK", "LM"], + aiRisk: "Low", + aiSuggestion: "Dependencies cleared. Ready to start." + } +]; + export default function ProjectsPage() { return ( -
-
-
-

Projeler

-

- Geniş çaplı projelerinizi ve aşamalarını takip edin. -

+
+ + {/* Top Header */} +
+

+ Management / Projects +

+
+
+ + +
+ +
-
- Proje yönetim modülü yakında eklenecek. + + {/* AI Project Manager Insight */} +
+
+ +
+
+

+ AI Project Assistant + Active +

+

+ I have analyzed your active projects. Q3 Marketing Site is showing a high risk of delay based on current commit velocity. + I recommend redistributing tasks or extending the deadline by 4 days. +

+
+ + +
+
+ + {/* Project Cards Grid */} +
+ {projects.map((project) => ( +
+ {/* Card Header */} +
+
+
+

{project.name}

+ + {project.status} + +
+
+
Due {project.dueDate}
+
{project.team.length} Members
+
+
+ +
+ + {/* AI Risk & Suggestion */} +
+ {project.aiRisk === "High" ? : + project.aiRisk === "Medium" ? : + } +
+
+ + AI Risk: {project.aiRisk} +
+

{project.aiSuggestion}

+
+
+ + {/* Progress & Actions */} +
+
+ Progress + {project.progress}% +
+
+
+
+
+
+ ))} +
+
); } diff --git a/app/(dashboard)/team/page.tsx b/app/(dashboard)/team/page.tsx index 1b741c8..4ca1645 100644 --- a/app/(dashboard)/team/page.tsx +++ b/app/(dashboard)/team/page.tsx @@ -1,17 +1,165 @@ +"use client"; + +import { Plus, Search, Filter, Brain, MoreVertical, Mail, Activity, ArrowUpRight } from "lucide-react"; + +// Mock Data +const teamMembers = [ + { + id: 1, + name: "Sarah Jenkins", + role: "Lead Designer", + capacity: 95, + status: "Overloaded", + aiInsight: "Sarah is operating at 95% capacity. AI suggests delaying non-critical UI reviews." + }, + { + id: 2, + name: "Alex Rivera", + role: "Frontend Engineer", + capacity: 60, + status: "Optimal", + aiInsight: "Alex has high availability. Perfect candidate for the Q3 Marketing Site bottleneck." + }, + { + id: 3, + name: "Michael Chen", + role: "Backend Engineer", + capacity: 85, + status: "Busy", + aiInsight: "Consistent high output. AI predicts 100% sprint completion." + }, + { + id: 4, + name: "Emma Watson", + role: "Product Manager", + capacity: 75, + status: "Optimal", + aiInsight: "Meetings occupy 60% of Emma's time. AI recommends a no-meeting day on Thursdays." + } +]; + export default function TeamPage() { return ( -
-
-
-

Ekip / Kişiler

-

- Birlikte çalıştığınız kişileri ve takım koordinasyonunu yönetin. -

+
+ + {/* Top Header */} +
+

+ Management / Team Directory +

+
+
+ + +
+
-
- Ekip modülü yakında eklenecek. + + {/* AI Team Analytics */} +
+
+
+ +
+
+

+ AI Team Optimizer +

+

+ Overall team velocity is up 14% this month. However, design resources are critically low. + Sarah Jenkins is at high risk of burnout. Would you like me to draft a capacity redistribution plan? +

+ +
+
+ +
+

Team Health Score

+
+ 8.4 + + 0.3 + +
+
Calculated by AI based on velocity and load
+
+ + {/* Team Roster */} +
+
+
Member
+
Capacity / Status
+
AI Insight
+
Actions
+
+ +
+ {teamMembers.map((member) => ( +
+ {/* Member Info */} +
+
+ {member.name.split(' ').map(n => n[0]).join('')} +
+
+
{member.name}
+
{member.role}
+
+
+ + {/* Capacity */} +
+
+
+
85 ? 'bg-red-500' : member.capacity > 65 ? 'bg-orange-500' : 'bg-emerald-500'}`} + style={{ width: `${member.capacity}%` }} + >
+
+ {member.capacity}% +
+ + {member.status} + +
+ + {/* AI Insight */} +
+ +

+ {member.aiInsight} +

+
+ + {/* Actions */} +
+ + +
+
+ ))} +
+
+
); }