mine_page.dart 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import 'package:flutter/material.dart';
  2. import 'package:flutter_riverpod/flutter_riverpod.dart';
  3. import 'package:go_router/go_router.dart';
  4. import 'package:sino_med_cloud/l10n/app_localizations.dart';
  5. import '../../main_tab_provider.dart';
  6. class MinePage extends ConsumerStatefulWidget {
  7. const MinePage({super.key});
  8. @override
  9. ConsumerState<MinePage> createState() => _MinePageState();
  10. }
  11. class _MinePageState extends ConsumerState<MinePage>
  12. with SingleTickerProviderStateMixin {
  13. @override
  14. Widget build(BuildContext context) {
  15. final l10n = AppLocalizations.of(context)!;
  16. return Center(
  17. child: // 退出登录按钮
  18. ElevatedButton(
  19. onPressed: _handleLogout,
  20. style: ElevatedButton.styleFrom(
  21. padding: EdgeInsets.symmetric(vertical: 16),
  22. ),
  23. child: Text(l10n.logout),
  24. ),
  25. );
  26. }
  27. // 退出登录
  28. void _handleLogout() {
  29. ref.read(currentTabIndexProvider.notifier).state = 0;
  30. Future.microtask(() {
  31. if (mounted) {
  32. context.replace('/');
  33. }
  34. });
  35. }
  36. }