blob: 67df7159aff2a701cfb2e71717363bd196bb22f8 [file] [log] [blame]
Krishyae71688a2025-04-10 21:25:17 +08001import { Route } from 'wouter';
Krishya8f2fec82025-06-04 21:54:46 +08002import { Redirect } from 'wouter';
Krishya1df05892025-04-05 21:16:30 +08003import AuthPage from './pages/AuthPage/AuthPage';
Krishya75e43c02025-04-05 21:16:30 +08004import HomePage from './pages/HomePage';
Krishyae71688a2025-04-10 21:25:17 +08005import FriendMoments from './pages/FriendMoments/FriendMoments';
Krishya7ec1dd02025-04-19 15:29:03 +08006import ForumPage from './pages/Forum/posts-main/ForumPage';
22301009ecc1c1c2025-04-09 21:56:23 +08007import SeedList from './pages/SeedList/SeedList';
Krishya7ec1dd02025-04-19 15:29:03 +08008import PostDetailPage from './pages/Forum/posts-detail/PostDetailPage';
Krishya75e43c02025-04-05 21:16:30 +08009import { UserProvider } from './context/UserContext';
Krishyab5ef96d2025-06-05 13:57:05 +080010import { GroupProvider } from './context/useGroupStore'; // 导入 GroupProvider
223010095b28c672025-04-10 20:12:45 +080011import PublishSeed from './pages/PublishSeed/PublishSeed';
Krishya8f2fec82025-06-04 21:54:46 +080012import SeedDetail from './pages/SeedList/SeedDetail/SeedDetail';
223010093a876cc2025-04-14 16:22:20 +080013import InterestGroup from './pages/InterestGroup/InterestGroup';
223010097ff51f22025-04-15 21:35:28 +080014import UserProfile from './pages/UserCenter/UserProfile';
Krishya7ec1dd02025-04-19 15:29:03 +080015import CreatePostPage from './pages/Forum/posts-create/CreatePostPage';
Krishyaf1d0ea82025-05-03 17:01:58 +080016import MessagePage from './pages/MessagePage/MessagePage';
17import CreateMoment from './pages/FriendMoments/CreateMoment';
Krishya57cc17b2025-05-26 16:43:34 +080018import PromotionsPage from './pages/PromotionsPage/PromotionsPage';
Krishya2283d882025-05-27 22:25:19 +080019import LevelPage from './pages/LevelPage/LevelPage';
Krishya2e0f49a2025-05-29 10:59:01 +080020import NewbieTasks from './pages/UserCenter/NewbieTasks';
22301009648cb7e2025-06-04 08:54:23 +080021// import UserDynamics from './pages/UserCenter/UserDynamics';
22import UserFriends from './pages/UserCenter/UserFriends';
2230100964011632025-06-04 21:57:22 +080023import UserCollect from './pages/UserCenter/UserCollect';
22301009df48f962025-06-05 13:40:44 +080024import SimpleUploader from './pages/PublishSeed/SimpleUploader';
Krishya75e43c02025-04-05 21:16:30 +080025
Krishya8f2fec82025-06-04 21:54:46 +080026function RedirectToAuth() {
27 if (typeof window !== 'undefined') {
28 window.location.replace('/auth');
29 }
30 return null;
31}
32
Krishya75e43c02025-04-05 21:16:30 +080033function App() {
34 return (
35 <UserProvider>
Krishyab5ef96d2025-06-05 13:57:05 +080036 <GroupProvider> {/* 添加 GroupProvider */}
37 <>
38 <Route path="/" component={RedirectToAuth} />
39 <Route path="/auth" component={AuthPage} />
40 <Route path="/friend-moments" component={FriendMoments} />
41 <Route path="/friend-moments/create" component={CreateMoment} />
42 <Route path="/forum" component={ForumPage} />
43 <Route path="/forum/post/:postId" component={PostDetailPage} />
44 <Route path="/forum/create-post" component={CreatePostPage} />
45 <Route path="/seed-list" component={SeedList} />
46 {/* <Route path="/publish-seed" component={PublishSeed} /> */}
47 <Route path="/publish-seed" component={SimpleUploader} />
48 <Route path="/seed/:seed_id" component={SeedDetail} />
49 <Route path="/interest-groups" component={InterestGroup} />
50 <Route path="/user/profile" component={UserProfile} />
51 <Route path="/messages" component={MessagePage} />
52 <Route path="/promotions" component={PromotionsPage} />
53 <Route path="/level" component={LevelPage} />
54 <Route path="/user/newbie-tasks" component={NewbieTasks} />
55 <Route path="/user/friends" component={UserFriends} />
56 <Route path="/user/collections" component={UserCollect} />
57 </>
58 </GroupProvider>
Krishya75e43c02025-04-05 21:16:30 +080059 </UserProvider>
60 );
61}
62
Krishyab5ef96d2025-06-05 13:57:05 +080063export default App;