Blame view

lib/pages/shop/home/shop_home_page.dart 2.57 KB
d1d32220   liangchengyou   feat:兑换课程+购买记录
1
2
  import 'package:flutter/material.dart';
  import 'package:flutter_bloc/flutter_bloc.dart';
d1d32220   liangchengyou   feat:兑换课程+购买记录
3
4
5
  import 'package:flutter_screenutil/flutter_screenutil.dart';
  import 'package:wow_english/common/extension/string_extension.dart';
  import 'package:wow_english/common/widgets/we_app_bar.dart';
4b358e22   liangchengyou   feat:调整文件结构
6
  import 'package:wow_english/pages/shop/home/widgets/lesson_card_item.dart';
d1d32220   liangchengyou   feat:兑换课程+购买记录
7
  import 'package:wow_english/route/route.dart';
c61b3c1a   Key   feat: toast_util....
8
  import 'package:wow_english/utils/toast_util.dart';
4b358e22   liangchengyou   feat:调整文件结构
9
10
  
  import 'bloc/shop_home_bloc.dart';
d1d32220   liangchengyou   feat:兑换课程+购买记录
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
  
  class ShopHomePage extends StatelessWidget {
    const ShopHomePage({super.key});
  
    @override
    Widget build(BuildContext context) {
      return BlocProvider(
        create: (context) => ShopHomeBloc(),
        child: _ShopHomeView(),
      );
    }
  }
  
  class _ShopHomeView extends StatelessWidget {
    @override
    Widget build(BuildContext context) {
c61b3c1a   Key   feat: toast_util....
27
      return BlocListener<ShopHomeBloc, ShopHomeState>(
d1d32220   liangchengyou   feat:兑换课程+购买记录
28
29
30
31
32
        listener: (context, state) {},
        child: _shopHomeWidget(),
      );
    }
  
c61b3c1a   Key   feat: toast_util....
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
    Widget _shopHomeWidget() => BlocBuilder<ShopHomeBloc, ShopHomeState>(builder: (context, state) {
          return Scaffold(
            appBar: WEAppBar(
              actions: [
                IconButton(
                  icon: Image.asset(
                    'check_lesson'.assetPng,
                    width: 40,
                    height: 40,
                  ),
                  color: Colors.white,
                  onPressed: () {
                    Navigator.of(context).pushNamed(AppRouteName.exLesson);
                  },
                ),
                IconButton(
                  icon: Image.asset(
                    'shop'.assetPng,
                    width: 40,
                    height: 40,
                  ),
                  color: Colors.white,
                  onPressed: () {
                    showToast('购前须知');
                  },
                )
              ],
d1d32220   liangchengyou   feat:兑换课程+购买记录
60
            ),
c61b3c1a   Key   feat: toast_util....
61
62
63
64
65
66
67
68
69
70
71
72
73
74
            body: Center(
              child: Padding(
                padding: EdgeInsets.symmetric(vertical: 25.h, horizontal: 25.w),
                child: GridView.builder(
                    itemCount: 4,
                    gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
                      crossAxisCount: 2,
                      childAspectRatio: 2,
                      mainAxisSpacing: 14.h,
                      crossAxisSpacing: 4.5.w,
                    ),
                    itemBuilder: (BuildContext context, int index) {
                      return LessonCardItem(onTap: () {
                        showToast('购买');
4224b3f8   吴启风   feat:支付详情页ui
75
                        pushNamed(AppRouteName.pay);
c61b3c1a   Key   feat: toast_util....
76
77
                      });
                    }),
d1d32220   liangchengyou   feat:兑换课程+购买记录
78
              ),
c61b3c1a   Key   feat: toast_util....
79
80
81
82
            ),
          );
        });
  }