Compare commits
2 Commits
e478552587
...
5fbc8bee42
Author | SHA1 | Date | |
---|---|---|---|
5fbc8bee42 | |||
9c93ea1008 |
25
.vscode/launch.json
vendored
Normal file
25
.vscode/launch.json
vendored
Normal file
|
@ -0,0 +1,25 @@
|
|||
{
|
||||
"version": "0.2.0",
|
||||
"configurations": [
|
||||
{
|
||||
"name": "zenith",
|
||||
"request": "launch",
|
||||
"type": "dart",
|
||||
"cwd": "${workspaceFolder}",
|
||||
"program": "${workspaceFolder}/lib/main.dart",
|
||||
"flutterMode": "debug"
|
||||
},
|
||||
{
|
||||
"name": "zenith (profile mode)",
|
||||
"request": "launch",
|
||||
"type": "dart",
|
||||
"flutterMode": "profile"
|
||||
},
|
||||
{
|
||||
"name": "zenith (release mode)",
|
||||
"request": "launch",
|
||||
"type": "dart",
|
||||
"flutterMode": "release"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -32,6 +32,7 @@ class _LoginPageState extends State<LoginPage> {
|
|||
print("Error signing in $error");
|
||||
setState(() {
|
||||
failedMessage = error.toString();
|
||||
loggingIn = false;
|
||||
});
|
||||
|
||||
Future.delayed(const Duration(seconds: 10), () {
|
||||
|
@ -67,46 +68,45 @@ class _LoginPageState extends State<LoginPage> {
|
|||
Widget build(BuildContext context) {
|
||||
return Consumer<ZenithClientProvider>(
|
||||
builder: (context, provider, child) => Scaffold(
|
||||
appBar: AppBar(
|
||||
backgroundColor: Theme.of(context).colorScheme.inversePrimary,
|
||||
title: const Text("Login"),
|
||||
),
|
||||
body: Padding(
|
||||
padding: const EdgeInsets.all(16.0),
|
||||
child: Center(
|
||||
child: Column(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
TextFormField(
|
||||
controller: serverController,
|
||||
decoration: const InputDecoration(
|
||||
labelText: 'Server', hintText: 'https://matrix.org'),
|
||||
),
|
||||
TextFormField(
|
||||
controller: usernameController,
|
||||
decoration: const InputDecoration(
|
||||
labelText: 'Username', hintText: 'john'),
|
||||
),
|
||||
TextFormField(
|
||||
controller: passwordController,
|
||||
decoration: const InputDecoration(labelText: 'Password'),
|
||||
obscureText: true,
|
||||
onFieldSubmitted: (value) => connectMatrix(),
|
||||
),
|
||||
Text(failedMessage,
|
||||
style: Theme.of(context).textTheme.headlineSmall)
|
||||
],
|
||||
appBar: AppBar(
|
||||
backgroundColor: Theme.of(context).colorScheme.inversePrimary,
|
||||
title: const Text("Login"),
|
||||
),
|
||||
body: Padding(
|
||||
padding: const EdgeInsets.all(16.0),
|
||||
child: Center(
|
||||
child: Column(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
TextFormField(
|
||||
controller: serverController,
|
||||
decoration: const InputDecoration(
|
||||
labelText: 'Server', hintText: 'https://matrix.org'),
|
||||
),
|
||||
TextFormField(
|
||||
controller: usernameController,
|
||||
decoration: const InputDecoration(
|
||||
labelText: 'Username', hintText: 'john'),
|
||||
),
|
||||
TextFormField(
|
||||
controller: passwordController,
|
||||
decoration: const InputDecoration(labelText: 'Password'),
|
||||
obscureText: true,
|
||||
onFieldSubmitted: (value) => connectMatrix(),
|
||||
),
|
||||
Text(failedMessage,
|
||||
style: Theme.of(context).textTheme.headlineSmall)
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
floatingActionButton: loggingIn
|
||||
? const CircularProgressIndicator()
|
||||
: FloatingActionButton(
|
||||
onPressed: connectMatrix,
|
||||
tooltip: 'Log in',
|
||||
child: const Icon(Icons.login),
|
||||
),
|
||||
),
|
||||
floatingActionButton: FloatingActionButton(
|
||||
onPressed: loggingIn ? null : connectMatrix,
|
||||
tooltip: 'Log in',
|
||||
child: loggingIn
|
||||
? const CircularProgressIndicator()
|
||||
: const Icon(Icons.login),
|
||||
)),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user