rework ui

This commit is contained in:
verboomp
2026-01-29 07:08:44 +01:00
parent ca514eea67
commit 38979c99e5
19 changed files with 457 additions and 293 deletions

View File

@@ -101,60 +101,20 @@ class _LoginWidgetState extends State<LoginWidget> {
),
const SizedBox(height: 40),
if (_error != null) ...[
Center(
child: Text(
_error!,
style: TextStyle(
color: _generalStyle.errorColor,
fontWeight: FontWeight.bold,
fontSize: 16,
fontFamily: _generalStyle.fontFamily,
),
),
),
_errorWidget(),
const SizedBox(height: 40),
],
TextFormField(
key: Key("username"),
controller: _usernameController,
decoration: InputDecoration(
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(8),
borderSide: _error != null ? BorderSide(color: _generalStyle.errorColor) : BorderSide(),
),
enabledBorder: _error != null
? OutlineInputBorder(
borderRadius: BorderRadius.circular(8),
borderSide: BorderSide(color: _generalStyle.errorColor),
)
: null,
labelText: AppLocalizations.of(context)!.loginUsernameTFLabel.toUpperCase(),
labelStyle: TextStyle(color: _generalStyle.primaryTextLabelColor, fontFamily: _generalStyle.fontFamily),
floatingLabelBehavior: FloatingLabelBehavior.always,
contentPadding: const EdgeInsets.symmetric(horizontal: 16, vertical: 12),
),
decoration: _formFieldInputDecoration(AppLocalizations.of(context)!.loginUsernameTFLabel),
),
const SizedBox(height: 25),
TextFormField(
key: Key("password"),
controller: _passwordController,
obscureText: true,
decoration: InputDecoration(
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(8),
borderSide: _error != null ? BorderSide(color: _generalStyle.errorColor) : BorderSide(),
),
enabledBorder: _error != null
? OutlineInputBorder(
borderRadius: BorderRadius.circular(8),
borderSide: BorderSide(color: _generalStyle.errorColor),
)
: null,
labelText: AppLocalizations.of(context)!.loginPasswordTFLabel.toUpperCase(),
labelStyle: TextStyle(color: _generalStyle.primaryTextLabelColor, fontFamily: _generalStyle.fontFamily),
floatingLabelBehavior: FloatingLabelBehavior.always,
contentPadding: const EdgeInsets.symmetric(horizontal: 16, vertical: 12),
),
decoration: _formFieldInputDecoration(AppLocalizations.of(context)!.loginPasswordTFLabel),
),
const SizedBox(height: 25),
Center(
@@ -186,6 +146,46 @@ class _LoginWidgetState extends State<LoginWidget> {
);
}
Widget _errorWidget() {
return Center(
child: Text(
_error!,
style: TextStyle(
color: _generalStyle.errorColor,
fontWeight: FontWeight.bold,
fontSize: 16,
fontFamily: _generalStyle.fontFamily,
),
),
);
}
InputDecoration _formFieldInputDecoration(String text) {
var formLabelTextStyle = TextStyle(
color: _generalStyle.loginFormTextLabelColor,
fontFamily: _generalStyle.fontFamily,
fontSize: 14,
fontStyle: FontStyle.normal,
fontWeight: FontWeight.normal,
);
return InputDecoration(
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(8),
borderSide: _error != null ? BorderSide(color: _generalStyle.errorColor) : BorderSide(),
),
enabledBorder: _error != null
? OutlineInputBorder(
borderRadius: BorderRadius.circular(8),
borderSide: BorderSide(color: _generalStyle.errorColor),
)
: null,
labelText: text.toUpperCase(),
labelStyle: formLabelTextStyle,
floatingLabelBehavior: FloatingLabelBehavior.always,
contentPadding: const EdgeInsets.symmetric(horizontal: 16, vertical: 12),
);
}
Future<void> _actionSubmit(BuildContext context) async {
String username = _usernameController.text;
String password = _passwordController.text;