Commit 1c3c05b4 authored by Dio Maulana's avatar Dio Maulana

penambahan pin

parent 20af4a88
......@@ -4,6 +4,7 @@ import 'dart:async';
import 'package:excelso_attendance/api/api.dart';
import 'package:excelso_attendance/helper/arguments/route_args.dart';
import 'package:excelso_attendance/helper/component/button.dart';
import 'package:excelso_attendance/helper/component/password_input.dart';
import 'package:excelso_attendance/helper/component/text_field.dart';
// import 'package:excelso_attendance/helper/component/text_field.dart';
import 'package:excelso_attendance/helper/global_function/date_time.dart';
......@@ -62,6 +63,7 @@ class BodyWidget extends StatefulWidget {
class _BodyWidgetState extends State<BodyWidget> {
final TextEditingController nikController = TextEditingController();
final TextEditingController pinController = TextEditingController();
int selectedOutlet = 0;
// String nikUser =
......@@ -205,7 +207,25 @@ class _BodyWidgetState extends State<BodyWidget> {
labelText: "NIK",
borderSideActive: true,
hintText: "NIK",
)
inputType: TextInputType.number,
),
const SizedBox(
height: 20,
),
// InputTextField(
// controller: pinController,
// labelText: "PIN",
// borderSideActive: true,
// hintText: "PIN",
// inputType: TextInputType.number,
// ),
PasswordInput(
passwordController: pinController,
labelText: "NIK",
borderSideActive: true,
textInputType: TextInputType.number,
),
// Autocomplete(
// optionsBuilder: (TextEditingValue textEditingValue) {
// if (textEditingValue.text.isEmpty) {
......@@ -357,6 +377,7 @@ class _BodyWidgetState extends State<BodyWidget> {
padding: EdgeInsets.symmetric(horizontal: AppPadding.p20),
margin: EdgeInsets.only(
top: AppMargin.m16,
bottom: AppMargin.m20,
),
child: Row(
children: [
......@@ -370,17 +391,19 @@ class _BodyWidgetState extends State<BodyWidget> {
);
} else {
showModalBottomSheet(
backgroundColor: ColorManager.backgroundColor,
isScrollControlled: true,
context: context,
builder: (c) {
return WidgetSelectShift(
shiftList: widget.shiftList,
branchModel:
widget.nearestBranch[selectedOutlet],
nik: nikController.text,
);
});
backgroundColor: ColorManager.backgroundColor,
isScrollControlled: true,
context: context,
builder: (c) {
return WidgetSelectShift(
shiftList: widget.shiftList,
branchModel:
widget.nearestBranch[selectedOutlet],
nik: nikController.text,
pin: pinController.text,
);
},
);
}
},
),
......@@ -392,9 +415,10 @@ class _BodyWidgetState extends State<BodyWidget> {
child: CustomButton(
text: "Keluar",
onTap: () async {
if (nikController.text.isEmpty) {
if (nikController.text.isEmpty ||
pinController.text.isEmpty) {
EasyLoading.showToast(
"Silakan isi NIK terlebih dahulu",
"NIK dan PIN harus diisi",
);
} else {
await EasyLoading.show(
......@@ -404,6 +428,7 @@ class _BodyWidgetState extends State<BodyWidget> {
Api.getUserProfile(
widget.nearestBranch[selectedOutlet].id,
nikController.text,
pinController.text,
).then((apiResponse) {
EasyLoading.dismiss();
if (apiResponse.error) {
......@@ -440,6 +465,7 @@ class _BodyWidgetState extends State<BodyWidget> {
contentBody: Strings.alreadyOut,
buttonText: "Ok",
tapButtonOk: () {
Navigator.pop(context);
Navigator.pushNamed(
context,
Routes.absentCamera,
......@@ -487,7 +513,7 @@ class _BodyWidgetState extends State<BodyWidget> {
),
],
),
)
),
],
),
),
......@@ -955,11 +981,13 @@ class WidgetSelectShift extends StatefulWidget {
required this.shiftList,
required this.branchModel,
required this.nik,
required this.pin,
}) : super(key: key);
final List<ShiftModel> shiftList;
final BranchModel branchModel;
final String nik;
final String pin;
@override
State<WidgetSelectShift> createState() => _WidgetSelectShiftState();
......@@ -1087,6 +1115,7 @@ class _WidgetSelectShiftState extends State<WidgetSelectShift> {
Api.getUserProfile(
widget.branchModel.id,
widget.nik,
widget.pin,
).then((apiResponse) {
EasyLoading.dismiss();
if (apiResponse.error) {
......@@ -1110,6 +1139,7 @@ class _WidgetSelectShiftState extends State<WidgetSelectShift> {
contentBody: Strings.alreadyIn,
buttonText: "Ok",
tapButtonOk: () {
Navigator.pop(context);
Navigator.popAndPushNamed(
context,
Routes.absentCamera,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment