Merge remote-tracking branch 'upstream/main'

This commit is contained in:
Username1548
2024-11-25 16:10:45 +07:00
46 changed files with 2967 additions and 453 deletions

View File

@@ -23,6 +23,7 @@ import 'package:eatvio_app/features/notifications/presentation/pages/notificatio
import 'package:eatvio_app/features/plans/models/plan_pagination_model.dart';
import 'package:eatvio_app/features/plans/presentation/pages/about_plan_screen.dart';
import 'package:eatvio_app/features/profile/presentation/pages/profile_screen.dart';
import 'package:eatvio_app/features/profile/presentation/pages/subs_screen.dart';
import 'package:eatvio_app/features/recipes/presentation/pages/about_recipes_screen.dart';
import 'package:eatvio_app/features/recipes/presentation/pages/recipe_create_screen.dart';
import 'package:eatvio_app/features/recipes/presentation/pages/recipe_edit_screen.dart';
@@ -77,32 +78,32 @@ class AppRouter {
await context.read<InitializationCubit>().runInitialization();
return null;
},
builder: (context, state) => ProfileScreen(),
pageBuilder: (context, state) => NoTransitionPage(child: ProfileScreen()),
),
GoRoute(
path: '/feed-screen',
name: 'feedScreen',
builder: (context, state) => FeedScreen(),
pageBuilder: (context, state) => NoTransitionPage(child: FeedScreen()),
),
GoRoute(
path: '/diary-screen',
name: 'diaryScreen',
builder: (context, state) => DiaryScreen(),
pageBuilder: (context, state) => NoTransitionPage(child: DiaryScreen()),
),
GoRoute(
path: '/chat-select-screen',
name: 'chatSelectScreen',
builder: (context, state) => ChatSelectScreen(),
pageBuilder: (context, state) => NoTransitionPage(child: ChatSelectScreen()),
),
GoRoute(
path: '/notifications-screen',
name: 'notificationsScreen',
builder: (context, state) => NotificationsScreen(),
pageBuilder: (context, state) => NoTransitionPage(child: NotificationsScreen()),
),
GoRoute(
path: '/menu-screen',
name: 'menuScreen',
builder: (context, state) => MenuScreen(),
pageBuilder: (context, state) => NoTransitionPage(child: MenuScreen()),
),
],
),
@@ -139,16 +140,24 @@ class AppRouter {
author: state.extra as Author,
),
),
GoRoute(
path: '/subs-screen/:slug',
name: 'subsScreen',
builder: (context, state) => SubsScreen(
slug: state.pathParameters['slug']!,
subType: state.extra as SubType,
),
),
GoRoute(
path: '/about-diet-screen',
name: 'aboutDietScreen',
builder: (context, state) {
final data = state.extra as Map<String, dynamic>;
return AboutDietScreen(
diet: data['diet'] as Diet,
index: data['index'] as int,
navigateToComments: data['navigateToComments'] as bool,
);
diet: data['diet'] as Diet,
index: data['index'] as int,
navigateToComments: data['navigateToComments'] as bool,
);
},
),
GoRoute(

View File

@@ -38,6 +38,7 @@ import 'package:eatvio_app/features/plans/presentation/bloc/plans_cubit/plans_cu
import 'package:eatvio_app/features/plans/repositories/plans_repository.dart';
import 'package:eatvio_app/features/plans/services/plans_service.dart';
import 'package:eatvio_app/features/profile/presentation/bloc/profile_cubit/profile_cubit.dart';
import 'package:eatvio_app/features/profile/presentation/bloc/sub_cubit/sub_cubit.dart';
import 'package:eatvio_app/features/profile/repositories/profile_repository.dart';
import 'package:eatvio_app/features/profile/services/profile_service.dart';
import 'package:eatvio_app/features/recipes/presentation/bloc/recipe_create_cubit.dart';
@@ -77,6 +78,7 @@ Future<void> init() async {
sl.registerFactory<DiaryCubit>(() => DiaryCubit(diaryRepository: sl(), glossaryRepository: sl()));
sl.registerFactory<AboutDietCubit>(() => AboutDietCubit(dietsRepository: sl()));
sl.registerFactory<BlogPostCreateCubit>(() => BlogPostCreateCubit(blogPostRepository: sl()));
sl.registerFactory<SubCubit>(() => SubCubit(profileRepository: sl()));
sl.registerFactory<CreateDietCubit>(() => CreateDietCubit(createDietRepository: sl()));

View File

@@ -0,0 +1,19 @@
import 'package:flutter/material.dart';
import 'package:rive/rive.dart';
class Loader extends StatelessWidget {
const Loader({super.key});
@override
Widget build(BuildContext context) {
return Center(
child: SizedBox(
height: 32,
width: 32,
child: RiveAnimation.asset(
'assets/rive_animations/loading.riv',
),
),
);
}
}