From 3e0eeafac3f0da29ac5a90c234c44b552c3b91d2 Mon Sep 17 00:00:00 2001 From: Thibault Pouch Date: Mon, 2 Mar 2026 09:47:40 +0100 Subject: [PATCH] chore: remove mock data usage and initialize state in various components for cleaner setup --- nest-intra/src/pages/LoginPage.tsx | 50 ------------------- .../src/pages/intranet/IntranetBugs.tsx | 5 +- .../src/pages/intranet/IntranetDashboard.tsx | 38 +++----------- .../src/pages/intranet/IntranetEvents.tsx | 5 +- .../src/pages/intranet/IntranetFeed.tsx | 3 +- .../src/pages/intranet/IntranetModeration.tsx | 5 +- .../src/pages/intranet/IntranetUsers.tsx | 19 ++----- 7 files changed, 18 insertions(+), 107 deletions(-) diff --git a/nest-intra/src/pages/LoginPage.tsx b/nest-intra/src/pages/LoginPage.tsx index a0c3098..d829142 100644 --- a/nest-intra/src/pages/LoginPage.tsx +++ b/nest-intra/src/pages/LoginPage.tsx @@ -1,7 +1,6 @@ import { useState, useCallback } from 'react'; import { useNavigate, useLocation } from 'react-router-dom'; import { useAuth } from '../contexts/AuthContext'; -import { DEMO_CREDENTIALS } from '../data/mockData'; export default function LoginPage() { const { login, isAuthenticated } = useAuth(); @@ -44,22 +43,6 @@ export default function LoginPage() { [email, password, login, navigate, from] ); - const handleQuickLogin = useCallback( - async (credEmail: string) => { - setEmail(credEmail); - setError(''); - setLoading(true); - const result = await login(credEmail, 'demo'); - setLoading(false); - if (result.success) { - navigate(from, { replace: true }); - } else { - setError(result.error || 'Login failed.'); - } - }, - [login, navigate, from] - ); - return (
- {/* Quick login */} -
-
- QUICK LOGIN (DEMO) -
-
- - -
-
); diff --git a/nest-intra/src/pages/intranet/IntranetBugs.tsx b/nest-intra/src/pages/intranet/IntranetBugs.tsx index 05722bf..12721a5 100644 --- a/nest-intra/src/pages/intranet/IntranetBugs.tsx +++ b/nest-intra/src/pages/intranet/IntranetBugs.tsx @@ -1,5 +1,4 @@ import { useState, useMemo, useCallback } from 'react'; -import { MOCK_BUGS, MOCK_USERS } from '../../data/mockData'; import { useAuth } from '../../contexts/AuthContext'; import { formatDate, formatDateTime } from '../../utils/format'; import type { BugReport, BugSeverity, BugStatus, BugReportNote } from '../../types'; @@ -16,12 +15,12 @@ function SeverityBadge({ severity }: { severity: BugSeverity }) { } const STATUSES: BugStatus[] = ['open', 'in_progress', 'resolved', 'closed']; -const STAFF_MEMBERS = MOCK_USERS.filter((u) => u.role === 'dev' || u.role === 'com'); +const STAFF_MEMBERS: { id: string; username: string; role: string }[] = []; export default function IntranetBugs() { const { user } = useAuth(); - const [bugs, setBugs] = useState(MOCK_BUGS); + const [bugs, setBugs] = useState([]); const [selected, setSelected] = useState(null); const [statusFilter, setStatusFilter] = useState('all'); const [severityFilter, setSeverityFilter] = useState('all'); diff --git a/nest-intra/src/pages/intranet/IntranetDashboard.tsx b/nest-intra/src/pages/intranet/IntranetDashboard.tsx index d996dbc..7110122 100644 --- a/nest-intra/src/pages/intranet/IntranetDashboard.tsx +++ b/nest-intra/src/pages/intranet/IntranetDashboard.tsx @@ -1,6 +1,5 @@ import { Link } from 'react-router-dom'; import { useAuth } from '../../contexts/AuthContext'; -import { MOCK_BUGS, MOCK_STAFF_POSTS, MOCK_USERS, MOCK_THREADS } from '../../data/mockData'; interface StatCardProps { label: string; @@ -81,10 +80,10 @@ function NavTile({ to, label, description, icon }: NavTileProps) { export default function IntranetDashboard() { const { user } = useAuth(); - const openBugs = MOCK_BUGS.filter((b) => b.status === 'open').length; - const criticalBugs = MOCK_BUGS.filter((b) => b.severity === 'critical').length; - const assignedToMe = MOCK_BUGS.filter((b) => b.assignedToId === user?.id).length; - const totalUsers = MOCK_USERS.filter((u) => !u.isAdmin).length; + const openBugs = 0; + const criticalBugs = 0; + const assignedToMe = 0; + const totalUsers = 0; return (
@@ -111,8 +110,8 @@ export default function IntranetDashboard() { - - p.createdAt.startsWith('2026-02-18')).length} accent="amber" /> + +
@@ -134,29 +133,8 @@ export default function IntranetDashboard() {
RECENT TEAM ACTIVITY
-
- {MOCK_STAFF_POSTS.slice(0, 4).map((post, idx) => ( -
-
- - {post.authorName} - [{post.authorRole}] - - - {new Date(post.createdAt).toLocaleTimeString('en-US', { hour: '2-digit', minute: '2-digit' })} - -
-
- {post.content} -
-
- ))} +
+ No recent activity.
diff --git a/nest-intra/src/pages/intranet/IntranetEvents.tsx b/nest-intra/src/pages/intranet/IntranetEvents.tsx index 5fa3a20..4803822 100644 --- a/nest-intra/src/pages/intranet/IntranetEvents.tsx +++ b/nest-intra/src/pages/intranet/IntranetEvents.tsx @@ -1,5 +1,4 @@ import { useState, useCallback } from 'react'; -import { MOCK_EVENTS, MOCK_POLLS } from '../../data/mockData'; import { useAuth } from '../../contexts/AuthContext'; import { formatDateTime } from '../../utils/format'; import type { EventPost, EventType, Poll, UserRole } from '../../types'; @@ -247,8 +246,8 @@ function EventCard({ export default function IntranetEvents() { const { user } = useAuth(); - const [events, setEvents] = useState(MOCK_EVENTS); - const [polls, setPolls] = useState(MOCK_POLLS); + const [events, setEvents] = useState([]); + const [polls, setPolls] = useState([]); const [showCreateForm, setShowCreateForm] = useState(false); // Form state diff --git a/nest-intra/src/pages/intranet/IntranetFeed.tsx b/nest-intra/src/pages/intranet/IntranetFeed.tsx index 599f78b..e153868 100644 --- a/nest-intra/src/pages/intranet/IntranetFeed.tsx +++ b/nest-intra/src/pages/intranet/IntranetFeed.tsx @@ -1,5 +1,4 @@ import { useState, useCallback } from 'react'; -import { MOCK_STAFF_POSTS } from '../../data/mockData'; import { useAuth } from '../../contexts/AuthContext'; import { formatDateTime } from '../../utils/format'; import type { StaffPost, UserRole } from '../../types'; @@ -68,7 +67,7 @@ function FeedPost({ post }: { post: StaffPost }) { export default function IntranetFeed() { const { user } = useAuth(); - const [posts, setPosts] = useState(MOCK_STAFF_POSTS); + const [posts, setPosts] = useState([]); const [content, setContent] = useState(''); const [error, setError] = useState(''); const [posting, setPosting] = useState(false); diff --git a/nest-intra/src/pages/intranet/IntranetModeration.tsx b/nest-intra/src/pages/intranet/IntranetModeration.tsx index 0a74f60..525b261 100644 --- a/nest-intra/src/pages/intranet/IntranetModeration.tsx +++ b/nest-intra/src/pages/intranet/IntranetModeration.tsx @@ -1,11 +1,10 @@ import { useState, useMemo, useCallback } from 'react'; -import { MOCK_THREADS, MOCK_REPLIES } from '../../data/mockData'; import { formatDateTime } from '../../utils/format'; import type { ForumThread, ForumReply } from '../../types'; export default function IntranetModeration() { - const [threads, setThreads] = useState(MOCK_THREADS); - const [replies, setReplies] = useState(MOCK_REPLIES); + const [threads, setThreads] = useState([]); + const [replies, setReplies] = useState([]); const [selectedThreadId, setSelectedThreadId] = useState(null); const [search, setSearch] = useState(''); const [activeTab, setActiveTab] = useState<'threads' | 'replies'>('threads'); diff --git a/nest-intra/src/pages/intranet/IntranetUsers.tsx b/nest-intra/src/pages/intranet/IntranetUsers.tsx index 44c1cdb..d1f0751 100644 --- a/nest-intra/src/pages/intranet/IntranetUsers.tsx +++ b/nest-intra/src/pages/intranet/IntranetUsers.tsx @@ -1,28 +1,15 @@ import { useState, useMemo, useCallback } from 'react'; -import { MOCK_USERS, MOCK_THREADS, MOCK_BUGS } from '../../data/mockData'; import { useAuth } from '../../contexts/AuthContext'; import { formatDate } from '../../utils/format'; import type { User, UserRole } from '../../types'; export default function IntranetUsers() { const { user: currentUser } = useAuth(); - const [users, setUsers] = useState(MOCK_USERS); + const [users, setUsers] = useState([]); const [search, setSearch] = useState(''); const [roleFilter, setRoleFilter] = useState('all'); const [confirmAction, setConfirmAction] = useState<{ userId: string; action: 'promote' | 'ban' | 'unban' } | null>(null); - const threadCounts = useMemo(() => { - const map: Record = {}; - MOCK_THREADS.forEach((t) => { map[t.authorId] = (map[t.authorId] ?? 0) + 1; }); - return map; - }, []); - - const bugCounts = useMemo(() => { - const map: Record = {}; - MOCK_BUGS.forEach((b) => { map[b.submittedById] = (map[b.submittedById] ?? 0) + 1; }); - return map; - }, []); - const filtered = useMemo(() => { return users.filter((u) => { const matchSearch = !search.trim() || u.username.toLowerCase().includes(search.toLowerCase()) || u.email.toLowerCase().includes(search.toLowerCase()); @@ -130,8 +117,8 @@ export default function IntranetUsers() { {formatDate(u.createdAt)} - {threadCounts[u.id] ?? 0} - {bugCounts[u.id] ?? 0} + 0 + 0 {u.isBanned ? ( Banned