Krishya | c6b2483 | 2025-06-05 20:13:20 +0800 | [diff] [blame] | 1 | // export default App; |
| 2 | |
Krishya | e71688a | 2025-04-10 21:25:17 +0800 | [diff] [blame] | 3 | import { Route } from 'wouter'; |
Krishya | 8f2fec8 | 2025-06-04 21:54:46 +0800 | [diff] [blame] | 4 | import { Redirect } from 'wouter'; |
Krishya | 1df0589 | 2025-04-05 21:16:30 +0800 | [diff] [blame] | 5 | import AuthPage from './pages/AuthPage/AuthPage'; |
Krishya | 75e43c0 | 2025-04-05 21:16:30 +0800 | [diff] [blame] | 6 | import HomePage from './pages/HomePage'; |
Krishya | e71688a | 2025-04-10 21:25:17 +0800 | [diff] [blame] | 7 | import FriendMoments from './pages/FriendMoments/FriendMoments'; |
Krishya | 7ec1dd0 | 2025-04-19 15:29:03 +0800 | [diff] [blame] | 8 | import ForumPage from './pages/Forum/posts-main/ForumPage'; |
22301009 | ecc1c1c | 2025-04-09 21:56:23 +0800 | [diff] [blame] | 9 | import SeedList from './pages/SeedList/SeedList'; |
Krishya | 7ec1dd0 | 2025-04-19 15:29:03 +0800 | [diff] [blame] | 10 | import PostDetailPage from './pages/Forum/posts-detail/PostDetailPage'; |
Krishya | 75e43c0 | 2025-04-05 21:16:30 +0800 | [diff] [blame] | 11 | import { UserProvider } from './context/UserContext'; |
Krishya | c6b2483 | 2025-06-05 20:13:20 +0800 | [diff] [blame] | 12 | import { GroupProvider } from './context/useGroupStore'; |
22301009 | 5b28c67 | 2025-04-10 20:12:45 +0800 | [diff] [blame] | 13 | import PublishSeed from './pages/PublishSeed/PublishSeed'; |
Krishya | 8f2fec8 | 2025-06-04 21:54:46 +0800 | [diff] [blame] | 14 | import SeedDetail from './pages/SeedList/SeedDetail/SeedDetail'; |
22301009 | 3a876cc | 2025-04-14 16:22:20 +0800 | [diff] [blame] | 15 | import InterestGroup from './pages/InterestGroup/InterestGroup'; |
22301009 | 7ff51f2 | 2025-04-15 21:35:28 +0800 | [diff] [blame] | 16 | import UserProfile from './pages/UserCenter/UserProfile'; |
Krishya | 7ec1dd0 | 2025-04-19 15:29:03 +0800 | [diff] [blame] | 17 | import CreatePostPage from './pages/Forum/posts-create/CreatePostPage'; |
Krishya | f1d0ea8 | 2025-05-03 17:01:58 +0800 | [diff] [blame] | 18 | import MessagePage from './pages/MessagePage/MessagePage'; |
| 19 | import CreateMoment from './pages/FriendMoments/CreateMoment'; |
Krishya | 57cc17b | 2025-05-26 16:43:34 +0800 | [diff] [blame] | 20 | import PromotionsPage from './pages/PromotionsPage/PromotionsPage'; |
Krishya | 2283d88 | 2025-05-27 22:25:19 +0800 | [diff] [blame] | 21 | import LevelPage from './pages/LevelPage/LevelPage'; |
Krishya | 2e0f49a | 2025-05-29 10:59:01 +0800 | [diff] [blame] | 22 | import NewbieTasks from './pages/UserCenter/NewbieTasks'; |
22301009 | 648cb7e | 2025-06-04 08:54:23 +0800 | [diff] [blame] | 23 | // import UserDynamics from './pages/UserCenter/UserDynamics'; |
| 24 | import UserFriends from './pages/UserCenter/UserFriends'; |
22301009 | 6401163 | 2025-06-04 21:57:22 +0800 | [diff] [blame] | 25 | import UserCollect from './pages/UserCenter/UserCollect'; |
Krishya | 7096ab1 | 2025-06-05 17:15:46 +0800 | [diff] [blame] | 26 | import UserInvite from './pages/UserCenter/UserInvite'; |
22301009 | df48f96 | 2025-06-05 13:40:44 +0800 | [diff] [blame] | 27 | import SimpleUploader from './pages/PublishSeed/SimpleUploader'; |
Krishya | 75e43c0 | 2025-04-05 21:16:30 +0800 | [diff] [blame] | 28 | |
Krishya | c6b2483 | 2025-06-05 20:13:20 +0800 | [diff] [blame] | 29 | import UserLayout from './pages/UserCenter/UserLayout'; |
| 30 | |
Krishya | 8f2fec8 | 2025-06-04 21:54:46 +0800 | [diff] [blame] | 31 | function RedirectToAuth() { |
| 32 | if (typeof window !== 'undefined') { |
| 33 | window.location.replace('/auth'); |
| 34 | } |
| 35 | return null; |
| 36 | } |
| 37 | |
Krishya | 75e43c0 | 2025-04-05 21:16:30 +0800 | [diff] [blame] | 38 | function App() { |
| 39 | return ( |
| 40 | <UserProvider> |
Krishya | c6b2483 | 2025-06-05 20:13:20 +0800 | [diff] [blame] | 41 | <GroupProvider> |
Krishya | b5ef96d | 2025-06-05 13:57:05 +0800 | [diff] [blame] | 42 | <> |
| 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} /> |
22301009 | 80aaf0d | 2025-06-05 23:20:05 +0800 | [diff] [blame^] | 51 | <Route path="/publish-seed" component={PublishSeed} /> |
| 52 | {/* <Route path="/publish-seed" component={SimpleUploader} /> */} |
| 53 | <Route path="/seed/:id" component={SeedDetail} /> |
Krishya | b5ef96d | 2025-06-05 13:57:05 +0800 | [diff] [blame] | 54 | <Route path="/interest-groups" component={InterestGroup} /> |
Krishya | b5ef96d | 2025-06-05 13:57:05 +0800 | [diff] [blame] | 55 | <Route path="/messages" component={MessagePage} /> |
| 56 | <Route path="/promotions" component={PromotionsPage} /> |
| 57 | <Route path="/level" component={LevelPage} /> |
Krishya | c6b2483 | 2025-06-05 20:13:20 +0800 | [diff] [blame] | 58 | |
| 59 | {/* 用户中心嵌套路由模拟 */} |
| 60 | <Route path="/user/profile" component={() => ( |
| 61 | <UserLayout><UserProfile /></UserLayout> |
| 62 | )} /> |
| 63 | <Route path="/user/newbie-tasks" component={() => ( |
| 64 | <UserLayout><NewbieTasks /></UserLayout> |
| 65 | )} /> |
| 66 | {/* <Route path="/user/dynamics" component={() => ( |
| 67 | <UserLayout><UserDynamics /></UserLayout> |
| 68 | )} /> */} |
| 69 | <Route path="/user/friends" component={() => ( |
| 70 | <UserLayout><UserFriends /></UserLayout> |
| 71 | )} /> |
| 72 | <Route path="/user/collections" component={() => ( |
| 73 | <UserLayout><UserCollect /></UserLayout> |
| 74 | )} /> |
| 75 | <Route path="/user/invite" component={() => ( |
| 76 | <UserLayout><UserInvite /></UserLayout> |
| 77 | )} /> |
Krishya | b5ef96d | 2025-06-05 13:57:05 +0800 | [diff] [blame] | 78 | </> |
| 79 | </GroupProvider> |
Krishya | 75e43c0 | 2025-04-05 21:16:30 +0800 | [diff] [blame] | 80 | </UserProvider> |
| 81 | ); |
| 82 | } |
| 83 | |
Krishya | c6b2483 | 2025-06-05 20:13:20 +0800 | [diff] [blame] | 84 | export default App; |