import { Route, Switch } from 'wouter';
import AuthPage from './pages/AuthPage/AuthPage';
import HomePage from './pages/HomePage';
import MainPage from './pages/MainPage/MainPage';
import SeedList from './pages/SeedList/SeedList';
import { UserProvider } from './context/UserContext';
import PublishSeed from './pages/PublishSeed/PublishSeed';
import SeedDetail from './pages/SeedList/SeedDetail/SeedDetail'; 
import InterestGroup from './pages/InterestGroup/InterestGroup';

function App() {
  return (
    <UserProvider>
      <Switch>
        <Route path="/" component={HomePage} />
        <Route path="/auth" component={AuthPage} />
        <Route path="/main-page" component={MainPage} />
        <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}/>
      </Switch>
    </UserProvider>
  );
}

export default App;
