import 'package:flutter/material.dart'; import 'package:flutter_habit/common/I18N.dart'; import 'package:flutter_habit/common/components/PopMenus.dart'; import 'package:flutter_habit/provider/DataProvider.dart'; import 'package:flutter_habit/provider/UserProvider.dart'; import 'package:flutter_habit/view/drawer/community/FollowedPage.dart'; import 'package:flutter_habit/view/drawer/community/RankingListPage.dart'; import 'package:flutter_habit/view/drawer/community/SearchUserPage.dart'; import 'package:flutter_habit/view/drawer/setting/SettingPage.dart'; import 'package:flutter_habit/view/drawer/shop/ShopPage.dart'; import 'package:flutter_habit/view/drawer/user/UserPage.dart'; import 'package:provider/provider.dart'; class HomePageDrawer extends StatelessWidget { @override Widget build(BuildContext context) { UserProvider userProvider = Provider.of(context); DataProvider dataProvider = Provider.of(context); return Drawer( child: Column( crossAxisAlignment: CrossAxisAlignment.center, children: [ Container( color: Theme.of(context).primaryColor, padding: EdgeInsets.only(top: 36, bottom: 10, left: 16, right: 16), child: Column( children: [ Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, crossAxisAlignment: CrossAxisAlignment.start, children: [ Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( I18N.of("欢迎"), style: Theme.of(context).textTheme.displayLarge!.copyWith( color: Theme.of(context).colorScheme.onPrimary), ), Text( I18N.of("来到"), style: TextStyle( color: Theme.of(context).colorScheme.onPrimary), ), Text( "Habit", style: Theme.of(context) .textTheme .titleLarge! .copyWith( color: Theme.of(context).colorScheme.onPrimary), ), ], ), Column( crossAxisAlignment: CrossAxisAlignment.center, children: [ userProvider.photo == null ? Icon( Icons.account_circle, size: 70, color: Theme.of(context).colorScheme.onPrimary, ) : ClipOval( child: Image.memory( userProvider.photo!, width: 70, height: 70, ), ), Container(height: 10), Text( userProvider.userName != null && userProvider.userName != null ? userProvider.userName! : I18N.of("未登录"), style: TextStyle( color: Theme.of(context).colorScheme.onPrimary), ), Row( children: [ Text( "${I18N.of("今日状态")}: ", style: Theme.of(context) .textTheme .titleMedium! .copyWith( color: Theme.of(context) .colorScheme .onPrimary), ), Icon( dataProvider.todayEvaluate <= 4 ? Icons.sentiment_dissatisfied : dataProvider.todayEvaluate <= 9 ? Icons.sentiment_neutral : Icons.sentiment_satisfied, color: Theme.of(context).colorScheme.onPrimary, size: 20, ) ], ), ], ), ], ), ], ), ), Expanded( flex: 3, child: Column( children: [ ListTile( leading: Icon(Icons.account_box), title: Text(I18N.of("用户")), onTap: () { Navigator.of(context).pop(); Navigator.of(context) .push(MaterialPageRoute(builder: (_) => UserPage())); }, ), ListTile( leading: Icon(Icons.trending_up), title: Text(I18N.of("排行榜")), onTap: () { Navigator.of(context).pop(); Navigator.of(context).push( MaterialPageRoute(builder: (_) => RankingListPage())); }, ), userProvider.token == null ? Container() : ListTile( leading: Icon(Icons.face), title: Text(I18N.of("我的关注")), onTap: () { Navigator.of(context).pop(); Navigator.of(context).push(MaterialPageRoute( builder: (_) => FollowedPage())); }, ), userProvider.token == null ? Container() : ListTile( leading: Icon(Icons.search), title: Text(I18N.of("搜索用户")), onTap: () { Navigator.of(context).pop(); Navigator.of(context).push(MaterialPageRoute( builder: (_) => SearchUserPage())); }, ), ListTile( leading: Icon(Icons.store), title: Text(I18N.of("商城")), onTap: () { Navigator.of(context).pop(); Navigator.of(context) .push(MaterialPageRoute(builder: (_) => ShopPage())); }, ), ListTile( leading: Icon(Icons.settings), title: Text(I18N.of("设置")), onTap: () async { Navigator.of(context).pop(); await Navigator.of(context) .push(MaterialPageRoute(builder: (_) => SettingPage())); }, ), ], ), ), Padding( padding: EdgeInsets.only(bottom: 5), child: InkWell( child: Text( "@2020 ZXZhang All rights reserved.", style: Theme.of(context).textTheme.bodySmall, ), onTap: () { PopMenus.baseMenu( context: context, title: Text("About"), children: [ Padding( padding: EdgeInsets.all(25), child: Text( "本软件由张子玄独立设计、开发完成\n移动端使用Flutter开发\n后端使用SpringBoot开发\n使用docker在阿里云部署", ), ), Padding( padding: EdgeInsets.only(bottom: 10), child: Center( child: Text( "@2020 ZXZhang All rights reserved.", style: Theme.of(context).textTheme.bodySmall, ), ), ), ], ); }, )), ], ), ); } }