instruction_app/lib/screens/auth/login_page.dart

88 lines
2.4 KiB
Dart

import 'package:flutter/material.dart';
class AuthorizationPage extends StatefulWidget {
const AuthorizationPage({super.key});
@override
State<AuthorizationPage> createState() => _AuthorizationPage();
}
class _AuthorizationPage extends State<AuthorizationPage> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Авторизация"),
),
body: Padding(
padding: EdgeInsets.all(80),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
FormWidget(),
SizedBox(height: 25,),
TextButton(
style: ButtonStyle(
backgroundColor: WidgetStateProperty.all(Colors.blue),
foregroundColor: WidgetStateProperty.all(Colors.white),
),
onPressed: () {},
child: Text("Войти")
)
],
)
)
);
}
}
class FormWidget extends StatefulWidget {
const FormWidget({super.key});
@override
State<FormWidget> createState() => _FormWidget();
}
class _FormWidget extends State<FormWidget> {
final borederRadius = BorderRadius.all(Radius.circular(10));
bool passwordVisible = false;
@override
Widget build(BuildContext context) {
return Column(
children: [
TextField(
decoration: InputDecoration(
prefixIcon: Icon(Icons.account_circle),
border: OutlineInputBorder(
borderRadius: borederRadius
),
labelText: 'Логин'
)
),
SizedBox(height: 25,),
TextField(
obscureText: !passwordVisible,
decoration: InputDecoration(
prefixIcon: Icon(Icons.lock),
border: OutlineInputBorder(
borderRadius: borederRadius
),
labelText: 'Пароль',
suffixIcon: IconButton(
icon: Icon(
passwordVisible ? Icons.visibility : Icons.visibility_off
),
onPressed: () {
setState(() {
passwordVisible = !passwordVisible;
});
}
)
)
),
],
);
}
}