first commit
This commit is contained in:
64
lib/ui/views/login_screen/login_screen_view_model.dart
Normal file
64
lib/ui/views/login_screen/login_screen_view_model.dart
Normal file
@ -0,0 +1,64 @@
|
||||
import 'package:dio/dio.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import '../../../app/app.router.dart';
|
||||
import '../../../app/app.logger.dart';
|
||||
import '../../../app/core/custom_base_view_model.dart';
|
||||
import '../../../model/caleg_model.dart';
|
||||
import '../../../model/my_response.model.dart';
|
||||
|
||||
class LoginScreenViewModel extends CustomBaseViewModel {
|
||||
final log = getLogger('LoginScreenViewModel');
|
||||
|
||||
// variable
|
||||
final formKey = GlobalKey<FormState>();
|
||||
TextEditingController usernameController = TextEditingController();
|
||||
TextEditingController passwordController = TextEditingController();
|
||||
bool isPasswordVisible = false;
|
||||
|
||||
Future<void> init() async {
|
||||
globalVar.backPressed = 'backNormal';
|
||||
}
|
||||
|
||||
login() async {
|
||||
easyLoading.customLoading('Login..');
|
||||
globalVar.backPressed = 'cantBack';
|
||||
|
||||
try {
|
||||
var formData = FormData.fromMap({
|
||||
'username': usernameController.text,
|
||||
'password': passwordController.text,
|
||||
});
|
||||
var response =
|
||||
await httpService.postWithFormData('login/caleg', formData);
|
||||
|
||||
MyResponseModel myResponseModel = MyResponseModel.fromJson(response.data);
|
||||
var data = myResponseModel.data;
|
||||
CalegModel calegModel = CalegModel.fromJson(data);
|
||||
// log.i('calegModel: ${calegModel.toJson()}');
|
||||
await mySharedPrefs.setString('id', calegModel.idCaleg!.toString());
|
||||
await mySharedPrefs.setString('nama', calegModel.namaCaleg!);
|
||||
await mySharedPrefs.setString(
|
||||
'nomorUrut', calegModel.nomorUrutCaleg!.toString());
|
||||
await mySharedPrefs.setString('foto', calegModel.foto!);
|
||||
await mySharedPrefs.setString('level', 'caleg');
|
||||
await mySharedPrefs.setString('password', passwordController.text);
|
||||
|
||||
snackbarService.showSnackbar(
|
||||
message:
|
||||
'Selamat datang kembali Calon Legislatif ${calegModel.namaCaleg}',
|
||||
title: 'Login Berhasil',
|
||||
duration: const Duration(milliseconds: 2500),
|
||||
);
|
||||
navigationService.navigateToCalegIndexTrackingView();
|
||||
} catch (e) {
|
||||
log.e('error: $e');
|
||||
} finally {
|
||||
easyLoading.dismissLoading();
|
||||
globalVar.backPressed = 'backNormal';
|
||||
}
|
||||
|
||||
// navigationService.pushNamedAndRemoveUntil('/home-screen');
|
||||
// await navigationService.navigateToAdminIndexTrackingView();
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user