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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
                      )),
                  IconButton(
                      onPressed: () {
                        if (actionTap != null) {
                          actionTap!(HeaderActionType.video);
                        }
                      },
                      icon: Image.asset('video'.assetPng)),
                  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)),
                  // IconButton(
                  //     onPressed: (){
                  //       if(actionTap != null) {
                  //         actionTap!(HeaderActionType.shop);
                  //       }
                  //     },
                  //     icon: Image.asset('shop'.assetPng)
                  // ),
                  ScreenUtil().bottomBarHeight.horizontalSpace,
                ],
              )
          );
        },
95edef4f   liangchengyou   feat:更新适配代码
120
121
      );
    }
056970d8   Key   feat: api
122
  }