GiteaClient/lib/widget/login_status.dart

62 lines
No EOL
1.8 KiB
Dart

import 'package:flutter/material.dart';
import '../model/ApiAccess.dart';
import '../model/user.dart';
import '../service/AuthenticationChecker.dart';
class StatefulLoginStatus extends StatefulWidget {
final ApiAccess apiAccess;
const StatefulLoginStatus({Key? key, required this.apiAccess}) : super(key: key);
@override
_StatefulLoginStatus createState() => _StatefulLoginStatus();
}
class _StatefulLoginStatus extends State<StatefulLoginStatus> {
Future<AuthenticatedUser>? userRequest;
@override
void initState() {
userRequest = AuthenticationChecker(widget.apiAccess).getAuthenticatedUserOrError();
super.initState();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text("Login status"),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
FutureBuilder<AuthenticatedUser>(
future: userRequest,
builder: (context, snapshot) {
if (snapshot.hasError){
return Center(
child: Text(
"Hiba történt: ${snapshot.error}"
),
);
} else if (snapshot.hasData){
var user = snapshot.data!;
final username = user.username;
return Text("Logged in as $username");
} else {
return Center(
child: CircularProgressIndicator(),
);
}
}
)
],
),
));
}
}