setting_page.dart 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. import 'package:cpt_auth/modules/setting/setting_state.dart';
  2. import 'package:cs_resources/generated/assets.dart';
  3. import 'package:flutter/material.dart';
  4. import 'package:plugin_basic/base/base_stateless_page.dart';
  5. import 'package:plugin_basic/basic_export.dart';
  6. import 'package:plugin_basic/service/app_config_service.dart';
  7. import 'package:plugin_basic/utils/ext_get_nav.dart';
  8. import 'package:router/path/router_path.dart';
  9. import 'package:shared/utils/screen_util.dart';
  10. import 'package:widgets/ext/ex_widget.dart';
  11. import 'package:widgets/my_appbar.dart';
  12. import 'package:widgets/shatter/setting_item_container.dart';
  13. import 'setting_controller.dart';
  14. class SettingPage extends BaseStatelessPage<SettingController> {
  15. SettingPage({Key? key}) : super(key: key);
  16. //启动当前页面
  17. static void startInstance() {
  18. return Get.start(RouterPath.settings);
  19. }
  20. late SettingState state;
  21. @override
  22. void initState() {
  23. state = controller.state;
  24. }
  25. @override
  26. SettingController createRawController() {
  27. return SettingController();
  28. }
  29. @override
  30. Widget buildWidget(BuildContext context) {
  31. return Scaffold(
  32. extendBodyBehindAppBar: true,
  33. appBar: MyAppBar.appBar(context, "Settings".tr),
  34. body: SafeArea(
  35. bottom: MediaQuery.of(context).padding.bottom > 38,
  36. top: false,
  37. child: Container(
  38. width: double.infinity,
  39. height: double.infinity,
  40. padding: EdgeInsets.only(top: kToolbarHeight + ScreenUtil.getStatusBarH(context) + 1),
  41. decoration: const BoxDecoration(
  42. gradient: LinearGradient(
  43. colors: [
  44. Color(0xFF091D44),
  45. Color(0xFF245A8A),
  46. Color(0xFF7F7CEC),
  47. ],
  48. begin: Alignment.topCenter,
  49. end: Alignment.bottomCenter,
  50. ),
  51. ),
  52. child: Column(children: [
  53. const SizedBox(height: 10),
  54. ConfigService.to.selectCountry.value == 3 ?
  55. SettingItemContainer(iconPath: Assets.mainSettingSwitchProject, title: "Switch Projects".tr).onTap(() {
  56. controller.switchProjects();
  57. }) : const SizedBox(),
  58. ConfigService.to.selectCountry.value != 3 ? SettingItemContainer(iconPath: Assets.mainSettingResetPassword, title: "Reset Password".tr).onTap(() {
  59. controller.gotoResetPasswordPage();
  60. }): const SizedBox(),
  61. ConfigService.to.selectCountry.value != 3 ? SettingItemContainer(iconPath: Assets.mainSettingAccountDelectivation, title: "Account Deactivation".tr).onTap(() {
  62. controller.doAccountDelete();
  63. }): const SizedBox(),
  64. SettingItemContainer(iconPath: Assets.mainSettingLogOut, title: "Logout".tr).onTap(() {
  65. controller.doLogout();
  66. }),
  67. ]),
  68. ),
  69. ),
  70. );
  71. }
  72. }