ocbo-esign-mobile/lib/pages/login_page.dart

80 lines
2.5 KiB
Dart

import 'package:flutter/material.dart';
import 'package:gap/gap.dart';
import 'package:ocbo_esign_validator/widgets/box_widget.dart';
import 'package:ocbo_esign_validator/widgets/button_widget.dart';
import 'package:ocbo_esign_validator/widgets/image_widget.dart';
import 'package:ocbo_esign_validator/widgets/input_widget.dart';
import 'package:ocbo_esign_validator/widgets/text_widget.dart';
class LoginPage extends StatefulWidget {
const LoginPage({super.key});
@override
State<LoginPage> createState() => _LoginPageState();
}
class _LoginPageState extends State<LoginPage> {
// final List _ =;
// ["Cluj-Napoca", "Bucuresti", "Timisoara", "Brasov", "Constanta"];
final _passwordController = TextEditingController();
final _approver = "ARCH. KHASHAYAR L. TOGHYANI";
void _login() {
// Add your login logic here
print("Login button clicked");
}
@override
void dispose() {
_passwordController.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return Scaffold(
resizeToAvoidBottomInset: false,
body: Container(
alignment: Alignment.center,
height: MediaQuery.of(context).size.height,
decoration: const BoxDecoration(
gradient: LinearGradient(
begin: Alignment.topCenter,
end: Alignment.bottomCenter,
colors: [
Color.fromRGBO(39, 26, 47, 1),
Color.fromRGBO(22, 33, 44, 1),
Color.fromRGBO(22, 33, 44, 1),
Color.fromRGBO(24, 45, 40, 1),
],
),
),
child: Column(
children: [
const Gap(88),
const ImageWidget(imagePath: 'assets/logo.png', size: 100, measureByHeight: true),
const Gap(50),
BoxWidget(
title: 'Login',
content: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
const TextWidget(text: 'Name', bold: true, size: 16),
const Gap(8),
TextWidget(text: _approver, bold: false, size: 16),
const Gap(8),
const TextWidget(text: 'Password', bold: true, size: 16),
const Gap(8),
InputWidget(controller: _passwordController, placeholder: 'placeholder'),
const Gap(16),
ButtonWidget(text: 'Login', onPressed: _login),
],
),
),
],
),
),
);
}
}