diff --git a/lib/Common/api_urls.dart b/lib/Common/api_urls.dart index ef4dc31..7811efc 100644 --- a/lib/Common/api_urls.dart +++ b/lib/Common/api_urls.dart @@ -120,12 +120,9 @@ class ApiUrls { static const postnewtags = "${baseUrl}store-tags"; static const postupload = "${baseUrl}store-post"; + static const postlike = "${baseUrl}fetch-like-list"; static const getuserpinlist = "${baseUrl}fetch-pinned-detail"; static const postusertag = "${baseUrl}pin-unpin"; - - - - } diff --git a/lib/Main_Screens/Community_HomePage/Community.dart b/lib/Main_Screens/Community_HomePage/Community.dart index 8eeb91b..4e8ef80 100644 --- a/lib/Main_Screens/Community_HomePage/Community.dart +++ b/lib/Main_Screens/Community_HomePage/Community.dart @@ -3,7 +3,6 @@ import 'package:flutter/material.dart'; import 'package:flutter_reaction_button/flutter_reaction_button.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; -import 'package:flutter_svg/flutter_svg.dart'; import 'package:get/get.dart'; import 'package:regroup/Common/CommonBottomNavigationBar.dart'; import 'package:regroup/Common/CommonGlassmorphism.dart'; @@ -86,8 +85,7 @@ class _CommunityScreenState extends State { sizedBoxWidth(16.w), ], ), - body: - Stack(clipBehavior: Clip.none, children: [ + body: Stack(clipBehavior: Clip.none, children: [ Container( decoration: const BoxDecoration( image: DecorationImage( @@ -134,10 +132,10 @@ class _CommunityScreenState extends State { floatingActionButton: Container( height: 40.h, width: 164.w, - decoration: BoxDecoration( + decoration: BoxDecoration( // shape: BoxShape.rectangle, borderRadius: BorderRadius.circular(30.r), - boxShadow: [ + boxShadow: const [ BoxShadow( color: Color(0x40000000), offset: Offset(0, 6), @@ -152,9 +150,9 @@ class _CommunityScreenState extends State { backgroundColor: const Color(0xFFD90B2E), autofocus: true, // shape: const OvalBorder(), - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(30.r), - ), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(30.r), + ), child: Row( mainAxisAlignment: MainAxisAlignment.center, children: [ @@ -301,6 +299,7 @@ class _FeedTabState extends State { .community! .communityName .toString(), + RecationId: combinedList[index].id.toString(), ), sizedBoxHeight(20.h) ], @@ -331,6 +330,7 @@ Widget normalcardtile2({ required String total_likes, required String total_save, required String? create_at, + required String? RecationId, }) { var mainImage = 'assets/images/png/uiw_like-o.png'.obs; void updateImage(String reaction) { @@ -537,7 +537,9 @@ Widget normalcardtile2({ Row(children: [ InkWell( onTap: () { - Get.toNamed(RouteName.reactionview); + Get.toNamed(RouteName.reactionview, arguments: { + 'reactionId': RecationId, + }); }, child: stackReaction(number: total_likes, containerImages: [ 'assets/images/png/f7_hand-thumbsup.png', @@ -1187,17 +1189,17 @@ Widget popularTab() { return Column( children: [ normalcardtile2( - profileImg: popularTabData[index]["profileImg"], - title: popularTabData[index]["title"], - mainImg: popularTabData[index]["mainImg"], - containerTitle: popularTabData[index]["containerTitle"], - description: 'test', - create_at: '1 hour', - total_comments: '20', - total_likes: '20', - total_save: '10', - community_name: 'text', - ), + profileImg: popularTabData[index]["profileImg"], + title: popularTabData[index]["title"], + mainImg: popularTabData[index]["mainImg"], + containerTitle: popularTabData[index]["containerTitle"], + description: 'test', + create_at: '1 hour', + total_comments: '20', + total_likes: '20', + total_save: '10', + community_name: 'text', + RecationId: ''), sizedBoxHeight(20.h) ], ); @@ -1324,6 +1326,8 @@ class _LatestTabState extends State { community_name: latestpostobj! .data[index].community!.communityName .toString(), + RecationId: + latestpostobj!.data[index].id.toString(), ), sizedBoxHeight(20.h) ], diff --git a/lib/Main_Screens/Community_HomePage/PostDetailScreen/Model/LikePostModel.dart b/lib/Main_Screens/Community_HomePage/PostDetailScreen/Model/LikePostModel.dart new file mode 100644 index 0000000..1298f5c --- /dev/null +++ b/lib/Main_Screens/Community_HomePage/PostDetailScreen/Model/LikePostModel.dart @@ -0,0 +1,97 @@ +class LikepostModel { + LikepostModel({ + required this.status, + required this.statusCode, + required this.message, + required this.data, + }); + + final String? status; + final int? statusCode; + final String? message; + final List data; + + factory LikepostModel.fromJson(Map json) { + return LikepostModel( + status: json["status"], + statusCode: json["status_code"], + message: json["message"], + data: json["data"] == null + ? [] + : List.from(json["data"]!.map((x) => Datum.fromJson(x))), + ); + } +} + +class Datum { + Datum({ + required this.id, + required this.managePostsXid, + required this.iamPrincipalXid, + required this.likeIconsXid, + required this.iamPrincipal, + required this.likeIcon, + }); + + final int? id; + final int? managePostsXid; + final int? iamPrincipalXid; + final int? likeIconsXid; + final IamPrincipal? iamPrincipal; + final LikeIcon? likeIcon; + + factory Datum.fromJson(Map json) { + return Datum( + id: json["id"], + managePostsXid: json["manage_posts_xid"], + iamPrincipalXid: json["iam_principal_xid"], + likeIconsXid: json["like_icons_xid"], + iamPrincipal: json["iam_principal"] == null + ? null + : IamPrincipal.fromJson(json["iam_principal"]), + likeIcon: json["like_icon"] == null + ? null + : LikeIcon.fromJson(json["like_icon"]), + ); + } +} + +class IamPrincipal { + IamPrincipal({ + required this.id, + required this.userName, + required this.fullName, + required this.profilePhoto, + }); + + final int? id; + final String? userName; + final String? fullName; + final String? profilePhoto; + + factory IamPrincipal.fromJson(Map json) { + return IamPrincipal( + id: json["id"], + userName: json["user_name"], + fullName: json["full_name"], + profilePhoto: json["profile_photo"], + ); + } +} + +class LikeIcon { + LikeIcon({ + required this.id, + required this.image, + }); + + final int? id; + final String? image; + + factory LikeIcon.fromJson(Map json) { + return LikeIcon( + id: json["id"], + image: json["image"], + ); + } +} diff --git a/lib/Main_Screens/Community_HomePage/PostDetailScreen/View/ReactionView.dart b/lib/Main_Screens/Community_HomePage/PostDetailScreen/View/ReactionView.dart index a0e03ac..b8c5ecb 100644 --- a/lib/Main_Screens/Community_HomePage/PostDetailScreen/View/ReactionView.dart +++ b/lib/Main_Screens/Community_HomePage/PostDetailScreen/View/ReactionView.dart @@ -1,12 +1,16 @@ import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:get/get.dart'; import 'package:regroup/Common/CommonGlassmorphism.dart'; import 'package:regroup/Common/CommonTabBar.dart'; import 'package:regroup/Common/CommonWidget.dart'; +import 'package:regroup/Main_Screens/Community_HomePage/PostDetailScreen/ViewModel/LikePost.dart'; import 'package:regroup/Utils/Common/CommonAppbar.dart'; import 'package:regroup/Utils/Common/sized_box.dart'; import 'package:regroup/Utils/texts.dart'; +var recationid = Get.arguments['reactionId']; + class ReactionView extends StatefulWidget { const ReactionView({super.key}); @@ -15,301 +19,461 @@ class ReactionView extends StatefulWidget { } class _ReactionViewState extends State { - List allTabData = [ - { - "imagePath": "assets/images/png/cimg1.png", - "reactionimg": "assets/images/png/f7_hand-thumbsup.png", - "title": "Edward Hackket" - }, - { - "imagePath": "assets/images/png/cimg2.png", - "reactionimg": "assets/images/png/heart 2.png", - "title": "Dulce Vaccaro" - }, - { - "imagePath": "assets/images/png/cimg3.png", - "reactionimg": "assets/images/png/party-popper 2.png", - "title": "Edward Hackket" - }, - { - "imagePath": "assets/images/png/cimg4.png", - "reactionimg": "assets/images/png/f7_hand-thumbsup.png", - "title": "Dulce Vaccaro" - }, - { - "imagePath": "assets/images/png/Rectangle 65.png", - "reactionimg": "assets/images/png/heart 2.png", - "title": "Edward Hackket" - }, - { - "imagePath": "assets/images/png/Ellipse 43.png", - "reactionimg": "assets/images/png/party-popper 2.png", - "title": "Dulce Vaccaro" - }, - { - "imagePath": "assets/images/png/cimg4.png", - "reactionimg": "assets/images/png/f7_hand-thumbsup.png", - "title": "Dulce Vaccaro" - }, - { - "imagePath": "assets/images/png/cimg3.png", - "reactionimg": "assets/images/png/party-popper 2.png", - "title": "Edward Hackket" - }, - { - "imagePath": "assets/images/png/cimg4.png", - "reactionimg": "assets/images/png/f7_hand-thumbsup.png", - "title": "Dulce Vaccaro" - }, - ]; - @override Widget build(BuildContext context) { return Scaffold( - backgroundColor: const Color(0xFF222935), - extendBody: true, - appBar: const CommonAppbar( - titleTxt: "Post", - ), - resizeToAvoidBottomInset: false, - body: Stack(children: [ - Container( + backgroundColor: const Color(0xFF222935), + extendBody: true, + appBar: const CommonAppbar( + titleTxt: "Post", + ), + resizeToAvoidBottomInset: false, + body: Stack( + children: [ + Container( decoration: const BoxDecoration( image: DecorationImage( image: AssetImage("assets/images/png/Ellipse 1496.png"), fit: BoxFit.fill)), - ), Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - sizedBoxHeight(10.h), - Expanded( - child: DefaultTabController( - length: 4, - // initialIndex: selectedIndex.value, - child: Column(children: [ - CommonTabBar(tabs: [ - const Tab( - text: 'All', - ), - Tab( - child: Row(children: [ - commonGlassUI( - borderColor: const Color(0xFF1E3A46), - opacity1: 0.05, - opacity2: 0.06, - width: 30.w, - height: 30.h, - borderRadius: BorderRadius.circular( 100), - customWidget: Center( - child: Image.asset( - "assets/images/png/f7_hand-thumbsup.png", - height: 17.h, - width: 17.w, - ), - ), - borderwidth: 1.71), - const Spacer(), - text14400white("110K"), - ]), - ), - Tab( - child: Row(children: [ - commonGlassUI( - borderColor: const Color(0xFF1E3A46), - opacity1: 0.05, - opacity2: 0.06, - width: 30.w, - height: 30.h, - borderRadius: BorderRadius.circular( 100), - customWidget: Center( - child: Image.asset( - "assets/images/png/heart 2.png", - height: 17.h, - width: 17.w, - ), - ), - borderwidth: 1.71), - const Spacer(), - text14400white("9.7K"), - ]), - ), - Tab( - child: Row(children: [ - commonGlassUI( - borderColor: const Color(0xFF1E3A46), - opacity1: 0.05, - opacity2: 0.06, - width: 30.w, - height: 30.h, - borderRadius: BorderRadius.circular( 100), - customWidget: Center( - child: Image.asset( - "assets/images/png/party-popper 2.png", - height: 17.h, - width: 17.w, - ), - ), - borderwidth: 1.71), - const Spacer(), - text14400white("7.4K"), - ]), - ), - ]), - Expanded( - child: TabBarView( - children: [ - allTab(), - likeTab(), - favouriteTab(), - partyTab(), - ], - ), + ), + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + sizedBoxHeight(10.h), + Expanded( + child: DefaultTabController( + length: 4, + // initialIndex: selectedIndex.value, + child: Column( + children: [ + CommonTabBar(tabs: [ + const Tab( + text: 'All', ), - sizedBoxHeight(20.h) - ])), - ) - ]) - ])); - } - - Widget allTab() { - return Column( - children: [ - sizedBoxHeight(20.h), - Expanded( - child: ListView.builder( - itemCount: allTabData.length, - shrinkWrap: true, - itemBuilder: (context, index) { - return Column( - children: [ - commonReaction( - imagePath: allTabData[index]["imagePath"], - reactionimg: allTabData[index]["reactionimg"], - title: allTabData[index]["title"]), - if (allTabData.length - 1 != index) commonDivider(), - ], - ); - }, - ), - ) - ], - ); - } - - Widget likeTab() { - return Column( - children: [ - sizedBoxHeight(20.h), - Expanded( - child: ListView.builder( - itemCount: allTabData.length, - shrinkWrap: true, - itemBuilder: (context, index) { - return Column( - children: [ - commonReaction( - imagePath: allTabData[index]["imagePath"], - reactionimg: allTabData[index]["reactionimg"], - title: allTabData[index]["title"]), - if (allTabData.length - 1 != index) commonDivider(), - ], - ); - }, - ), - ) - ], - ); - } - - Widget favouriteTab() { - return Column( - children: [ - sizedBoxHeight(20.h), - Expanded( - child: ListView.builder( - itemCount: allTabData.length, - shrinkWrap: true, - itemBuilder: (context, index) { - return Column( - children: [ - commonReaction( - imagePath: allTabData[index]["imagePath"], - reactionimg: allTabData[index]["reactionimg"], - title: allTabData[index]["title"]), - if (allTabData.length - 1 != index) commonDivider(), - ], - ); - }, - ), - ) - ], - ); - } - - Widget partyTab() { - return Column( - children: [ - sizedBoxHeight(20.h), - Expanded( - child: ListView.builder( - itemCount: allTabData.length, - shrinkWrap: true, - itemBuilder: (context, index) { - return Column( - children: [ - commonReaction( - imagePath: allTabData[index]["imagePath"], - reactionimg: allTabData[index]["reactionimg"], - title: allTabData[index]["title"]), - if (allTabData.length - 1 != index) commonDivider(), - ], - ); - }, - ), - ) - ], - ); - } - - Widget commonReaction( - {required String imagePath, - required String reactionimg, - required String title}) { - return Padding( - padding: EdgeInsets.symmetric(horizontal: 25.w, vertical: 18.h), - child: Row( - children: [ - Stack(children: [ - CircleAvatar( - radius: 25.r, - backgroundImage: AssetImage(imagePath), - ), - Positioned( - bottom: 0, - right: 0, - child: Container( - height: 22.h, - width: 22.w, - decoration: BoxDecoration( - shape: BoxShape.circle, - color: const Color(0xFF1E3A46), - border: Border.all( - color: const Color(0xFFFCFCFC).withOpacity(0.18), - width: 0.6)), - child: Center( - child: Image.asset( - reactionimg, - height: 12.h, - width: 12.w, - ), + Tab( + child: Row(children: [ + commonGlassUI( + borderColor: const Color(0xFF1E3A46), + opacity1: 0.05, + opacity2: 0.06, + width: 30.w, + height: 30.h, + borderRadius: BorderRadius.circular(100), + customWidget: Center( + child: Image.asset( + "assets/images/png/f7_hand-thumbsup.png", + height: 17.h, + width: 17.w, + ), + ), + borderwidth: 1.71), + const Spacer(), + text14400white("110K"), + ]), + ), + Tab( + child: Row(children: [ + commonGlassUI( + borderColor: const Color(0xFF1E3A46), + opacity1: 0.05, + opacity2: 0.06, + width: 30.w, + height: 30.h, + borderRadius: BorderRadius.circular(100), + customWidget: Center( + child: Image.asset( + "assets/images/png/heart 2.png", + height: 17.h, + width: 17.w, + ), + ), + borderwidth: 1.71), + const Spacer(), + text14400white("9.7K"), + ]), + ), + Tab( + child: Row(children: [ + commonGlassUI( + borderColor: const Color(0xFF1E3A46), + opacity1: 0.05, + opacity2: 0.06, + width: 30.w, + height: 30.h, + borderRadius: BorderRadius.circular(100), + customWidget: Center( + child: Image.asset( + "assets/images/png/party-popper 2.png", + height: 17.h, + width: 17.w, + ), + ), + borderwidth: 1.71), + const Spacer(), + text14400white("7.4K"), + ]), + ), + ]), + const Expanded( + child: TabBarView( + children: [ + AllTabs(), + LikeTabs(), + FavouriteTabs(), + PartyTabs(), + ], + ), + ), + sizedBoxHeight(20.h) + ], ), - )), - ]), - sizedBoxWidth(10.w), - text17400white(title), + ), + ), + ], + ), ], ), ); } } + +class AllTabs extends StatefulWidget { + const AllTabs({super.key}); + + @override + State createState() => _AllTabsState(); +} + +class _AllTabsState extends State { + late Future alltabfuture; + + @override + void initState() { + alltabfuture = LikePostApi().postLike({'manage_posts_xid': recationid}); + super.initState(); + } + + @override + Widget build(BuildContext context) { + return FutureBuilder( + future: alltabfuture, + builder: (ctx, snapshot) { + if (snapshot.connectionState == ConnectionState.waiting) { + return const Center( + child: CircularProgressIndicator( + color: Colors.blue, + ), + ); + } + + if (snapshot.hasError) { + return Center( + child: Text( + '${snapshot.error} occurred', + style: TextStyle(fontSize: 18.spMin), + ), + ); + } + + if (snapshot.connectionState == ConnectionState.done && + snapshot.hasData) { + return Column( + children: [ + sizedBoxHeight(20.h), + Expanded( + child: ListView.builder( + itemCount: likepostobj!.data.length, + shrinkWrap: true, + itemBuilder: (context, index) { + return Column( + children: [ + commonReaction( + imagePath: likepostobj! + .data[index].iamPrincipal!.profilePhoto ?? + '', + reactionimg: + likepostobj!.data[index].likeIcon!.image ?? + '', + title: likepostobj! + .data[index].iamPrincipal!.fullName ?? + ''), + if (likepostobj!.data.length - 1 != index) + commonDivider(), + ], + ); + }, + ), + ) + ], + ); + } + return Container(); + }); + } +} + +class LikeTabs extends StatefulWidget { + const LikeTabs({super.key}); + + @override + State createState() => _LikeTabsState(); +} + +class _LikeTabsState extends State { + late Future liketabfuture; + + @override + void initState() { + liketabfuture = LikePostApi() + .postLike({'manage_posts_xid': recationid, 'like_icons_xid': 1}); + super.initState(); + } + + @override + Widget build(BuildContext context) { + return FutureBuilder( + future: liketabfuture, + builder: (ctx, snapshot) { + if (snapshot.connectionState == ConnectionState.waiting) { + return const Center( + child: CircularProgressIndicator( + color: Colors.blue, + ), + ); + } + + if (snapshot.hasError) { + return Center( + child: Text( + '${snapshot.error} occurred', + style: TextStyle(fontSize: 18.spMin), + ), + ); + } + + if (snapshot.connectionState == ConnectionState.done && + snapshot.hasData) { + return Column( + children: [ + sizedBoxHeight(20.h), + Expanded( + child: ListView.builder( + itemCount: likepostobj!.data.length, + shrinkWrap: true, + itemBuilder: (context, index) { + return Column( + children: [ + commonReaction( + imagePath: likepostobj! + .data[index].iamPrincipal!.profilePhoto ?? + '', + reactionimg: + likepostobj!.data[index].likeIcon!.image ?? + '', + title: likepostobj! + .data[index].iamPrincipal!.fullName ?? + ''), + if (likepostobj!.data.length - 1 != index) + commonDivider(), + ], + ); + }, + ), + ) + ], + ); + } + return Container(); + }); + } +} + +class FavouriteTabs extends StatefulWidget { + const FavouriteTabs({super.key}); + + @override + State createState() => _FavouriteTabsState(); +} + +class _FavouriteTabsState extends State { + late Future favouritetabfuture; + + @override + void initState() { + favouritetabfuture = LikePostApi() + .postLike({'manage_posts_xid': recationid, 'like_icons_xid': 2}); + super.initState(); + } + + @override + Widget build(BuildContext context) { + return FutureBuilder( + future: favouritetabfuture, + builder: (ctx, snapshot) { + if (snapshot.connectionState == ConnectionState.waiting) { + return const Center( + child: CircularProgressIndicator( + color: Colors.blue, + ), + ); + } + + if (snapshot.hasError) { + return Center( + child: Text( + '${snapshot.error} occurred', + style: TextStyle(fontSize: 18.spMin), + ), + ); + } + + if (snapshot.connectionState == ConnectionState.done && + snapshot.hasData) { + return Column( + children: [ + sizedBoxHeight(20.h), + Expanded( + child: ListView.builder( + itemCount: likepostobj!.data.length, + shrinkWrap: true, + itemBuilder: (context, index) { + return Column( + children: [ + commonReaction( + imagePath: likepostobj! + .data[index].iamPrincipal!.profilePhoto ?? + '', + reactionimg: + likepostobj!.data[index].likeIcon!.image ?? + '', + title: likepostobj! + .data[index].iamPrincipal!.fullName ?? + ''), + if (likepostobj!.data.length - 1 != index) + commonDivider(), + ], + ); + }, + ), + ) + ], + ); + } + return Container(); + }); + } +} + +class PartyTabs extends StatefulWidget { + const PartyTabs({super.key}); + + @override + State createState() => _PartyTabsState(); +} + +class _PartyTabsState extends State { + late Future partytabfuture; + + @override + void initState() { + partytabfuture = LikePostApi() + .postLike({'manage_posts_xid': recationid, 'like_icons_xid': 3}); + super.initState(); + } + + @override + Widget build(BuildContext context) { + return FutureBuilder( + future: partytabfuture, + builder: (ctx, snapshot) { + if (snapshot.connectionState == ConnectionState.waiting) { + return const Center( + child: CircularProgressIndicator( + color: Colors.blue, + ), + ); + } + + if (snapshot.hasError) { + return Center( + child: Text( + '${snapshot.error} occurred', + style: TextStyle(fontSize: 18.spMin), + ), + ); + } + + if (snapshot.connectionState == ConnectionState.done && + snapshot.hasData) { + return Column( + children: [ + sizedBoxHeight(20.h), + Expanded( + child: ListView.builder( + itemCount: likepostobj!.data.length, + shrinkWrap: true, + itemBuilder: (context, index) { + return Column( + children: [ + commonReaction( + imagePath: likepostobj! + .data[index].iamPrincipal!.profilePhoto ?? + '', + reactionimg: + likepostobj!.data[index].likeIcon!.image ?? + '', + title: likepostobj! + .data[index].iamPrincipal!.fullName ?? + ''), + if (likepostobj!.data.length - 1 != index) + commonDivider(), + ], + ); + }, + ), + ) + ], + ); + } + return Container(); + }); + } +} + +Widget commonReaction( + {required String imagePath, + required String reactionimg, + required String title}) { + return Padding( + padding: EdgeInsets.symmetric(horizontal: 25.w, vertical: 18.h), + child: Row( + children: [ + Stack(children: [ + CircleAvatar( + radius: 25.r, + backgroundImage: NetworkImage(imagePath), + ), + Positioned( + bottom: 0, + right: 0, + child: Container( + height: 22.h, + width: 22.w, + decoration: BoxDecoration( + shape: BoxShape.circle, + // color: const Color(0xFF1E3A46), + border: Border.all( + color: const Color(0xFFFCFCFC).withOpacity(0.18), + width: 0.6), + image: DecorationImage( + image: NetworkImage(reactionimg), + ), + ), + )), + ]), + sizedBoxWidth(10.w), + text17400white(title), + ], + ), + ); +} diff --git a/lib/Main_Screens/Community_HomePage/PostDetailScreen/ViewModel/LikePost.dart b/lib/Main_Screens/Community_HomePage/PostDetailScreen/ViewModel/LikePost.dart new file mode 100644 index 0000000..57b46ee --- /dev/null +++ b/lib/Main_Screens/Community_HomePage/PostDetailScreen/ViewModel/LikePost.dart @@ -0,0 +1,27 @@ +import 'package:regroup/Common/api_urls.dart'; +import 'package:regroup/Common/base_manager.dart'; +import 'package:regroup/Common/controller/data/network/network_api.dart'; +import 'package:regroup/Main_Screens/Community_HomePage/PostDetailScreen/Model/LikePostModel.dart'; + +LikepostModel? likepostobj; + +class LikePostApi { + Future> postLike(updata) async { + print("updata is $updata"); + final response = await NetworkApiServices().postApi( + updata, + ApiUrls.postlike, + ); + if (response.status == ResponseStatus.SUCCESS) { + if (response.data["status"] == "success") { + likepostobj = LikepostModel.fromJson(response.data); + } + return ResponseData( + response.data['message'], ResponseStatus.SUCCESS, + data: response.data); + } else { + return ResponseData( + response.data['message'], ResponseStatus.FAILED); + } + } +}