blob: 049918876d56f251d8e404f1f618d03a04650276 [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';
223010095b28c672025-04-10 20:12:45 +080010import PublishSeed from './pages/PublishSeed/PublishSeed';
Krishya8f2fec82025-06-04 21:54:46 +080011import SeedDetail from './pages/SeedList/SeedDetail/SeedDetail';
223010093a876cc2025-04-14 16:22:20 +080012import InterestGroup from './pages/InterestGroup/InterestGroup';
223010097ff51f22025-04-15 21:35:28 +080013import UserProfile from './pages/UserCenter/UserProfile';
Krishya7ec1dd02025-04-19 15:29:03 +080014import CreatePostPage from './pages/Forum/posts-create/CreatePostPage';
Krishyaf1d0ea82025-05-03 17:01:58 +080015import MessagePage from './pages/MessagePage/MessagePage';
16import CreateMoment from './pages/FriendMoments/CreateMoment';
Krishya57cc17b2025-05-26 16:43:34 +080017import PromotionsPage from './pages/PromotionsPage/PromotionsPage';
Krishya2283d882025-05-27 22:25:19 +080018import LevelPage from './pages/LevelPage/LevelPage';
Krishya2e0f49a2025-05-29 10:59:01 +080019import NewbieTasks from './pages/UserCenter/NewbieTasks';
Krishya75e43c02025-04-05 21:16:30 +080020
Krishya8f2fec82025-06-04 21:54:46 +080021function RedirectToAuth() {
22 if (typeof window !== 'undefined') {
23 window.location.replace('/auth');
24 }
25 return null;
26}
27
Krishya75e43c02025-04-05 21:16:30 +080028function App() {
29 return (
30 <UserProvider>
Krishyae71688a2025-04-10 21:25:17 +080031 <>
Krishya8f2fec82025-06-04 21:54:46 +080032 <Route path="/" component={RedirectToAuth} />
Krishya1df05892025-04-05 21:16:30 +080033 <Route path="/auth" component={AuthPage} />
Krishyae71688a2025-04-10 21:25:17 +080034 <Route path="/friend-moments" component={FriendMoments} />
Krishyaf1d0ea82025-05-03 17:01:58 +080035 <Route path="/friend-moments/create" component={CreateMoment} />
Krishyae71688a2025-04-10 21:25:17 +080036 <Route path="/forum" component={ForumPage} />
37 <Route path="/forum/post/:postId" component={PostDetailPage} />
22301009237217b2025-04-20 15:15:25 +080038 <Route path="/forum/create-post" component={CreatePostPage} />
22301009ecc1c1c2025-04-09 21:56:23 +080039 <Route path="/seed-list" component={SeedList} />
223010095b28c672025-04-10 20:12:45 +080040 <Route path="/publish-seed" component={PublishSeed} />
Krishya8f2fec82025-06-04 21:54:46 +080041 <Route path="/seed/:seed_id" component={SeedDetail} />
42 <Route path="/interest-groups" component={InterestGroup} />
43 <Route path="/user/profile" component={UserProfile} />
44 <Route path="/messages" component={MessagePage} />
45 <Route path="/promotions" component={PromotionsPage} />
46 <Route path="/level" component={LevelPage} />
Krishya2e0f49a2025-05-29 10:59:01 +080047 <Route path="/user/newbie-tasks" component={NewbieTasks} />
Krishyae71688a2025-04-10 21:25:17 +080048 </>
Krishya75e43c02025-04-05 21:16:30 +080049 </UserProvider>
50 );
51}
52
Krishya1df05892025-04-05 21:16:30 +080053export default App;