import 'package:flutter/material.dart'; import 'package:instruction_app/screens/home_page.dart'; class AuthorizationPage extends StatefulWidget { const AuthorizationPage({super.key}); @override State createState() => _AuthorizationPage(); } class _AuthorizationPage extends State { final TextEditingController _loginController = new TextEditingController(); final TextEditingController _passwordController = new TextEditingController(); final borederRadius = BorderRadius.all(Radius.circular(10)); bool passwordVisible = false; void _login(){ final String login = _loginController.text; final String password = _passwordController.text; if (login == 'admin' && password == '123456') { Navigator.of(context).push(MaterialPageRoute( builder: (ctx) => HomePage()) ); } } @override void dispose() { super.dispose(); _loginController.dispose(); _passwordController.dispose(); } @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: [ _buildFormWidget(context), SizedBox(height: 25,), TextButton( style: ButtonStyle( backgroundColor: WidgetStateProperty.all(Colors.blue), foregroundColor: WidgetStateProperty.all(Colors.white), ), onPressed: () => _login(), child: Text("Войти") ) ], ) ) ); } Widget _buildFormWidget(BuildContext context) { return Column( children: [ TextField( controller: _loginController, decoration: InputDecoration( prefixIcon: Icon(Icons.account_circle), border: OutlineInputBorder( borderRadius: borederRadius ), labelText: 'Логин' ) ), SizedBox(height: 25,), TextField( controller: _passwordController, 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; }); } ) ) ), ], ); } }