import { Route } from 'wouter';
import AuthPage from './pages/AuthPage/AuthPage';
import HomePage from './pages/HomePage';
import FriendMoments from './pages/FriendMoments/FriendMoments';
import ForumPage from './pages/Forum/posts-main/ForumPage';
import SeedList from './pages/SeedList/SeedList';
import PostDetailPage from './pages/Forum/posts-detail/PostDetailPage';
import { UserProvider } from './context/UserContext';
import PublishSeed from './pages/PublishSeed/PublishSeed';
import SeedDetail from './pages/SeedList/SeedDetail/SeedDetail'; 
import InterestGroup from './pages/InterestGroup/InterestGroup';
import UserProfile from './pages/UserCenter/UserProfile';
import CreatePostPage from './pages/Forum/posts-create/CreatePostPage';


function App() {
  return (
    <UserProvider>
      <>
        <Route path="/" component={HomePage} />
        <Route path="/auth" component={AuthPage} />
        <Route path="/friend-moments" component={FriendMoments} />
        <Route path="/forum" component={ForumPage} />
        <Route path="/forum/post/:postId" component={PostDetailPage} />
        <Route path="/forum/create-post" component={CreatePostPage} />
        <Route path="/seed-list" component={SeedList} />
        <Route path="/publish-seed" component={PublishSeed} />
        <Route path="/seed/:seed_id" component={SeedDetail} /> {/* 新增路由 */}
        <Route path="/interest-groups" component={InterestGroup}/>
        <Route path="/user/profile" component={UserProfile}/>
      </>
    </UserProvider>
  );
}

export default App;
