Skip to content

Unify player bottom sheet dimming and scaling#595

Merged
theovilardo merged 6 commits intomasterfrom
codex/unify-ui-effects-for-bottom-sheets
Dec 20, 2025
Merged

Unify player bottom sheet dimming and scaling#595
theovilardo merged 6 commits intomasterfrom
codex/unify-ui-effects-for-bottom-sheets

Conversation

@theovilardo
Copy link
Copy Markdown
Owner

Summary

  • add expansion callbacks for the cast sheet so the player can react to its open state
  • apply a shared dim scrim over the player when queue or cast sheets are visible
  • reuse the same scaling effect for the player UI when either bottom sheet is opened

Testing

  • ./gradlew :app:compileDebugSources (fails: Android SDK not configured in container)

Codex Task

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +850 to +853
when {
queueOpenFraction > 0f -> animateQueueSheet(false)
castSheetOpenFraction > 0f -> showCastSheet = false
currentSheetContentState == PlayerSheetState.EXPANDED -> {
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Reset cast sheet expansion when scrim is tapped

Tapping the dim overlay while the cast sheet is open only flips showCastSheet to false but never clears castSheetOpenFraction. Because the overlay visibility now depends on bottomSheetOpenFraction = max(queueOpenFraction, castSheetOpenFraction), that stale fraction stays >0 after the cast sheet composable is removed. The dim layer therefore remains visible and intercepts all touches even though no sheet is shown, effectively leaving the UI stuck until some other state change resets the fraction. Consider zeroing castSheetOpenFraction (or invoking the dismiss handler) when dismissing via the scrim.

Useful? React with 👍 / 👎.

@theovilardo theovilardo merged commit 1bd10a5 into master Dec 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant