mirror of
https://gitlab.com/mysocialportal/relatica
synced 2024-10-19 18:43:32 +00:00
51 lines
1.6 KiB
Dart
51 lines
1.6 KiB
Dart
import 'package:flutter/material.dart';
|
|
import 'package:provider/provider.dart';
|
|
|
|
import '../controls/padding.dart';
|
|
import '../controls/standard_appbar.dart';
|
|
import '../services/auth_service.dart';
|
|
import '../services/setting_service.dart';
|
|
|
|
class ProfileScreen extends StatefulWidget {
|
|
const ProfileScreen({super.key});
|
|
|
|
@override
|
|
State<ProfileScreen> createState() => _ProfileScreenState();
|
|
}
|
|
|
|
class _ProfileScreenState extends State<ProfileScreen> {
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
final settings = context.watch<SettingsService>();
|
|
final authService = context.watch<AuthService>();
|
|
return Scaffold(
|
|
appBar: StandardAppBar.build(context, 'Profile'),
|
|
body: Center(
|
|
child: Column(
|
|
mainAxisAlignment: MainAxisAlignment.center,
|
|
children: [
|
|
Row(
|
|
mainAxisAlignment: MainAxisAlignment.center,
|
|
children: [
|
|
Checkbox(
|
|
value: settings.lowBandwidthMode,
|
|
onChanged: (value) =>
|
|
settings.lowBandwidthMode = value ?? false,
|
|
),
|
|
const Text('Low Bandwidth Mode'),
|
|
],
|
|
),
|
|
Text(
|
|
'Profile: ${authService.currentClient.fold(onSuccess: (client) => client.credentials.handle, onError: (error) => 'Error Getting Profile')}'),
|
|
const VerticalPadding(),
|
|
ElevatedButton(
|
|
onPressed: () async {
|
|
await authService.signOut();
|
|
},
|
|
child: const Text('Sign Out')),
|
|
],
|
|
),
|
|
),
|
|
);
|
|
}
|
|
}
|