login ui
This commit is contained in:
85
lib/screen/login_screen/login_box.dart
Normal file
85
lib/screen/login_screen/login_box.dart
Normal file
@@ -0,0 +1,85 @@
|
||||
import 'dart:async';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_hooks/flutter_hooks.dart';
|
||||
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
import 'package:westone_kurirapp/app/constant.dart';
|
||||
import 'package:loading_animation_widget/loading_animation_widget.dart';
|
||||
import 'package:westone_kurirapp/widget/custom_button.dart';
|
||||
|
||||
class LoginBox extends HookConsumerWidget {
|
||||
const LoginBox({super.key});
|
||||
@override
|
||||
Widget build(BuildContext context, WidgetRef ref) {
|
||||
final loading = useState(false);
|
||||
final obsecure = useState(true);
|
||||
final usernameController = useTextEditingController(text: "");
|
||||
final passwordController = useTextEditingController(text: "");
|
||||
return Container(
|
||||
padding: EdgeInsets.fromLTRB(
|
||||
Constant.getActualX(context: context, x: 36),
|
||||
Constant.getActualY(context: context, y: 50),
|
||||
Constant.getActualX(context: context, x: 36),
|
||||
Constant.getActualY(context: context, y: 10)),
|
||||
child: ListView(
|
||||
children: [
|
||||
Text(
|
||||
"Selamat Datang!",
|
||||
style: Constant.h2(context: context)
|
||||
.copyWith(fontWeight: FontWeight.bold),
|
||||
textAlign: TextAlign.center,
|
||||
),
|
||||
Text(
|
||||
"Silahkan login untuk mulai bertugas",
|
||||
style: Constant.subtitle2(context: context)
|
||||
.copyWith(fontWeight: FontWeight.w400),
|
||||
textAlign: TextAlign.center,
|
||||
),
|
||||
SizedBox(
|
||||
height: Constant.getActualY(context: context, y: 44),
|
||||
),
|
||||
TextField(
|
||||
controller: usernameController,
|
||||
decoration: InputDecoration(
|
||||
label: Text(
|
||||
"Username",
|
||||
style: Constant.subtitle2(context: context),
|
||||
),
|
||||
filled: true,
|
||||
fillColor: Colors.white,
|
||||
border: InputBorder.none),
|
||||
),
|
||||
SizedBox(
|
||||
height: Constant.getActualY(context: context, y: 20),
|
||||
),
|
||||
TextField(
|
||||
controller: passwordController,
|
||||
obscureText: obsecure.value,
|
||||
decoration: InputDecoration(
|
||||
label: Text("Password",
|
||||
style: Constant.subtitle2(context: context)),
|
||||
filled: true,
|
||||
fillColor: Colors.white,
|
||||
border: InputBorder.none),
|
||||
),
|
||||
SizedBox(
|
||||
height: Constant.getActualY(context: context, y: 30),
|
||||
),
|
||||
CustomButton(
|
||||
text: "LOGIN",
|
||||
type: ButtonType.primary,
|
||||
onPressed: () {
|
||||
// print("aldksld");
|
||||
loading.value = true;
|
||||
Timer(Duration(seconds: 3), () {
|
||||
loading.value = false;
|
||||
});
|
||||
},
|
||||
loading: loading.value,
|
||||
)
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user