Skip to content

Integrate Riverpod-based navigation state management#282

Open
dhruvi-16-me wants to merge 1 commit into
AOSSIE-Org:devfrom
dhruvi-16-me:riverpod-navigation
Open

Integrate Riverpod-based navigation state management#282
dhruvi-16-me wants to merge 1 commit into
AOSSIE-Org:devfrom
dhruvi-16-me:riverpod-navigation

Conversation

@dhruvi-16-me

@dhruvi-16-me dhruvi-16-me commented Jun 13, 2026

Copy link
Copy Markdown
Contributor

Summary

This PR migrates HomeScreen navigation state from local widget state to Riverpod.

Changes

  • Added a typed HomeTab enum for home navigation state
  • Replaced local _selectedIndex state with Riverpod-managed navigation state
  • Introduced homeTabProvider as the single source of truth for tab selection
  • Updated HomeScreen to consume and update navigation state through Riverpod
  • Preserved existing IndexedStack-based screen architecture
  • Preserved existing route argument handling (screen and initial_message)
  • Removed obsolete HomeScreen navigation-related dead code

Motivation

This change establishes a centralized navigation state layer using Riverpod and prepares the codebase for upcoming routing work, including:

  • go_router integration
  • URL-based navigation
  • Browser history support
  • Deep linking

By moving navigation ownership out of local widget state, future routing changes can be implemented without restructuring HomeScreen navigation logic again.

Notes

  • This PR intentionally does not introduce go_router
  • This PR intentionally does not add URL synchronization, browser history handling, or deep linking
  • Existing screen implementations and navigation behavior remain unchanged

Testing

  • Verified tab switching across all HomeScreen tabs
  • Verified route argument handling for screen navigation
  • Verified chat initialization via initial_message

✅ Checklist

  • I have read the contributing guidelines.
  • I have added tests that prove my fix is effective or that my feature works.
  • I have added necessary documentation (if applicable).
  • Any dependent changes have been merged and published in downstream modules.

@coderabbitai

coderabbitai Bot commented Jun 13, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

🗂️ Base branches to auto review (2)
  • main
  • develop

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: c7317879-ad29-4918-a8f5-89e24af444cf

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@dhruvi-16-me dhruvi-16-me added the gsoc Part of Google Summer of Code Season label Jun 13, 2026
@github-actions

Copy link
Copy Markdown

⚠️ This PR has merge conflicts.

Please resolve the merge conflicts before review.

Your PR will only be reviewed by a maintainer after all conflicts have been resolved.

📺 Watch this video to understand why conflicts occur and how to resolve them:
https://www.youtube.com/watch?v=Sqsz1-o7nXk

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gsoc Part of Google Summer of Code Season

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant