blob: 6b65a3a31dcf5c104b29419ed63fc8ec8190f53c [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';
22301009df48f962025-06-05 13:40:44 +080027import SimpleUploader from './pages/PublishSeed/SimpleUploader';
Krishya767f9b92025-06-05 23:59:37 +080028import UserInfo from './pages/UserInfo/UserInfo';
Krishyac6b24832025-06-05 20:13:20 +080029import UserLayout from './pages/UserCenter/UserLayout';
30
Krishya8f2fec82025-06-04 21:54:46 +080031function RedirectToAuth() {
32 if (typeof window !== 'undefined') {
33 window.location.replace('/auth');
34 }
35 return null;
36}
37
Krishya75e43c02025-04-05 21:16:30 +080038function App() {
39 return (
40 <UserProvider>
Krishyac6b24832025-06-05 20:13:20 +080041 <GroupProvider>
Krishyab5ef96d2025-06-05 13:57:05 +080042 <>
43 <Route path="/" component={RedirectToAuth} />
44 <Route path="/auth" component={AuthPage} />
45 <Route path="/friend-moments" component={FriendMoments} />
46 <Route path="/friend-moments/create" component={CreateMoment} />
47 <Route path="/forum" component={ForumPage} />
48 <Route path="/forum/post/:postId" component={PostDetailPage} />
49 <Route path="/forum/create-post" component={CreatePostPage} />
50 <Route path="/seed-list" component={SeedList} />
2230100980aaf0d2025-06-05 23:20:05 +080051 <Route path="/publish-seed" component={PublishSeed} />
52 {/* <Route path="/publish-seed" component={SimpleUploader} /> */}
53 <Route path="/seed/:id" component={SeedDetail} />
Krishyab5ef96d2025-06-05 13:57:05 +080054 <Route path="/interest-groups" component={InterestGroup} />
Krishyab5ef96d2025-06-05 13:57:05 +080055 <Route path="/messages" component={MessagePage} />
56 <Route path="/promotions" component={PromotionsPage} />
57 <Route path="/level" component={LevelPage} />
Krishya767f9b92025-06-05 23:59:37 +080058 <Route path="/information/:userId" component={UserInfo} />
59
Krishyac6b24832025-06-05 20:13:20 +080060
61 {/* 用户中心嵌套路由模拟 */}
62 <Route path="/user/profile" component={() => (
63 <UserLayout><UserProfile /></UserLayout>
64 )} />
65 <Route path="/user/newbie-tasks" component={() => (
66 <UserLayout><NewbieTasks /></UserLayout>
67 )} />
68 {/* <Route path="/user/dynamics" component={() => (
69 <UserLayout><UserDynamics /></UserLayout>
70 )} /> */}
71 <Route path="/user/friends" component={() => (
72 <UserLayout><UserFriends /></UserLayout>
73 )} />
74 <Route path="/user/collections" component={() => (
75 <UserLayout><UserCollect /></UserLayout>
76 )} />
77 <Route path="/user/invite" component={() => (
78 <UserLayout><UserInvite /></UserLayout>
79 )} />
Krishyab5ef96d2025-06-05 13:57:05 +080080 </>
81 </GroupProvider>
Krishya75e43c02025-04-05 21:16:30 +080082 </UserProvider>
83 );
84}
85
Krishyac6b24832025-06-05 20:13:20 +080086export default App;