Migrate frontend to Next.js and add dashboard AppShell with components and global styles - #3
Migrate frontend to Next.js and add dashboard AppShell with components and global styles#3LonelyFeel wants to merge 1 commit into
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f8800c1c9b
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| <AppShell | ||
| navItems={NAV_ITEMS} |
There was a problem hiding this comment.
Reinstate /api/me auth check before rendering AppShell
This page now renders the full dashboard shell unconditionally from static constants, with no frontend authorization flow at all. In this codebase, /api/me is the SSO gate for whether a user is allowed to access portal data, and the previous frontend implementation enforced that before showing dashboard content; removing that check means any reachable client can load the portal UI regardless of authorization state.
Useful? React with 👍 / 👎.
|
Good |
Motivation
Description
app/layout.tsx,app/page.tsx,next.config.mjs, andnext-env.d.ts, and updatepackage.jsonto usenext,react, andreact-dom.frontend/app/componentsincluding layout pieces (AppShell,Sidebar,Topbar), dashboard components (DashboardMain,WelcomeHero,KpiSection,KpiCard,ModuleLauncher,ModuleCard,ActivityList,QuickAccessPanel) and a sharedSectionHeader.frontend/app/globals.css, auseDarkModehook infrontend/app/hooks/useDarkMode.ts, TypeScript types infrontend/types/portal.ts, and atsconfig.jsonfor the Next.js project.frontend/data/portalData.tsandfrontend/lib/*constants to wire sample data into the UI, and remove legacy Vue files and Vite config that are no longer needed.Testing
tsc --noEmit, which completed without type errors.npm run build(next build) as a local smoke test, and the build completed successfully.Codex Task