Skip to content

Commit

Permalink
feat: login & sign up pages
Browse files Browse the repository at this point in the history
  • Loading branch information
itsezlife committed May 22, 2024
1 parent 0a54aac commit cf7a6c5
Show file tree
Hide file tree
Showing 66 changed files with 978 additions and 1,093 deletions.
8 changes: 3 additions & 5 deletions lib/src/app/view/app.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,11 @@ import 'package:flutter_bloc/flutter_bloc.dart'
show BlocProvider, MultiBlocProvider;
import 'package:papa_burger/src/app/app.dart';
import 'package:papa_burger/src/services/repositories/user/user.dart';
import 'package:papa_burger/src/views/pages/login/components/show_password_controller/show_password_cubit.dart';
import 'package:papa_burger/src/views/pages/login/state/login_cubit.dart';
import 'package:papa_burger/src/views/pages/login/cubit/login_cubit.dart';
import 'package:papa_burger/src/views/pages/main/components/drawer/views/orders/state/orders_bloc.dart';
import 'package:papa_burger/src/views/pages/main/state/bloc/main_test_bloc.dart';
import 'package:papa_burger/src/views/pages/notification/state/notification_bloc.dart';
import 'package:papa_burger/src/views/pages/register/state/register_cubit.dart';
import 'package:papa_burger/src/views/pages/sign_up/cubit/sign_up_cubit.dart';

class App extends StatelessWidget {
const App({required this.userRepository, super.key});
Expand All @@ -22,9 +21,8 @@ class App extends StatelessWidget {
BlocProvider(
create: (context) => MainTestBloc()..add(const MainTestStarted()),
),
BlocProvider(create: (context) => ShowPasswordCubit()),
BlocProvider(
create: (context) => RegisterCubit(userRepository: userRepository),
create: (context) => SignUpCubit(userRepository: userRepository),
),
BlocProvider(
create: (context) =>
Expand Down
16 changes: 11 additions & 5 deletions lib/src/app/view/app_view.dart
Original file line number Diff line number Diff line change
@@ -1,19 +1,25 @@
import 'package:app_ui/app_ui.dart';
import 'package:flutter/material.dart';
import 'package:papa_burger/src/config/config.dart';
import 'package:shadcn_ui/shadcn_ui.dart';

Check warning on line 3 in lib/src/app/view/app_view.dart

View workflow job for this annotation

GitHub Actions / test

Unknown word (shadcn)

Check warning on line 3 in lib/src/app/view/app_view.dart

View workflow job for this annotation

GitHub Actions / test

Unknown word (shadcn)

class AppView extends StatelessWidget {
const AppView({super.key});

@override
Widget build(BuildContext context) {
return MaterialApp(
return ShadApp.material(
title: 'Papa Burger',
debugShowCheckedModeBanner: false,
themeMode: ThemeMode.light,
theme: const AppTheme().theme,
darkTheme: const AppDarkTheme().theme,
routes: Routes.routes,
theme: ShadThemeData(
brightness: Brightness.light,
colorScheme: const ShadBlueColorScheme.light(),
),
darkTheme: ShadThemeData(
brightness: Brightness.dark,
colorScheme: const ShadBlueColorScheme.dark(),
),
routes: AppRoutes.routes,
);
}
}
2 changes: 1 addition & 1 deletion lib/src/config/config.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@ export 'animations/fade_animation.dart';
export 'dotenv.dart';
export 'extensions/extensions.dart';
export 'logger.dart';
export 'routes/routes.dart';
export 'routes/app_routes.dart';
export 'utils/utils.dart';
54 changes: 24 additions & 30 deletions lib/src/config/extensions/navigator_extension.dart
Original file line number Diff line number Diff line change
Expand Up @@ -19,21 +19,21 @@ Route<dynamic> _defaultRoute({
);

extension NavigatorExtension on BuildContext {
void navigateToMainPage() {
void goToHome() {
Navigator.pushNamedAndRemoveUntil(
this,
AppRoutes.mainRoute,
AppRoutes.main.route,
(route) => false,
);
}

void navigateToMenu(
void goToMenu(
BuildContext context,
Restaurant restaurant, {
bool fromCart = false,
}) {
if (restaurant == const Restaurant.empty()) {
context.navigateToMainPage();
context.goToHome();
} else {
Navigator.pushAndRemoveUntil(
this,
Expand All @@ -57,30 +57,28 @@ extension NavigatorExtension on BuildContext {
}
}

void navigateToCart({Object? arguments}) => Navigator.pushNamedAndRemoveUntil(
void goToCart({Object? arguments}) => Navigator.pushNamedAndRemoveUntil(
this,
AppRoutes.cartRoute,
AppRoutes.cart.route,
(route) => true,
arguments: arguments,
);

void navigateToLogin({Object? arguments}) =>
Navigator.pushNamedAndRemoveUntil(
void goToLogin({Object? arguments}) => Navigator.pushNamedAndRemoveUntil(
this,
AppRoutes.loginRoute,
AppRoutes.login.route,
(route) => false,
arguments: arguments,
);

void navigateToRegister({Object? arguments}) =>
Navigator.pushNamedAndRemoveUntil(
void goToSignUp({Object? arguments}) => Navigator.pushNamedAndRemoveUntil(
this,
AppRoutes.registerRoute,
AppRoutes.signUp.route,
(route) => true,
arguments: arguments,
);

void navigateToGoogleMapView([PlaceDetails? placeDetails]) =>
void goToGoogleMap([PlaceDetails? placeDetails]) =>
Navigator.pushAndRemoveUntil(
this,
_defaultRoute(
Expand All @@ -91,8 +89,7 @@ extension NavigatorExtension on BuildContext {
(route) => true,
);

void navigateToGoogleMapViewAfterRegisterOrLogin() =>
Navigator.pushReplacement(
void goToGoogleMapReplacement() => Navigator.pushReplacement(
this,
_defaultRoute(
child: const GoogleMapView(
Expand All @@ -101,47 +98,44 @@ extension NavigatorExtension on BuildContext {
),
);

void navigateToSearchView({Object? arguments}) =>
Navigator.pushNamedAndRemoveUntil(
void goToSearch({Object? arguments}) => Navigator.pushNamedAndRemoveUntil(
this,
AppRoutes.searchRoute,
AppRoutes.search.route,
(route) => true,
arguments: arguments,
);

void navigateToSearchLocationWithAutoComplete({Object? arguments}) =>
void goToSearchLocation({Object? arguments}) =>
Navigator.pushNamedAndRemoveUntil(
this,
AppRoutes.searchLocationRoute,
AppRoutes.searchLocation.route,
(route) => true,
arguments: arguments,
);

void navigateToProfile({Object? arguments}) =>
Navigator.pushNamedAndRemoveUntil(
void goToProfile({Object? arguments}) => Navigator.pushNamedAndRemoveUntil(
this,
AppRoutes.profileRoute,
AppRoutes.profile.route,
(route) => true,
arguments: arguments,
);

void navigateToOrdersView({Object? arguments}) =>
Navigator.pushNamedAndRemoveUntil(
void goToOrders({Object? arguments}) => Navigator.pushNamedAndRemoveUntil(
this,
AppRoutes.ordersRoute,
AppRoutes.orders.route,
(route) => true,
arguments: arguments,
);

void navigateToNotificationsView({Object? arguments}) =>
void goToNotifications({Object? arguments}) =>
Navigator.pushNamedAndRemoveUntil(
this,
AppRoutes.notificationsRoute,
AppRoutes.notifications.route,
(route) => true,
arguments: arguments,
);

void navigateToOrderDetailsView(
void goToOrderDetails(
OrderId orderId, {
GlobalKey<ScaffoldMessengerState>? scaffoldMessengerKey,
}) =>
Expand All @@ -156,7 +150,7 @@ extension NavigatorExtension on BuildContext {
(route) => true,
);

void navigateToFilteredRestaurants(
void goToFilteredRestaurants(
List<Restaurant> filteredRestaurants,
) =>
Navigator.pushAndRemoveUntil(
Expand Down
87 changes: 87 additions & 0 deletions lib/src/config/routes/app_routes.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
import 'package:flutter/material.dart';
import 'package:papa_burger/src/services/storage/storage.dart';
import 'package:papa_burger/src/views/pages/cart/cart_view.dart';
import 'package:papa_burger/src/views/pages/login/login.dart';
import 'package:papa_burger/src/views/pages/main/components/drawer/views/notifications/notifications_view.dart';
import 'package:papa_burger/src/views/pages/main/components/drawer/views/orders/orders_view.dart';
import 'package:papa_burger/src/views/pages/main/components/drawer/views/profile/profile_view.dart';
import 'package:papa_burger/src/views/pages/main/components/location/google_map_view.dart';
import 'package:papa_burger/src/views/pages/main/components/location/search_location_with_autocomplete.dart';
import 'package:papa_burger/src/views/pages/main/components/search/search_view.dart';
import 'package:papa_burger/src/views/pages/main/main_page.dart';
import 'package:papa_burger/src/views/pages/restaurants/restaurants_view.dart';
import 'package:papa_burger/src/views/pages/sign_up/view/sign_up_view.dart';

enum AppRoutes {
home,
main,
login,
signUp,
cart,
profile,
orders,
notifications,
restaurants,
searchLocation,
search;

String get route => switch (this) {
home => '/',
main => '/main',
login => '/login',
signUp => '/sign_up',
cart => '/cart',
profile => '/profile',
orders => '/orders',
notifications => '/notificiations',

Check warning on line 36 in lib/src/config/routes/app_routes.dart

View workflow job for this annotation

GitHub Actions / test

Unknown word (notificiations)
restaurants => '/restaurants',
searchLocation => '/search_location',
search => '/search',
};

Widget get page => switch (this) {
home => const HomeView(),
main => const MainView(),
login => const LoginView(),
signUp => const SignUpView(),
cart => const CartView(),
profile => const ProfileView(),
orders => const OrdersView(),
notifications => const NotificationsView(),
restaurants => const RestaurantsView(),
searchLocation => const SearchLocationView(),
search => const SearchView(),
};

static Map<String, Widget Function(BuildContext context)> get routes => {
home.route: (_) => home.page,
main.route: (_) => main.page,
login.route: (_) => login.page,
signUp.route: (_) => signUp.page,
cart.route: (_) => cart.page,
profile.route: (_) => profile.page,
restaurants.route: (_) => restaurants.page,
searchLocation.route: (_) => searchLocation.page,
search.route: (_) => search.page,
orders.route: (_) => orders.page,
notifications.route: (_) => notifications.page,
};
}

class HomeView extends StatelessWidget {
const HomeView({super.key});

@override
Widget build(BuildContext context) {
final user = LocalStorage().getUser;
final hasAddress = LocalStorage().hasAddress;
if (user == null) {
return const LoginView();
}
if (!hasAddress) {
return const GoogleMapView();
} else {
return const MainView();
}
}
}
20 changes: 0 additions & 20 deletions lib/src/config/routes/routes.dart

This file was deleted.

4 changes: 2 additions & 2 deletions lib/src/config/utils/app_constants.dart
Original file line number Diff line number Diff line change
Expand Up @@ -98,11 +98,11 @@ void Function()? getFunction(BuildContext context, String name) {
switch (name) {
case 'Profile':
return () {
context.navigateToProfile();
context.goToProfile();
};
case 'Orders':
return () {
context.navigateToOrdersView();
context.goToOrders();
};
case 'Notifications':
return () {
Expand Down
59 changes: 0 additions & 59 deletions lib/src/config/utils/app_routes.dart

This file was deleted.

1 change: 0 additions & 1 deletion lib/src/config/utils/utils.dart
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
export 'app_constants.dart';
export 'app_page_storage_key.dart';
export 'app_routes.dart';
export 'app_strings.dart';
Loading

0 comments on commit cf7a6c5

Please sign in to comment.