Skip to content

[design-qa][P1] Toasts: the wrong black, a shadow, a second host under the tab bar, 88 dp above nothing on pushed screens #179

Description

@cestercian

Part of the Sep-2026 designer's-eye QA of the 138 "Artistant iOS Light" screens (theme T16, category token; epic #161). Full report with evidence and per-screen coverage: docs/DESIGN_QA_2026-09.md; the per-section appendices under docs/design-qa/ carry the code excerpts.

Why it matters. The capsule paints ink with a 12 dp shadow where the palette names dark and the design is flat; the press kit mounts its own host that fires under the tab bar; the root host pads for a tab bar that pushed screens do not show.

Fix direction. One host, dark fill, no shadow, bottom padding driven by whether a bar is actually visible.

Findings (3: P1 ×2, P3 ×1)

  • F-CC-06 (P3) — Toast is drawn on the wrong black and casts a shadow on a flat design
    • Screens: 77 and every toast
    • Where: designsystem/component/Toast.kt:133-135
    • Fix: background(colors.dark), drop the shadow (a hairline in lineStrong if separation is needed).
  • F-SH-03 (P1) — Every toast raised from a pushed screen floats 88dp above nothing
    • Screens: 77, and every screen that raises a toast
    • Where: navigation/ArtistantNavHost.kt:198-210; designsystem/component/Toast.kt:82, :103; navigation/ClientTabsScaffold.kt:216-217; navigation/ArtistTabsScaffold.kt:166-167
    • Fix: hoist the "is the tab bar actually drawn" fact out of the scaffolds (the showBottomBar boolean) and feed the host that, not the gate; and use bottom = rather than vertical =.
  • F-PK-01 (P1) — Delete the press kit's own toast host; it fires under the tab bar
    • Screens: 23, 87, 76
    • Where: feature/epk/EpkScreen.kt:267; peer navigation/ArtistantNavHost.kt:198-210; designsystem/component/Toast.kt:83
    • Fix: route statusNote through the root ToastVm and delete the in-package host (the migration CLAUDE.md already calls outstanding).

Acceptance

  • Every finding above is closed on the cited lines (or refuted in a comment with the reason).
  • ./gradlew :app:assembleDebug, :app:testDebugUnitTest and :app:lintDevDebug green.
  • The screens listed above walked on the artistant AVD with the debug harness (RELEASE.md §10) and the fix confirmed visually — this audit was code-grounded, not device-walked.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions