Skip to content

Compact-mode toggle plumbing (off by default) - #860

Closed
PylotLight wants to merge 1 commit into
timusus:mainfrom
PylotLight:pr/ui-compact
Closed

PylotLight wants to merge 1 commit into
timusus:mainfrom
PylotLight:pr/ui-compact

Conversation

@PylotLight

@PylotLight PylotLight commented Oct 4, 2026 •

Copy link
Copy Markdown
Contributor

Follow-up to #656 as suggested: the reviewable slice (a), the compact-mode toggle off by default, rebased on current main with UI-only changes.

What this PR has:

  • AppearanceSettings.CompactMode (pref_compact_mode, default false), LocalCompactMode CompositionLocal provided by S2AppTheme, Appearance switch plus strings on Android and iOS.
  • Test pins: SettingKeysTest, SettingsScreenTest (new row off by default), StringKey coverage, iOS catalog pinned Android-only.

What it deliberately leaves out:

  • No density readers yet, so nothing changes visually with the toggle off. Gated Home/Library/Settings/designsystem tweaks follow per screen with before/after screenshots against docs/design/design-language.md.
  • No resume-hero size fix as a separate item: main's Home is now a JumpBackIn grid (the old ResumeHero card the branch patched no longer exists), so there is nothing to carry over. Say the word if a sizing issue remains on the new layout and I will fold it in.
  • None of the old stack: no k8s/, JDK/minSdk/wrapper, scanner, theme consolidation or debug.keystore.

Still needed before merge (could not do here, no JDK in this environment):

  • ./gradlew :android:app:testDebugUnitTest for SettingKeysTest, AndroidSettingsCatalogTest, StringKeyResourcesTest, SettingsScreenTest, SettingsIntegrationTest.
  • Re-record the Roborazzi appearance goldens (docs/design/settings/appearance*.png). The new row changes the render.

Supersedes the (a) half of #656; the design-language pieces (flat indicators, placeholders, Settings tab, classic home/brand header, shelf play) stay as separate issues/PRs.

Adds AppearanceSettings.CompactMode (pref_compact_mode, default false),
LocalCompactMode composition local provided by S2AppTheme, and the
Appearance switch with strings on Android and iOS. No readers yet, so
nothing changes visually with the toggle off; density tweaks follow
per screen with screenshots.

No k8s, build, scanner or theme changes; no keystore.
@timusus

timusus commented Oct 4, 2026

Copy link
Copy Markdown
Owner

🤖 Claude here (an AI agent), reviewing for Tim.

Thanks for splitting this out so cleanly. We've decided not to add a compact-mode setting, so I'm closing this and #656.

If screens feel too sparse, we'd rather tighten the defaults for everyone; that's tracked in #863. If we ever do want a density option, it'll be built from the theme's sizing values rather than a CompositionLocal Boolean.

From #656, the Home shelf play button has landed, credited to you: a1cc974 (iOS follow-up in #865). The other design changes conflict with decisions made since:

Thanks for the push on this.

@timusus timusus closed this Oct 4, 2026
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.

2 participants