Skip to content

[Profile] Add guest profile sign-in flow - #116

Open
conniecliu wants to merge 1 commit into
mainfrom
Connie/SkipLoginFlow
Open

conniecliu wants to merge 1 commit into
mainfrom
Connie/SkipLoginFlow

Conversation

@conniecliu

@conniecliu conniecliu commented Sep 16, 2026

Copy link
Copy Markdown

Overview

This implements the skip sign-in flow for when a user skips the sign-in prompt. Changes include:

  • New guest profile screen that appears when a user is not logged in.
  • Replaced main logo PNG with XML for visual clarity.
  • Modified buttons and navigation for new flow and UI.

Details on the flow and UI can be found in this Figma.

Changes Made

  • Added a GuestProfileScreen that appears only if the user skipped the sign-in prompt during early onboarding.
  • Modified existing buttons to accommodate the new UI for the GuestProfileScreen
  • Replaced the main logo with an XML instead of a PNG.
  • Added a new XML file for the goals logo specifically for the guest profile.
  • Modified MainNavigationWrapper and RootNavigationViewModel to prevent the user from backing back into the onboarding flow after onboarding is completed + direct them to login if they haven't already + be directed to Home.

Test Coverage

  • Tested on my Google Pixel 9a.

Screenrecording

Summary by CodeRabbit

  • New Features
    • Added a dedicated guest profile screen for signed-out users, including benefits, branding, and a Google sign-in option.
    • Added new profile and goal visuals.
  • Bug Fixes
    • Improved navigation after onboarding, skipping intermediate screens when returning to Home.
    • Ensured the correct profile experience appears based on sign-in status.
  • UI Improvements
    • Improved button layout consistency.
    • Enabled flexible placement of the sign-in button.

This implements the skip sign-in flow for when a user skips the sign-in
prompt. Changes include:
- New guest profile screen that appears when a user is not logged in.
- Replaced main logo png with xml for visual clarity.
- Modified buttons and navigation for new flow and UI.
@coderabbitai

coderabbitai Bot commented Sep 16, 2026

Copy link
Copy Markdown

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: 49eab4d1-adf9-4bc1-88f4-51801b31224a

📥 Commits

Reviewing files that changed from the base of the PR and between 6ec2e24 and 0efb064.

⛔ Files ignored due to path filters (1)
  • app/src/main/res/drawable/ic_main_logo.png is excluded by !**/*.png
📒 Files selected for processing (7)
  • app/src/main/java/com/cornellappdev/uplift/ui/MainNavigationWrapper.kt
  • app/src/main/java/com/cornellappdev/uplift/ui/components/general/UpliftButton.kt
  • app/src/main/java/com/cornellappdev/uplift/ui/components/onboarding/auth/LogInButton.kt
  • app/src/main/java/com/cornellappdev/uplift/ui/screens/profile/GuestProfileScreen.kt
  • app/src/main/java/com/cornellappdev/uplift/ui/viewmodels/nav/RootNavigationViewModel.kt
  • app/src/main/res/drawable/guest_profile_goal.xml
  • app/src/main/res/drawable/ic_main_logo.xml

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

The PR adds a guest profile screen with Google sign-in, updates sign-in button modifiers, adds supporting icons, and changes root navigation to select guest content and clear onboarding routes when navigating Home.

Changes

Guest profile navigation

Layer / File(s) Summary
Guest profile UI and sign-in entry
app/src/main/java/com/cornellappdev/uplift/ui/screens/profile/GuestProfileScreen.kt, app/src/main/java/com/cornellappdev/uplift/ui/components/onboarding/auth/LogInButton.kt, app/src/main/java/com/cornellappdev/uplift/ui/components/general/UpliftButton.kt, app/src/main/res/drawable/*
Adds the guest profile layout, benefit rows, logo, goal icon, and Google sign-in callback. LogInButton accepts and applies a Modifier. UpliftButton uses a fresh modifier for its text.
Session-derived navigation state
app/src/main/java/com/cornellappdev/uplift/ui/viewmodels/nav/RootNavigationViewModel.kt
Adds withSession to update session state and emit navigation events when the route or login state changes.
Profile route and back-stack navigation
app/src/main/java/com/cornellappdev/uplift/ui/MainNavigationWrapper.kt
Renders GuestProfileScreen for logged-out users. Home navigation uses popUpTo(0) and launchSingleTop = true.

Priority: ➖ Normal

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

Change: Feature

Sequence Diagram(s)

sequenceDiagram
  participant RootNavigationViewModel
  participant MainNavigationWrapper
  participant GuestProfileScreen
  participant LoginViewModel
  RootNavigationViewModel->>MainNavigationWrapper: emit session navigation event
  MainNavigationWrapper->>GuestProfileScreen: render guest profile
  GuestProfileScreen->>LoginViewModel: invoke Google sign-in
Loading

Merge Risk: ⚪ Minimal · up to 0efb0

No concrete merge-blocking risk remains in the guest profile and navigation changes.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 10.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 10 functions across 5 files. (2 skipped: … Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely describes the main change: adding a guest profile sign-in flow.
Description check ✅ Passed The description includes the required Overview, Changes Made, and Test Coverage sections. It explains the guest profile flow, navigation updates, assets, and device testing. The description does not u…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

Docstring coverage is 10.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 10 functions across 5 files. (2 skipped: 2 unsupported.)

  • Fix all pre-merge checks with AI
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch Connie/SkipLoginFlow

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.

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