Skip to content

Study card: scrollable content + slide-up rating buttons#11

Merged
bootuz merged 7 commits into
mainfrom
feature/study-card-scroll-slide
Jun 4, 2026
Merged

Study card: scrollable content + slide-up rating buttons#11
bootuz merged 7 commits into
mainfrom
feature/study-card-scroll-slide

Conversation

@bootuz
Copy link
Copy Markdown
Owner

@bootuz bootuz commented Jun 4, 2026

Summary

Two study-screen polish improvements on the flip card:

  • Scrollable card content (FlipCard.ktCardFace): long question/answer text now scrolls instead of clipping, while short content stays vertically centered — BoxWithConstraints { Column(verticalScroll().heightIn(min = maxHeight), verticalArrangement = Center) }, the Compose analog of iOS's ScrollView { }.frame(minHeight:). Horizontal padding sits outside the scroll; tap-to-flip and drag-to-scroll coexist; back-face counter-rotation preserved.
  • Slide-up rating buttons (StudyScreen.ktStudyCard): on reveal, the four rating buttons slide up from the bottom + fade in while the "Tap to flip" hint cross-fades. Implemented as a fixed-height Box with two z-stacked Column layers (each hosting an AnimatedVisibility) so the buttons slide over the fading hint rather than being clipped below it.

Also fixes a pre-existing broken instrumented test (StudyContentTest asserted a "Show answer" button that the flip card removed in #8) to use tap-to-flip.

Notes

  • Pure presentation — no ViewModel/state/data changes.
  • In this Compose version AnimatedVisibility(Boolean) is ColumnScope/RowScope-only (no top-level overload), so the overlap is achieved via two Column(fillMaxSize) layers in a Box.

Test Plan

  • :app:testDebugUnitTest passes (no regressions).
  • :app:compileDebugKotlin + :app:compileDebugAndroidTestKotlin build clean (instrumented tests compile-verified; emulator unavailable to run them).
  • Manual: long card scrolls (drag) / short card centered / tap still flips; on reveal the rating buttons slide up over the fading hint; advancing fades them out and restores the hint.

🤖 Generated with Claude Code

@bootuz bootuz merged commit aa8ae9c into main Jun 4, 2026
1 check passed
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