Skip to content

Conversation

PeshoOReda
Copy link
Collaborator

@PeshoOReda PeshoOReda commented Jun 24, 2025

This commit refactors the meal details functionality by moving related files and updating imports from the meal domain to the meals domain.

Specific changes include:

  • Renamed lib/domain/meal/entity/meal_details_entity.dart to lib/domain/meals/entity/meal_details_entity.dart.
  • Renamed lib/domain/meal/repo/meal_details_repo.dart to lib/domain/meals/repo/meal_details_repo.dart.
  • Renamed lib/domain/meal/use_case/meal_details_use_case.dart to lib/domain/meals/use_case/meal_details_use_case.dart.
  • Updated import paths in various files to reflect the new location of meal details related code.
  • Adjusted the initial route in inital_route_function.dart from AppRoutes.mealDetailsRoute to AppRoutes.loginRoute.
  • Updated AppRoutes.mealDetailsRoute to AppRoutes.mealsDetailsRoute.
  • Ran build_runner to regenerate affected generated files.

This template ensures that all pull requests adhere to the project's contribution standards. It enforces proper naming conventions, code quality, CI/CD validation, and testing requirements. Following this checklist helps maintain a clean and efficient codebase while ensuring compatibility with JIRA issue tracking.

📌 Pull Request Checklist

✅ General

  • This pull request is all my own work -- I have not plagiarized it.
  • The PR title follows the required format: type/TA-<issue-number>-TaskName.
  • The branch name follows the required format: feature/meaningful-name, fix/issue-description, etc.

📂 Code Quality

  • All filenames are in snake_case.
  • All functions and variable names follow Dart naming conventions.
  • All new code is formatted with dart format .

🛠 CI/CD Validation

  • Linting passes with dart analyze.
  • The branch name is validated against the allowed patterns.
  • The PR title is validated against the required format.

🚀 Testing

  • Unit tests are included for all new features and bug fixes.
  • flutter test --coverage has been run and the results reviewed.
  • The project builds successfully without errors.

📝 Additional Information

🔗 Related JIRA Ticket(s):

  • JIRA Issue: TA-<issue-number>

📸 Screenshots (if applicable):

… Dart linting, Flutter unit tests, PR title validation, and SonarCloud analysis

feat: Add meal details feature with API integration
- Implemented MealsRetrofitClient for fetching meal details
- Created data source and repository for meal details
- Added use case for retrieving meal details
- Developed MealDetailsScreen UI with ingredients and nutrient information
- Introduced BluredContainer for enhanced UI design
- Updated routing to include meal details screen
- Added necessary models and DTOs for meal details
- Updated `flutter_lints` to version 6.0.0.
- Added `video_player` dependency for video playback functionality.
- Introduced `http_mock_adapter` and `mocktail` for improved testing capabilities.
- Generated localization keys for error messages and UI strings using `easy_localization`.
- Implemented `IngredientBody` and `IngredientItem` widgets for displaying meal ingredients.
- Created `MealHeaderVideo` widget to handle video playback with fallback image.
- Developed `NutrientBody` and `NutrientInfo` widgets for displaying nutritional information.
- Added unit tests for `MealsRetrofitClient`, `MealsRemoteDataSourceImpl`, and related use cases.
- Established `MealDetailsCubit` for state management in meal details screen.
- Updated imports in meal_details_screen.dart to point to details_food module.
- Refactored ingredient_body.dart, ingredient_item.dart, meal_header_video.dart, nutrient_body.dart, and nutrient_info.dart to use the new details_food module.
- Modified meal_details_state.dart and meals_details_cubit.dart to include mealId in the state management.
- Created new meal_details_screen.dart, ingredient_body.dart, ingredient_item.dart, meal_header_video.dart, nutrient_body.dart, and nutrient_info.dart files in the details_food module.
- Updated tests to reflect changes in state management and imports.
This commit refactors the meal details functionality by moving related files and updating imports from the `meal` domain to the `meals` domain.

Specific changes include:
- Renamed `lib/domain/meal/entity/meal_details_entity.dart` to `lib/domain/meals/entity/meal_details_entity.dart`.
- Renamed `lib/domain/meal/repo/meal_details_repo.dart` to `lib/domain/meals/repo/meal_details_repo.dart`.
- Renamed `lib/domain/meal/use_case/meal_details_use_case.dart` to `lib/domain/meals/use_case/meal_details_use_case.dart`.
- Updated import paths in various files to reflect the new location of meal details related code.
- Adjusted the initial route in `inital_route_function.dart` from `AppRoutes.mealDetailsRoute` to `AppRoutes.loginRoute`.
- Updated `AppRoutes.mealDetailsRoute` to `AppRoutes.mealsDetailsRoute`.
- Ran `build_runner` to regenerate affected generated files.
@PeshoOReda PeshoOReda requested a review from ali72-20 as a code owner June 24, 2025 21:33
@PeshoOReda PeshoOReda self-assigned this Jun 24, 2025
@PeshoOReda PeshoOReda added the enhancement New feature or request label Jun 24, 2025
Copy link

@Nobel1893 Nobel1893 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why did you remove the the github actions files.
Retrofit client doesn't need unit testing

@Nobel1893
Copy link

image

the status of those actions doesn't reported because u removed the actions files

PeshoOReda and others added 8 commits July 1, 2025 11:39
This commit refactors the meal details functionality by moving related files and updating imports from the `meal` domain to the `meals` domain.

Specific changes include:
- Renamed `lib/domain/meal/entity/meal_details_entity.dart` to `lib/domain/meals/entity/meal_details_entity.dart`.
- Renamed `lib/domain/meal/repo/meal_details_repo.dart` to `lib/domain/meals/repo/meal_details_repo.dart`.
- Renamed `lib/domain/meal/use_case/meal_details_use_case.dart` to `lib/domain/meals/use_case/meal_details_use_case.dart`.
- Updated import paths in various files to reflect the new location of meal details related code.
- Adjusted the initial route in `initial_route_function.dart` from `AppRoutes.mealDetailsRoute` to `AppRoutes.loginRoute`.
- Updated `AppRoutes.mealDetailsRoute` to `AppRoutes.mealsDetailsRoute`.
- Ran `build_runner` to regenerate affected generated files.
This commit refactors the meal details functionality by moving related files and updating imports from the `meal` domain to the `meals` domain.

Specific changes include:
- Renamed `lib/domain/meal/entity/meal_details_entity.dart` to `lib/domain/meals/entity/meal_details_entity.dart`.
- Renamed `lib/domain/meal/repo/meal_details_repo.dart` to `lib/domain/meals/repo/meal_details_repo.dart`.
- Renamed `lib/domain/meal/use_case/meal_details_use_case.dart` to `lib/domain/meals/use_case/meal_details_use_case.dart`.
- Updated import paths in various files to reflect the new location of meal details related code.
- Adjusted the initial route in `initial_route_function.dart` from `AppRoutes.mealDetailsRoute` to `AppRoutes.loginRoute`.
- Updated `AppRoutes.mealDetailsRoute` to `AppRoutes.mealsDetailsRoute`.
- Ran `build_runner` to regenerate affected generated files.
…-details-food

# Conflicts:
#	assets/translations/ar.json
#	assets/translations/en.json
#	lib/core/assets/app_icons.dart
#	lib/core/utils/constants.dart
#	lib/core/utils/datasource_excution/api_constants.dart
#	lib/core/utils/di/di.config.dart
#	lib/core/utils/l10n/locale_keys.g.dart
#	lib/core/utils/routes/app_routes.dart
#	lib/data/meals/api/meals_retrofit_client.dart
#	lib/data/meals/api/meals_retrofit_client.g.dart
#	pubspec.lock
#	pubspec.yaml
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants