SettingPage.dart 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. import 'package:flutter/material.dart';
  2. import 'package:flutter_habit/common/I18N.dart';
  3. import 'package:flutter_habit/provider/UserProvider.dart';
  4. import 'package:flutter_habit/view/drawer/setting/DataManagementPage.dart';
  5. import 'package:flutter_habit/view/drawer/setting/DebugPage.dart';
  6. import 'package:flutter_habit/view/drawer/setting/NotificationSetPage.dart';
  7. import 'package:flutter_habit/view/drawer/setting/SignTimeSetPage.dart';
  8. import 'package:provider/provider.dart';
  9. import 'LanguageSetPage.dart';
  10. import 'ThemeSetPage.dart';
  11. class SettingPage extends StatelessWidget {
  12. @override
  13. Widget build(BuildContext context) {
  14. return Scaffold(
  15. appBar: AppBar(
  16. title: Text(I18N.of("设置")),
  17. ),
  18. body: Padding(
  19. padding: EdgeInsets.all(16),
  20. child: ListView(
  21. children: <Widget>[
  22. Icon(
  23. Icons.settings,
  24. size: 150,
  25. color: Theme.of(context).unselectedWidgetColor,
  26. ),
  27. Divider(),
  28. ListTile(
  29. leading: Icon(Icons.notifications_none),
  30. title: Text(I18N.of("通知开关")),
  31. trailing: Icon(Icons.chevron_right),
  32. onTap: () {
  33. Navigator.of(context).push(
  34. MaterialPageRoute(builder: (_) => NotificationSetPage()));
  35. },
  36. ),
  37. ListTile(
  38. leading: Icon(Icons.timer),
  39. title: Text(I18N.of("打卡时段")),
  40. trailing: Icon(Icons.chevron_right),
  41. onTap: () {
  42. Navigator.of(context)
  43. .push(MaterialPageRoute(builder: (_) => SignTimeSetPage()));
  44. },
  45. ),
  46. ListTile(
  47. leading: Icon(Icons.translate),
  48. title: Text(I18N.of("语言")),
  49. trailing: Icon(Icons.chevron_right),
  50. onTap: () {
  51. Navigator.of(context)
  52. .push(MaterialPageRoute(builder: (_) => LanguageSetPage()));
  53. },
  54. ),
  55. ListTile(
  56. leading: Icon(Icons.color_lens),
  57. title: Text(I18N.of("主题")),
  58. trailing: Icon(Icons.chevron_right),
  59. onTap: () {
  60. Navigator.of(context)
  61. .push(MaterialPageRoute(builder: (_) => ThemeSetPage()));
  62. },
  63. ),
  64. ListTile(
  65. leading: Icon(Icons.folder_special),
  66. title: Text(I18N.of("数据管理")),
  67. trailing: Icon(Icons.chevron_right),
  68. onTap: () {
  69. Navigator.of(context).push(
  70. MaterialPageRoute(builder: (_) => DataManagementPage()));
  71. },
  72. ),
  73. ],
  74. ),
  75. ),
  76. floatingActionButton:
  77. Provider.of<UserProvider>(context).email == "13895637677@126.com" && Provider.of<UserProvider>(context).userName == "开发者本尊"
  78. ? FloatingActionButton(
  79. child: Icon(Icons.bug_report),
  80. onPressed: () => Navigator.of(context)
  81. .push(MaterialPageRoute(builder: (_) => DebugPage())),
  82. ):null
  83. );
  84. }
  85. }