Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

dev: Multi-language Support, Enhanced Game Management, and State Refactoring in the App #27

Merged
merged 36 commits into from
Nov 18, 2024

Conversation

rshrc
Copy link
Owner

@rshrc rshrc commented Nov 16, 2024

This PR integrates enhanced language management and state refactoring in various parts of the app, supporting new languages (Telugu, Tamil, Malayalam) and improving game functionality and readability. Below is a detailed breakdown of each commit:

  1. Enhance language management by integrating Firestore for user language caching and adding support for multiple languages in match levels

    • Commit: 17cb8bb
    • Explanation: Caches user-selected language preferences in Firestore, improving cross-session persistence and user experience across multiple languages.
  2. Refactor GameProvider and MatchProvider to enhance score management and game initialization

    • Commit: 364449d
    • Explanation: Updates GameProvider and MatchProvider for efficient score management and streamlined game initialization, reducing latency in game start-up.
  3. Fix import order for game_provider in stat_app_bar.dart

    • Commit: 5dcad83
    • Explanation: Ensures clean code organization by correcting the import order, aiding readability and maintainability.
  4. Add MatchProvider to the list of providers for game state management

    • Commit: a0f92e9
    • Explanation: Expands game state management by adding MatchProvider, ensuring a smoother, consistent game experience.
  5. Refactor MatchWordsPage to utilize MatchProvider for game state management and improve code readability

    • Commit: b15ab6b
    • Explanation: Refactors MatchWordsPage for improved readability and leverages MatchProvider for a more coherent game state.
  6. Delay session initialization until after the first frame is rendered

    • Commit: 5dcad83
    • Explanation: Optimizes session start timing, ensuring smoother visual performance by delaying initialization.
  7. Add MatchProvider to manage game logic and state for matching words

    • Commit: 674673a
    • Explanation: Integrates MatchProvider to handle matching logic, enabling better separation of concerns and more manageable code.
  8. Refactor ListLesson to simplify height calculation and improve readability of translated sentence display

    • Commit: 9f36d79
    • Explanation: Enhances readability by simplifying height calculations for list items, making the display of translated sentences more efficient.
  9. Reset lesson state on back navigation in LessonAppBar

    • Commit: afae392
    • Explanation: Ensures lessons reset on back navigation, preventing unintended data persistence issues.
  10. Remove trailing newline at the end of lesson_screen.dart

    • Commit: 53d7ba7
    • Explanation: Minor cleanup of lesson_screen.dart to maintain code style consistency.
  11. Refactor HomePage to initialize language settings and replace static AppBar with CharactersAppBar for dynamic language display

    • Commit: 777aab6
    • Explanation: Updates HomePage to dynamically display the current language with CharactersAppBar, enhancing user immersion in their selected language.
  12. Refactor CourseTree to use CourseProvider for course management and update widget structure for better state handling

    • Commit: 1802cb1
    • Explanation: Integrates CourseProvider for course management in CourseTree, improving state handling efficiency and overall app architecture.
  13. Refactor ContinueButton to use ChicletAnimatedButton and integrate language and course state management

    • Commit: ee00dff
    • Explanation: Refines the ContinueButton with animated styling and links it to language and course state, enhancing visual appeal and user guidance.
  14. Remove StageProgressBar from ChooseLanguageAppbar title

    • Commit: 7c72ef9
    • Explanation: Simplifies the app bar by removing the StageProgressBar, creating a cleaner UI for language selection.
  15. Add language selection feature with Kannada, Tamil, Telugu, and Malayalam options

    • Commit: a36d5fc
    • Explanation: Introduces a comprehensive language selection feature, enabling users to choose between Kannada, Tamil, Telugu, and Malayalam.
  16. Add CharactersAppBar widget with dynamic language display in title

    • Commit: 535c56e
    • Explanation: Adds CharactersAppBar, dynamically displaying the selected language for a customized and contextual experience.
  17. Refactor CharacterPracticeScreen to use dynamic language data for sounds, vowels, and consonants

    • Commit: ec95d23
    • Explanation: Enhances CharacterPracticeScreen with dynamic language data, adapting the UI to selected language sounds, vowels, and consonants.
  18. Add current language preference to AppPrefs for localization support

    • Commit: b16f361
    • Explanation: Stores user’s language preference in AppPrefs, supporting a seamless localized experience.
  19. Add Tamil and Telugu language data with structured questions and responses

    • Commit: e83aa40
    • Explanation: Expands the language dataset with structured questions and responses for Tamil and Telugu, enabling foundational language courses.
  20. Add Malayalam language data with structured questions and responses

    • Commit: d411ddb
    • Explanation: Adds Malayalam language support with structured learning material, rounding out South Indian language offerings.
  21. Implement new feature for user progress tracking in lessons

    • Commit: 825ab55
    • Explanation: Introduces lesson-based progress tracking, enhancing the user's sense of progression and achievement.
  22. Add language sound, vowel, and consonant mappings for Kannada, Malayalam, Tamil, and Telugu

    • Commit: b43dcf6
    • Explanation: Integrates sound, vowel, and consonant mappings, supporting pronunciation and comprehension across four languages.

rshrc added 30 commits November 16, 2024 16:02
…pdate widget structure for better state handling
…AppBar with CharactersAppBar for dynamic language display
@rshrc
Copy link
Owner Author

rshrc commented Nov 18, 2024

Merging this!

@rshrc rshrc merged commit b30f3ae into master Nov 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant