Skip to content

implement management and bottom navigation - #4

Merged
CrAzI-code merged 1 commit into
mainfrom
dev
Aug 17, 2026
Merged

CrAzI-code merged 1 commit into
mainfrom
dev

Conversation

@CrAzI-code

@CrAzI-code CrAzI-code commented Aug 17, 2026 •

Copy link
Copy Markdown
Owner

Summary by CodeRabbit

  • New Features

    • Added a tab-based navigation experience for Home, Learn, AI Teacher, Chat, and Profile.
    • Added a Learn section with a Lesson 1 entry and lesson detail navigation.
    • Added animated, accessible bottom-tab navigation with active-state indicators.
    • Added persistent language selection for signed-in users.
    • Added placeholder screens for AI Teacher, Chat, and Profile.
  • Bug Fixes

    • Improved authentication and onboarding redirects to consistently open the main app.
    • Added loading and sign-in checks before displaying the home screen.

@CrAzI-code
CrAzI-code merged commit 1d58a60 into main Aug 17, 2026
@coderabbitai

coderabbitai Bot commented Aug 17, 2026 •

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 1ec5c207-d6f9-42fc-91b1-30e32570bb3c

📥 Commits

Reviewing files that changed from the base of the PR and between 033c204 and 32dcc5c.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (16)
  • app/(auth)/_layout.tsx
  • app/(tabs)/_layout.tsx
  • app/(tabs)/ai-teacher.tsx
  • app/(tabs)/chat.tsx
  • app/(tabs)/index.tsx
  • app/(tabs)/learn/[id].tsx
  • app/(tabs)/learn/_layout.tsx
  • app/(tabs)/learn/index.tsx
  • app/(tabs)/profile.tsx
  • app/index.tsx
  • app/language-selection.tsx
  • app/onboarding.tsx
  • components/auth-screen.tsx
  • components/custom-tab-bar.tsx
  • package.json
  • store/language-store.ts

📝 Walkthrough

Walkthrough

The app now routes authenticated users to a tab layout. The layout includes Home, Learn, AI Teacher, Chat, and Profile tabs. Language selections persist per user through Zustand and AsyncStorage.

Changes

Authenticated routing and language state

Layer / File(s) Summary
Language state and authenticated routing
store/language-store.ts, app/language-selection.tsx, app/(tabs)/index.tsx, app/(auth)/_layout.tsx, app/onboarding.tsx, components/auth-screen.tsx, package.json
The app hydrates and persists language selections per authenticated user. Authentication and onboarding flows now route to /(tabs)/index. The tabs index redirects users based on authentication and language state.

Tab navigation

Layer / File(s) Summary
Tab shell and placeholder destinations
app/(tabs)/_layout.tsx, components/custom-tab-bar.tsx, app/(tabs)/index.tsx, app/(tabs)/ai-teacher.tsx, app/(tabs)/chat.tsx, app/(tabs)/profile.tsx
The app adds five configured tabs, hidden headers, a custom animated tab bar, and placeholder screens for Home, AI Teacher, Chat, and Profile.

Learn navigation

Layer / File(s) Summary
Learn lesson navigation
app/(tabs)/learn/_layout.tsx, app/(tabs)/learn/index.tsx, app/(tabs)/learn/[id].tsx
The Learn tab uses a headerless stack. Lesson 1 links to a dynamic lesson detail route with route parameters and back navigation.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Sequence Diagram(s)

sequenceDiagram
  participant User
  participant Clerk
  participant TabsIndex
  participant LanguageStore
  participant AsyncStorage
  User->>Clerk: Sign in
  Clerk->>TabsIndex: Navigate to /(tabs)/index
  TabsIndex->>LanguageStore: Hydrate active user language
  LanguageStore->>AsyncStorage: Read persisted selection
  AsyncStorage-->>LanguageStore: Return selection
  alt No language selected
    TabsIndex->>User: Show language-selection route
    User->>LanguageStore: Confirm language
    LanguageStore->>AsyncStorage: Persist selection
    LanguageStore-->>TabsIndex: Selection saved
  else Language selected
    TabsIndex->>User: Show Home tab
  end
Loading

Possibly related PRs

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch dev

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

This was referenced Aug 18, 2026
Merged
Merged
Merged
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