diff --git a/src/App.js b/src/App.js
index 1209f65..67df715 100644
--- a/src/App.js
+++ b/src/App.js
@@ -7,6 +7,7 @@
 import SeedList from './pages/SeedList/SeedList';
 import PostDetailPage from './pages/Forum/posts-detail/PostDetailPage';
 import { UserProvider } from './context/UserContext';
+import { GroupProvider } from './context/useGroupStore'; // 导入 GroupProvider
 import PublishSeed from './pages/PublishSeed/PublishSeed';
 import SeedDetail from './pages/SeedList/SeedDetail/SeedDetail';
 import InterestGroup from './pages/InterestGroup/InterestGroup';
@@ -32,30 +33,31 @@
 function App() {
   return (
     <UserProvider>
-      <>
-        <Route path="/" component={RedirectToAuth} />
-        <Route path="/auth" component={AuthPage} />
-        <Route path="/friend-moments" component={FriendMoments} />
-        <Route path="/friend-moments/create" component={CreateMoment} />
-        <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="/publish-seed" component={SimpleUploader} />
-        <Route path="/seed/:seed_id" component={SeedDetail} />
-        <Route path="/interest-groups" component={InterestGroup} />
-        <Route path="/user/profile" component={UserProfile} />
-        <Route path="/messages" component={MessagePage} />
-        <Route path="/promotions" component={PromotionsPage} />
-        <Route path="/level" component={LevelPage} />
-        <Route path="/user/newbie-tasks" component={NewbieTasks} />
-        {/* <Route path="/user/dynamics" component={UserDynamics} /> */}
-        <Route path="/user/friends" component={UserFriends} />
-        <Route path="/user/collections" component={UserCollect} />
-      </>
+      <GroupProvider> {/* 添加 GroupProvider */}
+        <>
+          <Route path="/" component={RedirectToAuth} />
+          <Route path="/auth" component={AuthPage} />
+          <Route path="/friend-moments" component={FriendMoments} />
+          <Route path="/friend-moments/create" component={CreateMoment} />
+          <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="/publish-seed" component={SimpleUploader} />
+          <Route path="/seed/:seed_id" component={SeedDetail} />
+          <Route path="/interest-groups" component={InterestGroup} />
+          <Route path="/user/profile" component={UserProfile} />
+          <Route path="/messages" component={MessagePage} />
+          <Route path="/promotions" component={PromotionsPage} />
+          <Route path="/level" component={LevelPage} />
+          <Route path="/user/newbie-tasks" component={NewbieTasks} />
+          <Route path="/user/friends" component={UserFriends} />
+          <Route path="/user/collections" component={UserCollect} />
+        </>
+      </GroupProvider>
     </UserProvider>
   );
 }
 
-export default App;
+export default App;
\ No newline at end of file
