[SF-28] Adopt Leopard brand in Android Compose app - #26
Conversation
- Copy brand/BrandTokens.kt into app module (com.sonicflow.app.brand) - Rewire Theme / FlowModeUi / MainScreen / ModeCard to BrandTokens.* - Add LeopardBackground composable (deterministic Canvas + Modifier.blur) - Layered shadow glow (24 inner / 64 outer) on selected mode card - Preserve Color.fromHex contract; add Color.toHexString helper so FlowMode.accentColor: String stays hex-literal-free
SF-28 Apply Leopard brand to Android Compose app
ScopeApply the Leopard brand to the Android Compose app. Deliverables
Acceptance
Branch
Depends on |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 41c44b74b8
ℹ️ 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".
| lines.push(` val ${camel(key)} = Color.fromHex("${v.hex}")`); | ||
| } | ||
| } | ||
| lines.push(" val panel = Color(0f, 0f, 0f, 0.78f)"); |
There was a problem hiding this comment.
Derive native panel color from tokens.json instead of black
brand/tokens.json sets palette.neutral.panel to rgba(18, 18, 22, 0.78), but the native generator hardcodes Color(0f, 0f, 0f, 0.78f) (and the Swift path similarly uses Color.black.opacity(0.78)). That means Android/iOS token outputs already diverge from the canonical source and any future neutral.panel updates in tokens.json will not propagate to native apps, producing inconsistent theming across platforms.
Useful? React with 👍 / 👎.
https://linear.app/captain-leopard-ai-engineering/issue/SF-28/apply-leopard-brand-to-android-compose-app
Verification: