feat(HomePage): 已登录用户访问首页展示个人中心内容

- HomePage: 添加条件渲染,已登录时展示 Center 组件
- 重构 Center 目录结构,合并 Center.tsx 到 index.tsx
- 重命名 CenterDashboard 为 Center(lazy-components, homeRoutes)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
zdl
2025-12-24 11:06:30 +08:00
parent 9156da410d
commit ac76db09a2
5 changed files with 19 additions and 11 deletions

View File

@@ -28,7 +28,7 @@ export const homeRoutes = [
// 个人中心 - /home/center
{
path: 'center',
component: lazyComponents.CenterDashboard,
component: lazyComponents.Center,
protection: PROTECTION_MODES.MODAL,
meta: {
title: '个人中心',

View File

@@ -11,7 +11,7 @@ export const lazyComponents = {
// Home 模块
// ⚡ 直接引用 HomePage无需中间层静态页面不需要骨架屏
HomePage: React.lazy(() => import('@views/Home/HomePage')),
CenterDashboard: React.lazy(() => import('@views/Center')),
Center: React.lazy(() => import('@views/Center')),
ProfilePage: React.lazy(() => import('@views/Profile/ProfilePage')),
// 价值论坛 - 我的积分页面
ForumMyPoints: React.lazy(() => import('@views/Profile')),
@@ -56,7 +56,7 @@ export const lazyComponents = {
*/
export const {
HomePage,
CenterDashboard,
Center,
ProfilePage,
ForumMyPoints,
SettingsPage,

View File

@@ -1,4 +0,0 @@
// src/views/Center/index.js
// 入口文件,导出 Center 组件
export { default } from './Center';

View File

@@ -13,12 +13,12 @@ import ForumCenter from '@views/Profile/components/ForumCenter';
import { THEME } from '@views/Profile/components/MarketDashboard/constants';
/**
* CenterDashboard
* Center
*
*
* WatchSidebar GlobalSidebar MainLayout
*/
const CenterDashboard: React.FC = () => {
const Center: React.FC = () => {
return (
<Box bg={THEME.bg.primary} minH="100vh" overflowX="hidden">
@@ -42,4 +42,4 @@ const CenterDashboard: React.FC = () => {
);
};
export default CenterDashboard;
export default Center;

View File

@@ -16,6 +16,7 @@ import { FeaturedFeatureCard } from './components/FeaturedFeatureCard';
import { FeatureCard } from './components/FeatureCard';
import MiniProgramLauncher from '@/components/MiniProgramLauncher';
import { isMobileDevice } from '@/components/MiniProgramLauncher/hooks/useWechatEnvironment';
import Center from '@views/Center';
import '@/styles/home-animations.css';
/**
@@ -23,7 +24,7 @@ import '@/styles/home-animations.css';
* 展示平台核心功能,引导用户探索各个功能模块
*/
const HomePage: React.FC = () => {
const { user, isAuthenticated } = useAuth();
const { user, isAuthenticated, isLoading } = useAuth();
const navigate = useNavigate();
const { track } = usePostHogTrack();
@@ -83,6 +84,17 @@ const HomePage: React.FC = () => {
// 移动端判断(用于显示小程序入口)
const isMobile = isMobileDevice();
// 等待认证状态确认(避免闪烁)
if (isLoading) {
return null;
}
// 已登录直接渲染个人中心
if (isAuthenticated && user) {
return <Center />;
}
// 未登录渲染首页内容
return (
<Box minH="100%">
{/* Hero Section - 深色科技风格,自适应容器高度 */}