feat:login page done

This commit is contained in:
jahongireshonqulov
2025-10-28 19:41:05 +05:00
parent 4c652c2b47
commit cdec9980af
16 changed files with 324 additions and 67 deletions

View File

@@ -13,6 +13,8 @@ import 'package:dio/dio.dart' as _i361;
import 'package:get_it/get_it.dart' as _i174;
import 'package:injectable/injectable.dart' as _i526;
import '../../feature/auth/presentation/blocs/login_bloc/login_bloc.dart'
as _i1065;
import '../../feature/basket/presentation/blocs/basket_bloc.dart' as _i728;
import '../../feature/browse/presentation/blocs/browse_bloc/browse_bloc.dart'
as _i991;
@@ -40,6 +42,7 @@ extension GetItInjectableX on _i174.GetIt {
final dioModule = _$DioModule();
gh.factory<_i1007.HomeBloc>(() => _i1007.HomeBloc());
gh.factory<_i728.BasketBloc>(() => _i728.BasketBloc());
gh.factory<_i1065.LoginBloc>(() => _i1065.LoginBloc());
gh.factory<_i991.BrowseBloc>(() => _i991.BrowseBloc());
gh.factory<_i580.MainBloc>(() => _i580.MainBloc());
gh.factory<_i311.SplashBloc>(() => _i311.SplashBloc());

View File

@@ -0,0 +1,31 @@
import 'package:mask_text_input_formatter/mask_text_input_formatter.dart';
abstract class Formatters {
static final phoneFormatter = MaskTextInputFormatter(
mask: '## ### ## ##',
filter: {"#": RegExp(r'[0-9]')},
type: MaskAutoCompletionType.lazy,
);
static final cardFormatter = MaskTextInputFormatter(
mask: '#### #### #### ####',
filter: {"#": RegExp(r'[0-9]')},
type: MaskAutoCompletionType.lazy,
);
static final cardNumberFormatter = MaskTextInputFormatter(
mask: '#### #### #### ####',
filter: {"#": RegExp(r'[0-9]')},
type: MaskAutoCompletionType.lazy,
);
static final cardExpirationDateFormatter = MaskTextInputFormatter(
mask: '##/##',
filter: {"#": RegExp(r'[0-9]')},
type: MaskAutoCompletionType.lazy,
);
static final moneyFormatter = MaskTextInputFormatter(
mask: '########',
filter: {"#": RegExp(r'[0-9]')},
type: MaskAutoCompletionType.lazy,
);
}

View File

@@ -1,4 +1,5 @@
import 'package:flutter/cupertino.dart';
import 'package:food_delivery_client/feature/auth/presentation/pages/login_page/login_page.dart';
import 'package:food_delivery_client/feature/home/presentation/pages/restaurants_by_category_page/restaurants_by_category_page.dart';
import '../../food_delivery_client.dart';
@@ -12,6 +13,11 @@ class AppRoutes {
initialLocation: Routes.splash,
routes: [
GoRoute(path: Routes.splash, builder: (context, state) => SplashPage()),
GoRoute(
path: Routes.login,
pageBuilder: (context, state) => CupertinoPage(child: LoginPage()),
),
GoRoute(
path: Routes.main,
pageBuilder: (context, state) => CupertinoPage(child: MainPage()),

View File

@@ -1,4 +1,3 @@
import 'dart:developer';
import 'package:dartz/dartz.dart';
import 'package:dio/dio.dart';

View File

@@ -24,5 +24,6 @@ abstract class AppColors {
static const Color c05A357 = Color(0xFF05A357);
static const Color cE8E8E8 = Color(0xFFE8E8E8);
static const Color c660000 = Color(0x66000000);
static const Color c6A6E7F = Color(0xFF6A6E7F);
}

View File

@@ -3,6 +3,18 @@ import '../../food_delivery_client.dart';
abstract class AppTheme {
static ThemeData get lightTheme => ThemeData.light().copyWith(
brightness: Brightness.light,
// colorScheme: ColorScheme(
// brightness: Brightness.light,
// primary: AppColors.cFFFFFF,
// onPrimary:AppColors.cFFFFFF,
// secondary: AppColors.cFFFFFF,
// onSecondary: AppColors.cFFFFFF,
// error:AppColors.cRed,
// onError: AppColors.cRed,
// surface: AppColors.cFFFFFF,
// onSurface: AppColors.cFFFFFF,
// ),
appBarTheme: AppBarTheme(
elevation: 0,
backgroundColor: AppColors.cFFFFFF,
@@ -10,14 +22,28 @@ abstract class AppTheme {
surfaceTintColor: AppColors.cTransparent,
),
scaffoldBackgroundColor: AppColors.cFFFFFF,
progressIndicatorTheme: ProgressIndicatorThemeData(
color: AppColors.cFFFFFF,
circularTrackColor: AppColors.cFFFFFF,
linearTrackColor: AppColors.cFFFFFF,
borderRadius: BorderRadiusGeometry.circular(30),
),
pageTransitionsTheme: PageTransitionsTheme(
builders: {
TargetPlatform.android: CupertinoPageTransitionsBuilder(),
TargetPlatform.iOS: CupertinoPageTransitionsBuilder(),
},
),
bottomNavigationBarTheme: BottomNavigationBarThemeData(
elevation:0,
elevation: 0,
showSelectedLabels: true,
showUnselectedLabels: true,
backgroundColor: AppColors.cFFFFFF,
type: BottomNavigationBarType.fixed,
unselectedItemColor: AppColors.cB5B5B5,
selectedItemColor:AppColors.c000000,
selectedItemColor: AppColors.c000000,
selectedLabelStyle: AppTextStyles.size10Regular.copyWith(
color: Colors.red,
),