onPostAction method

void onPostAction(
  1. PostAction action
)

{@template onAddPost}

Implementation

void onPostAction(PostAction action) {
  action.maybeMap(
    orElse: () {
      if (kDebugMode) {
        print(describeEnum(action));
      }
    },
    onLike: (data) async {
      final response =
          await client.toggleLikePost(data.post.id!, !data.post.isLikedByMe);
      response.fold(
        (failure) => null,
        (post) {
          final _postFeed = getPostFeed(sectionId) ?? [];

          final index =
              _postFeed.indexWhere((element) => element.id == post.id);
          _postFeed[index] = post;
          controller.update(post.tabId!, _postFeed);

          log("Post ${post.isLikedByMe}", name: "SectionBloc");
        },
      );
    },
    onDelete: (data) async {
      // final response = await client.deletePost(data);
      // return response.fold(
      //   (failure) => null,
      //   (post) {
      //     final _PostFeed = getPostFeed(post.feedGroup) ?? [];

      //     // ignore: cascade_invocations
      //     _PostFeed.insert(0, post);

      //     add(post.feedGroup, _PostFeed);
      //     return post;
      //   },
      // );
    },
  );
}