80 lines
2.5 KiB
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),
|
|
],
|
|
),
|
|
),
|
|
],
|
|
),
|
|
),
|
|
);
|
|
}
|
|
}
|