loris/lib/pages/settings/account.dart

51 lines
1.2 KiB
Dart
Raw Normal View History

2022-07-31 17:59:25 +00:00
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:localization/localization.dart';
import '../../business_logic/settings.dart' as settings;
class AccountSettings extends StatelessWidget {
const AccountSettings({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Row(
children: const [LogoutButton()],
);
}
}
class LogoutButton extends StatelessWidget {
const LogoutButton({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Row(
2022-08-06 10:13:00 +00:00
mainAxisAlignment: MainAxisAlignment.spaceBetween,
2022-07-31 17:59:25 +00:00
children: [
FutureBuilder<String>(
future: settings.loadInstanceUrl(),
builder: (context, snapshot) {
2022-08-01 08:29:43 +00:00
if (snapshot.hasData) {
return Text(snapshot.data ?? "no-instance".i18n());
2022-07-31 17:59:25 +00:00
} else {
return const CircularProgressIndicator();
}
},
),
TextButton.icon(
onPressed: () {
logout();
},
icon: const Icon(Icons.logout),
label: Text("logout".i18n()))
],
);
}
}
void logout() async {
await settings.saveAuthCode("");
exit(0);
}