Mao před 4 roky
rodič
revize
44426a031f

+ 11 - 0
packages/app/src/client/services/PageContainer.js

@@ -309,6 +309,17 @@ export default class PageContainer extends Container {
   //   await this.retrieveLikersAndSeenUsers();
   //   await this.retrieveLikersAndSeenUsers();
   // }
   // }
 
 
+  async setStateAfterLike() {
+    const toggledIsLiked = this.state.isLiked;
+    await this.setState(state => ({
+      isLiked: !toggledIsLiked,
+      sumOfLikers: toggledIsLiked ? state.sumOfLikers - 1 : state.sumOfLikers + 1,
+      likerIds: toggledIsLiked
+        ? state.likerIds.filter(id => id !== this.appContainer.currentUserId)
+        : [...this.state.likerIds, this.appContainer.currentUserId],
+    }));
+  }
+
   async retrieveLikersAndSeenUsers() {
   async retrieveLikersAndSeenUsers() {
     const { users } = await this.appContainer.apiGet('/users.list', { user_ids: [...this.state.likerIds, ...this.state.seenUserIds].join(',') });
     const { users } = await this.appContainer.apiGet('/users.list', { user_ids: [...this.state.likerIds, ...this.state.seenUserIds].join(',') });
 
 

+ 1 - 0
packages/app/src/components/Navbar/SubNavButtons.jsx

@@ -32,6 +32,7 @@ const SubnavButtons = (props) => {
         logger.error('retrieveBookmarkInfo is null');
         logger.error('retrieveBookmarkInfo is null');
       }
       }
       else {
       else {
+        pageContainer.setStateAfterLike();
         pageContainer.retrieveLikersAndSeenUsers();
         pageContainer.retrieveLikersAndSeenUsers();
       }
       }
     };
     };