// import 'package:boilerplate/presentation/widgets/ipm_image.dart';
// import 'package:flutter/material.dart';
// import 'package:flutter_bloc/flutter_bloc.dart';
//
// import '../../../../core/i18n/translations.g.dart';
// import '../../../../core/styles/my_colors.dart';
// import '../../../../core/styles/my_dimensions.dart';
// import '../../../../core/styles/my_font.dart';
// import '../../../../core/utils/navigator_util.dart';
// import '../../../bloc/home/home_bloc.dart';
// import '../../products/detail/product_detail_screen.dart';
//
// class HomeAllIdea extends StatefulWidget {
//   const HomeAllIdea({Key? key}) : super(key: key);
//
//   @override
//   State<HomeAllIdea> createState() => _HomeAllIdeaState();
// }
//
// class _HomeAllIdeaState extends State<HomeAllIdea> {
//   late final ScrollController controller;
//
//   double scrollIndecator = MyDimens.dimen30 * 0.2;
//
//   @override
//   void initState() {
//     super.initState();
//
//     controller = ScrollController();
//   }
//
//   bool _onScroll(ScrollNotification notification) {
//     final p = notification.metrics.pixels *
//         100 /
//         notification.metrics.maxScrollExtent;
//
//     setState(() {
//       if (MyDimens.dimen30 * (p / 100) <= MyDimens.dimen30 * 0.2) {
//         scrollIndecator = MyDimens.dimen30 * 0.2;
//       } else {
//         scrollIndecator = MyDimens.dimen30 * (p / 100);
//       }
//     });
//
//     return true;
//   }
//
//   @override
//   void dispose() {
//     controller.dispose();
//
//     super.dispose();
//   }
//
//   @override
//   Widget build(BuildContext context) {
//     return BlocBuilder<HomeBloc, HomeState>(
//       builder: (context, state) {
//         if (state.data.productAll.isEmpty) {
//           return Container();
//         }
//
//         return Column(
//           crossAxisAlignment: CrossAxisAlignment.start,
//           children: [
//             Padding(
//               padding: EdgeInsets.only(
//                 top: MyDimens.dimen24,
//                 left: MyDimens.dimen16,
//               ),
//               child: Text(
//                 AppLocalizations.home.all_idea,
//                 style: MyFont.medium20,
//               ),
//             ),
//             NotificationListener<ScrollNotification>(
//               onNotification: _onScroll,
//               child: GridView.builder(
//                 controller: controller,
//                 shrinkWrap: true,
//                 physics: const NeverScrollableScrollPhysics(),
//                 gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
//                   crossAxisCount: 2,
//                   childAspectRatio: 7.8 / 10,
//                   mainAxisSpacing: MyDimens.dimen16,
//                   crossAxisSpacing: MyDimens.dimen24,
//                 ),
//                 padding: EdgeInsets.symmetric(
//                   vertical: MyDimens.dimen14,
//                   horizontal: MyDimens.dimen16,
//                 ),
//                 scrollDirection: Axis.vertical,
//                 itemCount: state.data.productAll.length,
//                 itemBuilder: (context, index) {
//                   final item = state.data.productAll[index];
//
//                   return GestureDetector(
//                     onTap: () {
//                       NavigatorUtil.pushToPage(
//                           ProductDetailScreen(prodictId: item.id!));
//                     },
//                     child: Column(
//                       children: [
//                         Container(
//                           width: MyDimens.dimen160,
//                           height: MyDimens.dimen164,
//                           decoration: BoxDecoration(
//                             borderRadius: BorderRadius.circular(8),
//                           ),
//                           child: ClipRRect(
//                             borderRadius: BorderRadius.circular(8),
//                             child: IPMImage(
//                               url: item.cover ?? '',
//                               fit: BoxFit.cover,
//                             ),
//                           ),
//                         ),
//                         SizedBox(height: MyDimens.dimen8),
//                         SizedBox(
//                           width: MyDimens.dimen160,
//                           child: Text(
//                             item.name ?? '',
//                             style: MyFont.regular12.copyWith(
//                               color: MyColor.headerColor,
//                               overflow: TextOverflow.ellipsis,
//                             ),
//                             maxLines: 2,
//                           ),
//                         ),
//                       ],
//                     ),
//                   );
//                 },
//               ),
//             ),
//           ],
//         );
//       },
//     );
//   }
// }
