blob: e74a6d3c542f48246b0feb6f34e7bfbf7321d4cf [file] [log] [blame]
Krishyac6b24832025-06-05 20:13:20 +08001// export default App;
2
Krishyae71688a2025-04-10 21:25:17 +08003import { Route } from 'wouter';
Krishya8f2fec82025-06-04 21:54:46 +08004import { Redirect } from 'wouter';
Krishya1df05892025-04-05 21:16:30 +08005import AuthPage from './pages/AuthPage/AuthPage';
Krishya75e43c02025-04-05 21:16:30 +08006import HomePage from './pages/HomePage';
Krishyae71688a2025-04-10 21:25:17 +08007import FriendMoments from './pages/FriendMoments/FriendMoments';
Krishya7ec1dd02025-04-19 15:29:03 +08008import ForumPage from './pages/Forum/posts-main/ForumPage';
22301009ecc1c1c2025-04-09 21:56:23 +08009import SeedList from './pages/SeedList/SeedList';
Krishya7ec1dd02025-04-19 15:29:03 +080010import PostDetailPage from './pages/Forum/posts-detail/PostDetailPage';
Krishya75e43c02025-04-05 21:16:30 +080011import { UserProvider } from './context/UserContext';
Krishyac6b24832025-06-05 20:13:20 +080012import { GroupProvider } from './context/useGroupStore';
223010095b28c672025-04-10 20:12:45 +080013import PublishSeed from './pages/PublishSeed/PublishSeed';
Krishya8f2fec82025-06-04 21:54:46 +080014import SeedDetail from './pages/SeedList/SeedDetail/SeedDetail';
223010093a876cc2025-04-14 16:22:20 +080015import InterestGroup from './pages/InterestGroup/InterestGroup';
223010097ff51f22025-04-15 21:35:28 +080016import UserProfile from './pages/UserCenter/UserProfile';
Krishya7ec1dd02025-04-19 15:29:03 +080017import CreatePostPage from './pages/Forum/posts-create/CreatePostPage';
Krishyaf1d0ea82025-05-03 17:01:58 +080018import MessagePage from './pages/MessagePage/MessagePage';
19import CreateMoment from './pages/FriendMoments/CreateMoment';
Krishya57cc17b2025-05-26 16:43:34 +080020import PromotionsPage from './pages/PromotionsPage/PromotionsPage';
Krishya2283d882025-05-27 22:25:19 +080021import LevelPage from './pages/LevelPage/LevelPage';
Krishya2e0f49a2025-05-29 10:59:01 +080022import NewbieTasks from './pages/UserCenter/NewbieTasks';
22301009648cb7e2025-06-04 08:54:23 +080023// import UserDynamics from './pages/UserCenter/UserDynamics';
24import UserFriends from './pages/UserCenter/UserFriends';
2230100964011632025-06-04 21:57:22 +080025import UserCollect from './pages/UserCenter/UserCollect';
Krishya7096ab12025-06-05 17:15:46 +080026import UserInvite from './pages/UserCenter/UserInvite';
Krishya767f9b92025-06-05 23:59:37 +080027import UserInfo from './pages/UserInfo/UserInfo';
Krishyac6b24832025-06-05 20:13:20 +080028import UserLayout from './pages/UserCenter/UserLayout';
29
Krishya8f2fec82025-06-04 21:54:46 +080030function RedirectToAuth() {
31 if (typeof window !== 'undefined') {
32 window.location.replace('/auth');
33 }
34 return null;
35}
36
Krishya75e43c02025-04-05 21:16:30 +080037function App() {
38 return (
39 <UserProvider>
Krishyac6b24832025-06-05 20:13:20 +080040 <GroupProvider>
Krishyab5ef96d2025-06-05 13:57:05 +080041 <>
42 <Route path="/" component={RedirectToAuth} />
43 <Route path="/auth" component={AuthPage} />
44 <Route path="/friend-moments" component={FriendMoments} />
45 <Route path="/friend-moments/create" component={CreateMoment} />
46 <Route path="/forum" component={ForumPage} />
47 <Route path="/forum/post/:postId" component={PostDetailPage} />
48 <Route path="/forum/create-post" component={CreatePostPage} />
49 <Route path="/seed-list" component={SeedList} />
2230100980aaf0d2025-06-05 23:20:05 +080050 <Route path="/publish-seed" component={PublishSeed} />
51 {/* <Route path="/publish-seed" component={SimpleUploader} /> */}
52 <Route path="/seed/:id" component={SeedDetail} />
Krishyab5ef96d2025-06-05 13:57:05 +080053 <Route path="/interest-groups" component={InterestGroup} />
Krishyab5ef96d2025-06-05 13:57:05 +080054 <Route path="/messages" component={MessagePage} />
55 <Route path="/promotions" component={PromotionsPage} />
56 <Route path="/level" component={LevelPage} />
Krishya767f9b92025-06-05 23:59:37 +080057 <Route path="/information/:userId" component={UserInfo} />
58
Krishyac6b24832025-06-05 20:13:20 +080059
60 {/* 用户中心嵌套路由模拟 */}
61 <Route path="/user/profile" component={() => (
62 <UserLayout><UserProfile /></UserLayout>
63 )} />
64 <Route path="/user/newbie-tasks" component={() => (
65 <UserLayout><NewbieTasks /></UserLayout>
66 )} />
67 {/* <Route path="/user/dynamics" component={() => (
68 <UserLayout><UserDynamics /></UserLayout>
69 )} /> */}
70 <Route path="/user/friends" component={() => (
71 <UserLayout><UserFriends /></UserLayout>
72 )} />
73 <Route path="/user/collections" component={() => (
74 <UserLayout><UserCollect /></UserLayout>
75 )} />
76 <Route path="/user/invite" component={() => (
77 <UserLayout><UserInvite /></UserLayout>
78 )} />
Krishyab5ef96d2025-06-05 13:57:05 +080079 </>
80 </GroupProvider>
Krishya75e43c02025-04-05 21:16:30 +080081 </UserProvider>
82 );
83}
84
Krishyac6b24832025-06-05 20:13:20 +080085export default App;