Skip to content

Grand bain/pool theme - Add the grand bain theme and blend the nav bars - #174

Merged
SamiPr0 merged 3 commits into
mainfrom
grand-bain/pool-theme
Oct 31, 2026
Merged

SamiPr0 merged 3 commits into
mainfrom
grand-bain/pool-theme

Conversation

@SalimMc

@SalimMc SalimMc commented Oct 30, 2026

Copy link
Copy Markdown
Collaborator

What

First part of the "Grand bain" redesign: the app-wide theme. No screen layout changes; every screen picks this up through MaterialTheme.

Colors (ui/theme/Color.kt, ui/theme/Theme.kt)

  • Dark theme = deep pool water. Background and surface become #062B3D. Primary/tertiary containers, outline and on-surface colors are re-tuned to match. The secondary color becomes a pool-tile teal (#5DCAA5).
  • The seven surfaceContainer* / surfaceDim / surfaceBright roles are now set explicitly in both themes. Before, Material derived them as neutral greys.
    • Dark: each container is a bit lighter the higher it sits, like water nearer the surface (#052536 → #0B3D56).
    • Light: a faint touch of pool blue instead of grey (#FFFFFF → #DCE9F1).
  • The light theme's main palette and seed are unchanged.

Shapes (ui/theme/Shape.kt, new)

  • PoolShapes: softer corners than Material's defaults (6 / 10 / 20 / 28 / 32 dp), passed to MaterialTheme.

Typography (ui/theme/Type.kt)

  • Built from Material's defaults (Typography()), with only weight and letter spacing changed, never sizes:
    • displayMedium / displaySmall: Bold, slightly tighter.
    • headline*, title*: SemiBold.
    • labelSmall: SemiBold, 1.2 sp spacing. labelMedium: 0.6 sp spacing.
  • bodyLarge is unchanged. System font only, nothing downloaded.

Navigation bars (ui/navigation/)

  • Top bar: same color as the screen background, so it reads as the top of the page rather than a band. Bold headlineSmall title.
  • Bottom bar: a hairline divider instead of a shadow, surfaceContainerLow background, no tonal elevation. The selected tab is filled with primary.
  • Test tags are unchanged.

Tests

  • ThemeTest is updated for the new dark palette and the surface container roles. It also gains new tests:
    • the theme provides PoolShapes, and PoolShapes has the expected corner sizes;
    • the light surfaces are tinted;
    • titles and numbers are bolder while body text keeps Material's defaults;
    • small labels are spaced out.
  • Ran locally: ./gradlew testDebugUnitTest --tests '*.ui.theme.*' --tests '*.ui.navigation.*' and ktfmtCheck pass. The full ./gradlew check was not run on this branch; CI runs it.

How to review

  • Run the app in dark mode: every screen should look like deep blue water.
  • Light mode should look almost the same as before, with slightly bluer cards.
  • This PR is independent of the other grand bain PRs and can be merged on its own.

🤖 Generated with Claude Code

SalimMc and others added 3 commits October 30, 2026 18:29
The dark theme becomes deep pool water, every surface container a
little lighter the higher it sits; the light theme's surfaces get a
touch of pool blue. Corners are softer and titles and numbers bolder.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The top bar takes the screen's background and a bold title; the
bottom bar sits under a hairline instead of a shadow, its selected
tab filled with the primary color.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Feature/pool theme - Add the grand bain theme and blend the nav bars
@SalimMc
SalimMc requested a review from SamiPr0 October 30, 2026 19:02
@SalimMc SalimMc self-assigned this Oct 30, 2026
@sonarqubecloud

Copy link
Copy Markdown

@SamiPr0 SamiPr0 left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

LGTM ⭐

@SamiPr0
SamiPr0 self-requested a review October 31, 2026 10:29
@SamiPr0
SamiPr0 merged commit 96cea54 into main Oct 31, 2026
4 checks passed
@SamiPr0
SamiPr0 deleted the grand-bain/pool-theme branch October 31, 2026 10:44
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