Untitled
unknown
dart
2 years ago
5.0 kB
1
Indexable
Never
import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:iketfaa_delivery/App/Common/Modules/MyProfile/controller/my_profile_controller.dart'; import 'package:iketfaa_delivery/App/Common/Utilities/Constants/AppColors.dart'; import 'package:iketfaa_delivery/App/Freelance/Models/Main/UserPostItem.dart'; class MyProfileView extends GetView<MyProfileController> { @override Widget build(BuildContext context) { return DefaultTabController( initialIndex: 0, length: 2, child: Scaffold( backgroundColor: AppColors.backgroundColor, body: NotificationListener<ScrollNotification>( onNotification: (ScrollNotification scrollInfo) { if (!controller.isLoading.value && scrollInfo.metrics.pixels == scrollInfo.metrics.maxScrollExtent && controller.notCached.value) { controller.isLoading.value = true; Future.delayed(const Duration(milliseconds: 100), () async { List<UserPostItem> list = <UserPostItem>[]; list = await controller.authManager.freelanceAPI .getUserNext12Posts(controller.postsPageIndex.value); controller.isLoading.value = false; if (list.length != 0) { controller.postsPageIndex.value += 1; controller.userPosts.addAll(list); } else { controller.notCached.value = false; controller.postsPageIndex.value = 2; } }); return true; } return false; }, child: ListView( padding: EdgeInsets.zero, children: [ //MyProfileHeader(), // TabBar( // isScrollable: false, // indicatorColor: AppColors.primary, // labelColor: AppColors.black, // labelStyle: Get.textTheme.headline6! // .copyWith(fontWeight: FontWeight.w500), // tabs: [ // Tab( // text: 'posts'.tr, // ), // Tab(text: 'videos'.tr), // ], // controller: controller.tabController.value, // onTap: (index) { // controller.tabIndex.value = index; // }, // ), // Obx( // () => controller.tabIndex.value == 0 // ? controller.userPosts.isEmpty // ? Column( // crossAxisAlignment: CrossAxisAlignment.center, // mainAxisAlignment: MainAxisAlignment.center, // children: [ // Center( // child: Text( // "You don't have any posts yet".tr, // style: Get.textTheme.headline5, // ), // ), // ], // ) // : GridView.builder( // shrinkWrap: true, // scrollDirection: Axis.vertical, // padding: EdgeInsets.zero, // physics: const NeverScrollableScrollPhysics(), // addAutomaticKeepAlives: true, // addRepaintBoundaries: false, // gridDelegate: // const SliverGridDelegateWithFixedCrossAxisCount( // crossAxisCount: 3, // ), // cacheExtent: Get.width * 0.25, // itemCount: controller.userPosts.length, // itemBuilder: (context, indexPath) { // return PostItemWidget( // postItem: controller.userPosts[indexPath], // ); // }, // ) // : const Center( // child: Text('Qanati Videos'), // ), // ), Visibility( visible: controller.notCached.value, child: Container( margin: const EdgeInsets.only(top: 10.0, bottom: 10.0), width: Get.width, height: 30.0, child: Visibility( visible: controller.isLoading.value, child: const CupertinoActivityIndicator()), ), ) ], ), ), ), ); } }