From bd9c8b9d0d8f8a37c779ec32990e504b7fa2c73a Mon Sep 17 00:00:00 2001 From: kishan06 Date: Fri, 23 Aug 2024 13:20:11 +0530 Subject: [PATCH] tags array index out of bound error fixed temporary --- lib/Common/controller/NormalPostCard.dart | 66 ++++++++--------- lib/Login/View/loginscreen.dart | 1 - lib/Login/ViewModel/LoginApi.dart | 11 ++- .../Community_HomePage/Community.dart | 11 +-- .../Community_HomePage/TagsdDetailScreen.dart | 73 +++++++++---------- .../MyCommunity/View/CommunityDetails.dart | 7 +- 6 files changed, 78 insertions(+), 91 deletions(-) diff --git a/lib/Common/controller/NormalPostCard.dart b/lib/Common/controller/NormalPostCard.dart index 3f276e6..3b4d591 100644 --- a/lib/Common/controller/NormalPostCard.dart +++ b/lib/Common/controller/NormalPostCard.dart @@ -176,7 +176,7 @@ class _NormalCardTileState extends State { .last; return ConstrainedBox( - constraints: BoxConstraints(minHeight: 750.h), + constraints: BoxConstraints(minHeight: 820.h), child: commonGlassUI( width: double.infinity, height: 600.h, @@ -220,7 +220,6 @@ class _NormalCardTileState extends State { width: 1.w, ), borderRadius: BorderRadius.circular(5.r), - ), child: Center( child: text12w400_FCFCFC("Coach")), @@ -339,8 +338,6 @@ class _NormalCardTileState extends State { fontWeight: FontWeight.w800, fontFamily: "Nunito Sans", ), - - ), const Spacer(), countersHelper @@ -372,37 +369,36 @@ class _NormalCardTileState extends State { ), sizedBoxHeight(20.h), GestureDetector( - onTap: () async { - bool result = await Get.toNamed(RouteName.postdetailsScreen, - arguments: { - 'postId': widget.commonObj.id, - 'tagsList': widget.tags, - 'created_at': widget.createAt, - 'commonObj': widget.commonObj, - 'fromWhichTab': widget.forWhichTab, - 'reactions': widget.reactions, - 'selectedReactions': widget.selectedReactions, - 'currentIndex': widget.currentIndex - }); - if (result) { - setState(() {}); - } - }, - child: SizedBox( - height: 360, - width: double.infinity, - child: CachedNetworkImage( - cacheKey: imgUrl, - imageUrl: widget.commonObj.image!, - fit: BoxFit.cover, - placeholder: (context, url) => const Center( - child: - CircularProgressIndicator()), // Optional: shows a loading indicator while the image is loading - errorWidget: (context, url, error) => const Center( - child: Icon(Icons - .error)), // Optional: shows an error icon if the image fails to load - ), - )), + onTap: () async { + bool result = await Get.toNamed(RouteName.postdetailsScreen, + arguments: { + 'postId': widget.commonObj.id, + 'tagsList': widget.tags, + 'created_at': widget.createAt, + 'commonObj': widget.commonObj, + 'fromWhichTab': widget.forWhichTab, + 'reactions': widget.reactions, + 'selectedReactions': widget.selectedReactions, + 'currentIndex': widget.currentIndex + }); + if (result) { + setState(() {}); + } + }, + child: SizedBox( + height: 360, + width: double.infinity, + child: Image.network( + widget.commonObj.image!, + fit: BoxFit.cover, + errorBuilder: (context, error, stackTrace) { + return const Center( + child: Icon(Icons.error), + ); + }, + ), + ), + ), sizedBoxHeight(20.h), Padding( padding: EdgeInsets.symmetric(horizontal: 16.w), diff --git a/lib/Login/View/loginscreen.dart b/lib/Login/View/loginscreen.dart index 954a47a..498895c 100644 --- a/lib/Login/View/loginscreen.dart +++ b/lib/Login/View/loginscreen.dart @@ -70,7 +70,6 @@ class _LoginScreenState extends State { snackPosition: SnackPosition.BOTTOM, ); // Get.toNamed(RouteName.mainscreen,arguments: 0); - await Communityallgetmethod().getLikeicons(); await Getuserdetails().Getuser().then((value) { if (getuserobj?.data?.userData?.isProfileUpdated == 0) { String? accountype = diff --git a/lib/Login/ViewModel/LoginApi.dart b/lib/Login/ViewModel/LoginApi.dart index 7d0929c..462d73b 100644 --- a/lib/Login/ViewModel/LoginApi.dart +++ b/lib/Login/ViewModel/LoginApi.dart @@ -20,6 +20,7 @@ class LoginAPI { if (response.data['status'] == 'success') { LoginModel loginObj = LoginModel.fromJson(response.data); await prefs.setString('access-token', loginObj.data!.accessToken!); + await Communityallgetmethod().getLikeicons(); await prefs.setString( 'fullname', loginObj.data?.userData?.fullName ?? ""); await prefs.setString( @@ -81,6 +82,7 @@ class LoginAPI { .postApi(data, ApiUrls.googlelogin, optionalpar: true); if (response.status == ResponseStatus.SUCCESS) { await prefs.setString('access-token', response.data['data']['token']); + await Communityallgetmethod().getLikeicons(); if (response.data['data']['is_account_type_updated'] == 3) { return ResponseData( "go-to-signin-via-oauth", ResponseStatus.SUCCESS, @@ -100,13 +102,13 @@ class LoginAPI { .postApi(data, ApiUrls.applelogin, optionalpar: true); if (response.status == ResponseStatus.SUCCESS) { await prefs.setString('access-token', response.data['data']['token']); + await Communityallgetmethod().getLikeicons(); if (response.data['data']['is_account_type_updated'] == 3) { Get.toNamed(RouteName.verifygoogleapplepage, arguments: {"email": emailReceived}); return ResponseData( "go-to-signin-via-oauth", ResponseStatus.SUCCESS); } else { - await Communityallgetmethod().getLikeicons(); await Getuserdetails().Getuser().then((value) { if (getuserobj?.data?.userData?.isProfileUpdated == 0) { String? accountype = @@ -120,7 +122,7 @@ class LoginAPI { arguments: {'pageroute': "mainscreen"}); } } else { - Get.toNamed(RouteName.mainscreen,arguments: 0); + Get.toNamed(RouteName.mainscreen, arguments: 0); } }); // Get.toNamed(RouteName.mainscreen); @@ -138,6 +140,7 @@ class LoginAPI { .postApi(data, ApiUrls.facebooklogin, optionalpar: true); if (response.status == ResponseStatus.SUCCESS) { await prefs.setString('access-token', response.data['data']['token']); + await Communityallgetmethod().getLikeicons(); if (response.data['data']['is_account_type_updated'] == 3) { Get.toNamed(RouteName.verifygoogleapplepage, arguments: {"email": emailReceived}); @@ -145,7 +148,7 @@ class LoginAPI { "go-to-signin-via-oauth", ResponseStatus.SUCCESS); } else { // Get.toNamed(RouteName.mainscreen); - await Communityallgetmethod().getLikeicons(); + await Getuserdetails().Getuser().then((value) { if (getuserobj?.data?.userData?.isProfileUpdated == 0) { String? accountype = @@ -159,7 +162,7 @@ class LoginAPI { arguments: {'pageroute': "mainscreen"}); } } else { - Get.toNamed(RouteName.mainscreen,arguments: 0); + Get.toNamed(RouteName.mainscreen, arguments: 0); } }); return ResponseData("go-to-login", ResponseStatus.SUCCESS); diff --git a/lib/Main_Screens/Community_HomePage/Community.dart b/lib/Main_Screens/Community_HomePage/Community.dart index cdc8154..029afc3 100644 --- a/lib/Main_Screens/Community_HomePage/Community.dart +++ b/lib/Main_Screens/Community_HomePage/Community.dart @@ -332,7 +332,6 @@ class _FeedTabState extends State { if (snapshot.connectionState == ConnectionState.done && snapshot.hasData) { - log("TRUE"); setValues(); return Stack( clipBehavior: Clip.none, @@ -420,7 +419,6 @@ class _FeedTabState extends State { if (snapshot.connectionState == ConnectionState.done && snapshot.hasData) { - log("FALSE"); setValues(); return Stack( clipBehavior: Clip.none, @@ -494,7 +492,6 @@ class _FeedTabState extends State { } } - class PopularTab extends StatefulWidget { const PopularTab({super.key}); @@ -536,15 +533,11 @@ class _PopularTabState extends State { } } - bool _isDataInitialized = true; - Future setValues() async { - if (_isDataInitialized) { + if (mounted) { _setModel(); countersHelper.setListsPopular(); await _fetchIcons(); - - _isDataInitialized = false; } } @@ -645,7 +638,7 @@ class _PopularTabState extends State { fit: BoxFit.fill), ), ), - popularpostobj!.data.isEmpty + commonobjmodel!.data.isEmpty ? Column( mainAxisAlignment: MainAxisAlignment.center, children: [ diff --git a/lib/Main_Screens/Community_HomePage/TagsdDetailScreen.dart b/lib/Main_Screens/Community_HomePage/TagsdDetailScreen.dart index 67065be..de00af8 100644 --- a/lib/Main_Screens/Community_HomePage/TagsdDetailScreen.dart +++ b/lib/Main_Screens/Community_HomePage/TagsdDetailScreen.dart @@ -95,34 +95,36 @@ class _TagdetailScreenState extends State { image: AssetImage("assets/images/png/Ellipse 1496.png"), fit: BoxFit.fill)), ), - Column(children: [ - sizedBoxHeight(10.h), - DefaultTabController( - length: 2, - // initialIndex: selectedIndex.value, - child: Column( - children: [ - const CommonTabBar(tabs: [ - Tab( - text: 'Popular', - ), - Tab( - text: 'Latest', - ), - ]), - SizedBox( - height: 670.h, - child: TabBarView( - children: [ - PopularTab(id: tagsid), - // cyclelatestTab(), - LatestTab(id: tagsid) - ], - ), + Padding( + padding: const EdgeInsets.symmetric(vertical: 16), + child: Column(children: [ + Expanded( + child: DefaultTabController( + length: 2, + child: Column( + children: [ + const CommonTabBar(tabs: [ + Tab( + text: 'Popular', + ), + Tab( + text: 'Latest', + ), + ]), + Expanded( + child: TabBarView( + children: [ + PopularTab(id: tagsid), + // cyclelatestTab(), + LatestTab(id: tagsid) + ], + ), + ), + ], ), - ], - )) - ]) + ), + ), + ])) ])); } } @@ -171,18 +173,15 @@ class _PopularTabState extends State { } } - bool _isDataInitialized = true; - Future setValues() async { - // WidgetsBinding.instance.addPostFrameCallback((_) {}); WidgetsBinding.instance.addPostFrameCallback((_) { _setModel(); countersHelper.setListsPopular(); _fetchIcons(); + Future.delayed(const Duration(milliseconds: 500), () { + setState(() {}); + }); }); - //if (mounted) { - - // } } _sortTags(index) { @@ -402,8 +401,6 @@ class _LatestTabState extends State { } } - bool _isDataInitialized = true; - Future setValues() async { // WidgetsBinding.instance.addPostFrameCallback((_) {}); WidgetsBinding.instance.addPostFrameCallback((_) { @@ -411,9 +408,9 @@ class _LatestTabState extends State { countersHelper.setListsPopular(); _fetchIcons(); }); - //if (mounted) { - - // } + Future.delayed(const Duration(milliseconds: 500), () { + setState(() {}); + }); } _sortTags(index) { diff --git a/lib/sidemenu/Community/MyCommunity/View/CommunityDetails.dart b/lib/sidemenu/Community/MyCommunity/View/CommunityDetails.dart index 91f7456..0149a04 100644 --- a/lib/sidemenu/Community/MyCommunity/View/CommunityDetails.dart +++ b/lib/sidemenu/Community/MyCommunity/View/CommunityDetails.dart @@ -768,15 +768,14 @@ class _PostsTabState extends State { } Future setValues() async { - // WidgetsBinding.instance.addPostFrameCallback((_) {}); WidgetsBinding.instance.addPostFrameCallback((_) { _setModel(); countersHelper.setListsPopular(); _fetchIcons(); + Future.delayed(const Duration(milliseconds: 500), () { + setState(() {}); + }); }); - //if (mounted) { - - // } } _sortTags(index) {