Skip to content

Feature/read pokeapi list#1

Merged
diegoaces merged 35 commits into
developfrom
feature/read_pokeapi_list
Oct 27, 2025
Merged

Feature/read pokeapi list#1
diegoaces merged 35 commits into
developfrom
feature/read_pokeapi_list

Conversation

@diegoaces
Copy link
Copy Markdown
Owner

This pull request introduces several foundational improvements and new features to the project, focusing on app theming, routing, API integration, and build tooling. The changes standardize navigation and theming, introduce utility helpers, and set up CI for testing and code coverage. Additionally, there are updates for launcher icons and minor configuration tweaks.

App Structure and Theming

  • Added a centralized AppTheme class for consistent light and dark themes using Material 3 and Google Fonts (lib/core/app_theme.dart).
  • Defined new color constants for theming, including grassPrimary, poisonPrimary, and secondaryDefault (lib/colors.dart).

Routing Improvements

  • Introduced AppRoutes to centralize route names and paths, and refactored app_router.dart to use these constants and add new routes for onboarding, pokedex, regions, favorites, profile, and Pokémon detail pages (lib/core/app_routes.dart, lib/app_router.dart). [1] [2]

API and Data Layer

  • Added API constants for base URL and timeout in AppConstants (lib/core/constants.dart).
  • Created a custom ApiException class for error handling (lib/core/api_exception.dart).
  • Defined the PokemonRemoteDataSource abstract class for fetching Pokémon data from the API (lib/data/datasources/pokemon_remote_datasource.dart).
  • Added a helper for Pokémon type colors, assets, and labels (lib/core/pokemon_type_helper.dart).

Build and CI/CD Tooling

  • Added a GitHub Actions workflow for Flutter tests and coverage reporting (.github/workflows/test.yml).
  • Introduced flutter_launcher_icons.yaml and updated Android/iOS configurations for custom launcher icons (flutter_launcher_icons.yaml, android/app/src/main/AndroidManifest.xml, ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json, ios/Runner.xcodeproj/project.pbxproj). [1] [2] [3] [4] [5]

Configuration and Miscellaneous

  • Updated iOS app display name to "Pokedex App" (ios/Runner/Info.plist).
  • Adjusted analysis options to ignore invalid_annotation_target (analysis_options.yaml).
  • Removed unused font family constant from AppConstants (lib/core/constants.dart).
  • Added an (empty) extensions.dart file as a placeholder for future extensions (lib/core/extensions.dart).

- Created user SVG icon for the profile section.
- Updated app router to include routes for HomeScreen and OnboardingScreen.
- Added API constants for base URL and timeout settings.
- Implemented HomeScreen with PokedexWidget and CustomBottomNavigation.
- Developed OnboardingScreen with animated transitions and navigation.
- Created PokedexWidget to fetch and display Pokémon data using Dio.
- Added Dio provider for API requests with error handling.
- Implemented CustomBottomNavigation for easy navigation.
- Created error widget for handling API errors in PokedexWidget.
- Updated pubspec.yaml to include new assets and dependencies.
- Changed HomeScreen to PokedexScreen and implemented FutureBuilder to fetch Pokémon data from the API.
- Added loading and error handling states in the FutureBuilder.
- Updated PokedexWidget to accept data as a parameter instead of fetching it directly.

chore: Remove unused font family references in OnboardingScreen

- Removed font family references from text styles in OnboardingScreen.

feat: Enhance PokedexWidget with search functionality and filter modal

- Added a search bar and filter preferences modal to PokedexWidget.
- Implemented a new PokemonListTile widget to display Pokémon details.
- Integrated favorites functionality using a new FavoritesProvider.

feat: Create ProfileScreen and RegionesScreen

- Added ProfileScreen and RegionesScreen with basic layout and navigation.

chore: Clean up Dio provider error handling

- Removed unused error handling function from Dio provider.

feat: Implement FavoritesProvider for managing favorite Pokémon

- Created FavoritesNotifier to handle adding, removing, and checking favorite Pokémon.
- Added providers for accessing favorites count and list.

style: Update CustomBottomNavigation for better route handling

- Refactored CustomBottomNavigation to use Riverpod for route management.
- Improved bottom navigation bar styling and functionality.

feat: Add custom default button widget

- Created CustomDefaultButton for consistent button styling across the app.

fix: Update error widget styles

- Removed font family references from PokedexErrorWidget.

feat: Implement filter preferences modal for Pokémon types

- Added FilterPreferencesModal to allow users to filter Pokémon by type.

feat: Create Pokémon search bar widget

- Added PokémonSearchBar widget for searching Pokémon by name.
…se StatefulWidget and add favorite functionality with animations
…and update asset references in the type helper
…date MeasurementCard to use SVG assets in PokemonDetail
…et references in PokemonDetail and PokemonListTile to use dynamic type assets
…", and add launcher icons for various resolutions
- Introduced `ElementChip` widget for displaying Pokémon types.
- Added `MeasurementCard` widget for displaying Pokémon measurements.
- Implemented `PokedexWidget` for searching and filtering Pokémon.
- Created `PokemonDetail` page to show detailed information about a Pokémon.
- Developed `PokemonListTile` for listing Pokémon with favorite functionality.
- Updated README.md to include information about AI tools used in development.
- Removed unused favicon and icon files from the web directory.
- Implemented CustomDefaultButton for consistent button styling.
- Created ElementChip for displaying Pokémon types with icons.
- Added PokedexErrorWidget to handle error states in the app.
- Developed FilterPreferencesModal for filtering Pokémon by type.
- Introduced MeasurementCard for displaying Pokémon measurements.
- Created PokeballLoading widget for loading animations.
- Implemented PokedexWidget to display a list of Pokémon with search and filter functionality.
- Developed PokemonDetail widget for detailed Pokémon information.
- Created PokemonListTile for displaying Pokémon in a list format.
- Added PokemonSearchBar for searching Pokémon.
- Updated favorites_provider to use domain entities.
- Updated pokemon_provider to use domain entities.
- Added tests for onboarding and splash screens.
@diegoaces diegoaces added the enhancement New feature or request label Oct 27, 2025
@diegoaces diegoaces merged commit 488919a into develop Oct 27, 2025
1 check passed
@diegoaces diegoaces deleted the feature/read_pokeapi_list branch October 27, 2025 14:17
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.

1 participant