This commit is contained in:
toly
2023-12-10 15:25:12 +08:00
parent 2ceed8b9b5
commit 7b16b52761
86 changed files with 3635 additions and 930 deletions

View File

@@ -0,0 +1,32 @@
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:iroute/v12/app/authentication/auth_scope.dart';
class LogoutButton extends StatelessWidget {
final VoidCallback onLogout;
const LogoutButton({super.key, required this.onLogout});
@override
Widget build(BuildContext context) {
AuthResult authResult = AuthScope.of(context);
VoidCallback? action = onLogout;
Widget child = const Icon(Icons.logout,size: 20,);
switch (authResult.status) {
case AuthStatus.none:
case AuthStatus.success:
case AuthStatus.failed:
case AuthStatus.waitingLogin:
break;
case AuthStatus.waitingLoginOut:
action = null;
child = CupertinoActivityIndicator(radius: 10,);
}
return IconButton(
splashRadius: 20,
onPressed: action,
tooltip: '退出登录',
icon: child,
);
}
}