import 'package:flutter/material.dart';

void main() => runApp(MyApp());

// ToDo: remove when done: currently only for testing purposes

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      title: 'Noise!',
      home: LoginPage(),
    );
  }
}

class LoginPage extends StatefulWidget {
  @override
  _LoginPageState createState() => _LoginPageState();
}

class _LoginPageState extends State<LoginPage> {
  bool _isPasswordObscure = true;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(title: const Text('Welcome')),
        // https://www.kindacode.com/article/flutter-show-hide-password-in-textfield-textformfield/
        // https://www.kindacode.com/article/flutter-filteringtextinputformatter/
        body: Padding(
          padding: const EdgeInsets.all(10),
          child: Center(
            child: TextField(
                obscureText: _isPasswordObscure,
                decoration: InputDecoration(
                    hintText: 'Password',
                    border: OutlineInputBorder(
                      borderRadius: BorderRadius.circular(10)
                    ),
                    suffixIcon: IconButton(
                      icon: Icon(_isPasswordObscure
                          ? Icons.visibility
                          : Icons.visibility_off),
                      onPressed: () {
                        setState(() {
                          _isPasswordObscure = !_isPasswordObscure;
                        });
                      },
                    ))),
          ),
        ));
  }
}