// ignore_for_file: deprecated_member_use, use_build_context_synchronously import 'dart:async'; import 'package:animate_do/animate_do.dart'; import 'package:fikoyt_mesaici/core/fikoyt.service.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart' hide FormData; import 'package:vrouter/vrouter.dart'; import '../../../core/fiko_istek.dart'; import '../../../core/fikoyt.aktif_kullanici.dart'; import 'package:flutter_login/flutter_login.dart'; const users = { 'fikri007': '123', 'hunter@gmail.com': 'hunter', }; class LoginScreen extends StatelessWidget { const LoginScreen({super.key}); Duration get loginTime => const Duration(milliseconds: 2250); Future _authUser(LoginData data) async { // debugPrint('Name: ${data.name}, Password: ${data.password}'); Completer bekle = Completer.sync(); istek_yap(komut: "giris.giris-yap", parametreler: {"kullaniciAdi": data.name, "parola": data.password}).listen((sonuc) { if (sonuc.turu == IstekOlayTuru.Cevaplandi) { // if (kDebugMode) { print(sonuc.sonuc); // } FikoYTService.aktifKullanici.bilgiler = ActiveUserModel.fromJson(sonuc.sonuc).obs; bekle.complete(sonuc.sonuc); } }).onError((hata) { FikoYTService.aktifKullanici.bilgiler = null; bekle.completeError(hata); // if (kDebugMode) { print(hata); // } }); var sonuc = await bekle.future; if (sonuc["durum"]["hata"]) { return sonuc["durum"]["hatalar"].map((ht) => ht?["mesaj"]).toList().join("\n"); } return null; // return Future.delayed(loginTime).then((_) { // if (!users.containsKey(data.name)) { // return 'User not exists'; // } // if (users[data.name] != data.password) { // return 'Password does not match'; // } // return null; // }); } Future _signupUser(SignupData data) { debugPrint('Signup Name: ${data.name}, Password: ${data.password}'); return Future.delayed(loginTime).then((_) { return null; }); } Future _recoverPassword(String name) { debugPrint('Name: $name'); return Future.delayed(loginTime).then((_) { if (!users.containsKey(name)) { return 'User not exists'; } return null; }); } @override Widget build(BuildContext context) { return FlutterLogin( title: 'Mesaici v0.0.1', logo: const AssetImage('assets/core/icons/fikoyt.png'), theme: LoginTheme( pageColorLight: Colors.grey.shade50, pageColorDark: Colors.grey.shade400, // footerBackgroundColor: Colors.grey.shade400, providerButtonPadding: const EdgeInsets.all(3.0), titleStyle: TextStyle(fontSize: 13, color: Colors.blue.shade800), footerTextStyle: const TextStyle(fontSize: 10, color: Colors.black38), authButtonPadding: const EdgeInsets.all(0), ), onLogin: _authUser, onSignup: _signupUser, savedEmail: "fikri007", savedPassword: "123", onSubmitAnimationCompleted: () { context.vRouter.to("./mesaici"); // Navigator.of(context).pushReplacement(MaterialPageRoute( // builder: (context) => const DashboardScreen(), // )); }, onRecoverPassword: _recoverPassword, userValidator: (value) { return null; }, scrollable: true, messages: LoginMessages( userHint: "Kullanıcı Adı", passwordHint: "Parola", forgotPasswordButton: "Parolamı Unuttum?", loginButton: "Giriş Yap", providersTitleFirst: "Şunlarla Giriş Yap", goBackButton: "Geri", recoverPasswordButton: "Sıfırla", signupButton: "Aramıza Katıl", confirmPasswordHint: "Parola Tekrar", recoverPasswordIntro: "Üzülmeyin Size Yardımcı Olacağız", recoverPasswordDescription: "Parolanızı Sıfırlamak İçin Formu Doldurun ve 'Sıfırla'ya Basın", confirmPasswordError: "Parolalar Birbirinden Farklı", flushbarTitleError: "Hatalar Mevcut"), footer: "FikoYT İle Gelecek Bugünde", userType: LoginUserType.name, initialIsoCode: "TR", termsOfService: [TermOfService(id: "0", mandatory: true, text: "Sorumluluk Reddi", validationErrorMessage: "Onaylamanız Gerekmektedir.")], headerWidget: FadeIn( delay: const Duration(seconds: 1), child: const Text("FikoYT'un Muhteşem Dünyasında, Hayatınızı Kolaylaştıracak Bir Çok Araçlar Mevcuttur.Hemen Giriş Yapın"), ), additionalSignupFields: const [ // const UserFormField( // keyName: 'Username', icon: Icon(FontAwesomeIcons.userLarge)), // UserFormField( // keyName: 'Date Of Birth', // fieldValidator: (value) { // return null; // //perform date validation here // }, // ), UserFormField(keyName: 'Adınız', userType: LoginUserType.firstName), UserFormField(keyName: 'Soyadınız', userType: LoginUserType.lastName), UserFormField(keyName: 'E-Posta', userType: LoginUserType.email), UserFormField( keyName: 'Gender', ), ], // loginProviders: [ // LoginProvider( // icon: Icons.g_mobiledata, // label: 'Google', // callback: () async { // debugPrint('start google sign in'); // await Future.delayed(loginTime); // debugPrint('stop google sign in'); // return null; // }, // ), // LoginProvider( // icon: Icons.face, // label: 'Facebook', // callback: () async { // debugPrint('start facebook sign in'); // await Future.delayed(loginTime); // debugPrint('stop facebook sign in'); // return null; // }, // ), // LoginProvider( // icon: Icons.access_time_rounded, // callback: () async { // debugPrint('start linkdin sign in'); // await Future.delayed(loginTime); // debugPrint('stop linkdin sign in'); // return null; // }, // ), // LoginProvider( // icon: Icons.yard_outlined, // callback: () async { // debugPrint('start github sign in'); // await Future.delayed(loginTime); // debugPrint('stop github sign in'); // return null; // }, // ), // ], ); } }