Blame view

lib/pages/home/widgets/home_tab_header_widget.dart 4.38 KB
95edef4f   liangchengyou   feat:更新适配代码
1
  import 'package:flutter/material.dart';
c948a9ea   liangchengyou   feat:个人信息更改模块功能
2
  import 'package:flutter_bloc/flutter_bloc.dart';
95edef4f   liangchengyou   feat:更新适配代码
3
  import 'package:flutter_screenutil/flutter_screenutil.dart';
aa4e28be   Key   removed: cache_bl...
4
  import 'package:wow_english/common/core/user_util.dart';
95edef4f   liangchengyou   feat:更新适配代码
5
  import 'package:wow_english/common/extension/string_extension.dart';
c948a9ea   liangchengyou   feat:个人信息更改模块功能
6
  import 'package:wow_english/pages/user/bloc/user_bloc.dart';
aa4e28be   Key   removed: cache_bl...
7
  import 'package:wow_english/utils/image_util.dart';
95edef4f   liangchengyou   feat:更新适配代码
8
  
68dd7ba8   liangchengyou   feat:首页主题颜色+已知问题修改
9
10
11
  import '../../../models/course_entity.dart';
  import '../courese_module_model.dart';
  
60e47f7c   liangchengyou   feat:课程选择功能
12
13
14
15
16
17
18
19
20
  enum HeaderActionType {
    //视频跟读
    video,
    //阶段选择
    phase,
    //磨耳朵
    listen,
    //购买
    shop,
d35a4e87   liangchengyou   feat:磨耳朵功能UI
21
    //个人信息
056970d8   Key   feat: api
22
    user
60e47f7c   liangchengyou   feat:课程选择功能
23
24
  }
  
95edef4f   liangchengyou   feat:更新适配代码
25
  class HomeTabHeaderWidget extends StatelessWidget {
68dd7ba8   liangchengyou   feat:首页主题颜色+已知问题修改
26
    const HomeTabHeaderWidget({super.key,this.entity, this.actionTap});
60e47f7c   liangchengyou   feat:课程选择功能
27
  
68dd7ba8   liangchengyou   feat:首页主题颜色+已知问题修改
28
    final CourseEntity? entity;
60e47f7c   liangchengyou   feat:课程选择功能
29
    final Function(HeaderActionType type)? actionTap;
95edef4f   liangchengyou   feat:更新适配代码
30
31
32
  
    @override
    Widget build(BuildContext context) {
c948a9ea   liangchengyou   feat:个人信息更改模块功能
33
34
35
36
37
      return BlocBuilder<UserBloc,UserState>(
        builder: (context,state) {
          return Container(
              height: 45,
              width: double.infinity,
68dd7ba8   liangchengyou   feat:首页主题颜色+已知问题修改
38
              color:  CourseModuleModel(entity?.courseModuleCode??'Phase-1').color,
c948a9ea   liangchengyou   feat:个人信息更改模块功能
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
              padding: EdgeInsets.symmetric(horizontal: 9.5.w),
              child: Row(
                children: [
                  ScreenUtil().bottomBarHeight.horizontalSpace,
                  GestureDetector(
                    onTap: () => actionTap?.call(HeaderActionType.user),
                    child: Container(
                      decoration: BoxDecoration(
                        border: Border.all(
                          width: 1.0,
                          color: const Color(0xFF140C10),
                        ),
                        borderRadius: BorderRadius.circular(21),
                      ),
                      child: CircleAvatar(
                        radius: 21,
                        backgroundImage: ImageUtil.getImageProviderOnDefault(UserUtil.getUser()?.avatarUrl),
                      ),
                    ),
d35a4e87   liangchengyou   feat:磨耳朵功能UI
58
                  ),
c948a9ea   liangchengyou   feat:个人信息更改模块功能
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
                  GestureDetector(
                    onTap: () {
                      if (actionTap != null) {
                        actionTap!(HeaderActionType.user);
                      }
                    },
                    child: Container(
                      margin: const EdgeInsets.only(left: 7),
                      padding: const EdgeInsets.all(4.0),
                      decoration: BoxDecoration(
                        color: Colors.white,
                        borderRadius: BorderRadius.circular(2),
                        border: Border.all(width: 1.0, color: const Color(0xFF140C10), style: BorderStyle.solid),
                      ),
                      child: Text(
                        UserUtil.getUser()?.name ?? '未登录',
                        style: TextStyle(color: const Color(0xFF333333), fontSize: 16.sp),
                      ),
                    ),
                  ),
                  20.horizontalSpace,
68dd7ba8   liangchengyou   feat:首页主题颜色+已知问题修改
80
                  Expanded(
c948a9ea   liangchengyou   feat:个人信息更改模块功能
81
                      child: Text(
68dd7ba8   liangchengyou   feat:首页主题颜色+已知问题修改
82
                        CourseModuleModel(entity?.courseModuleCode??'Phase-1').courseModuleTitle,
c948a9ea   liangchengyou   feat:个人信息更改模块功能
83
                        textAlign: TextAlign.left,
68dd7ba8   liangchengyou   feat:首页主题颜色+已知问题修改
84
                        style: const TextStyle(color: Colors.white, fontSize: 30.0),
c948a9ea   liangchengyou   feat:个人信息更改模块功能
85
                      )),
354ac7e6   吴启风   feat:隐藏视频跟读入口、底部草...
86
87
88
89
90
91
92
                  // IconButton(
                  //     onPressed: () {
                  //       if (actionTap != null) {
                  //         actionTap!(HeaderActionType.video);
                  //       }
                  //     },
                  //     icon: Image.asset('video'.assetPng)),
c948a9ea   liangchengyou   feat:个人信息更改模块功能
93
94
95
96
97
98
99
100
101
102
103
104
105
106
                  IconButton(
                      onPressed: () {
                        if (actionTap != null) {
                          actionTap!(HeaderActionType.phase);
                        }
                      },
                      icon: Image.asset('home'.assetPng)),
                  IconButton(
                      onPressed: () {
                        if (actionTap != null) {
                          actionTap!(HeaderActionType.listen);
                        }
                      },
                      icon: Image.asset('listen'.assetPng)),
07599105   吴启风   feat:商品列表请求&路由
107
108
109
110
111
112
113
114
                  IconButton(
                      onPressed: (){
                        if(actionTap != null) {
                          actionTap!(HeaderActionType.shop);
                        }
                      },
                      icon: Image.asset('shop'.assetPng)
                  ),
c948a9ea   liangchengyou   feat:个人信息更改模块功能
115
116
117
118
119
                  ScreenUtil().bottomBarHeight.horizontalSpace,
                ],
              )
          );
        },
95edef4f   liangchengyou   feat:更新适配代码
120
121
      );
    }
056970d8   Key   feat: api
122
  }