Untitled
unknown
dart
3 years ago
5.0 kB
7
Indexable
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()),
),
)
],
),
),
),
);
}
}
Editor is loading...