Skip to content

feat(theme): add switchable modern brand skins - #3151

Draft
zwulf1k wants to merge 3 commits into
openMF:devfrom
zwulf1k:feat/3150-switchable-brand-skins-upstream
Draft

feat(theme): add switchable modern brand skins#3151
zwulf1k wants to merge 3 commits into
openMF:devfrom
zwulf1k:feat/3150-switchable-brand-skins-upstream

Conversation

@zwulf1k

@zwulf1k zwulf1k commented Jul 31, 2026

Copy link
Copy Markdown

What changed

  • adds three switchable brand skins: Ipoteka Bank, Aurora, and Graphite
  • keeps brand skin independent from light/dark/system mode
  • persists both choices across process relaunch
  • adds modern semantic palettes, shapes, elevations, dashboard treatment, and vertical preview cards
  • uses official Ipoteka Bank green/white logo assets and brand colors
  • adds Russian and Uzbek labels
  • exposes stable accessibility/resource identifiers for mobile regression tests
  • fixes radio controls so accessibility and Appium receive the authoritative selected state

Why

The application previously exposed only a color-mode toggle and could not represent a bank-specific visual identity. The new model separates brand identity from color mode and applies the selected semantic theme at the root, so screens share one consistent palette.

Validation

  • :core:designsystem:testDemoDebugUnitTest — passed
  • :cmp-android:assembleDemoDebug on Java 21 — passed
  • Android emulator regression — passed
  • QATools 24-step live scenario — passed, including selection, checked state, relaunch persistence, and themed embedded surface

QATools scenario: mifos-brand-skins-android.scenario.yaml in Arci.QATools#92.

Closes #3150

zeiter and others added 3 commits July 31, 2026 11:03
Add persistent Ipoteka, Aurora, and Graphite visual identities with independent color mode selection, official Ipoteka assets, semantic host/Arci inheritance, and stable QA selectors.

Co-authored-by: Codex <codex@openai.com>
Expose each settings row as a stable Compose resource id so mobile regression scenarios do not depend on translated text.

Co-authored-by: Codex <codex@openai.com>
Use selectable semantics for the shared radio component so user taps, TalkBack, and Appium observe the authoritative checked state.

Co-authored-by: Codex <codex@openai.com>
@mifos-cla-check

Copy link
Copy Markdown

👋 Hi @zwulf1k — thank you for your pull request.

This PR is currently blocked because we do not have a Contributor License Agreement (CLA) on file for your GitHub account.

To get unblocked:

  1. Complete the form at https://mifos.org/about-us/financial-legal/mifos-contributor-agreement
  2. Complete the CLA signing process
  3. Once verified you will be added to the approved contributors list and this PR check will be cleared

@mifos-cla-check mifos-cla-check Bot added the cla-required CLA signature required before this PR can be merged label Jul 31, 2026
@coderabbitai

coderabbitai Bot commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 07d5d059-a1ac-4ad0-b471-422ca16a6193

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

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

Labels

cla-required CLA signature required before this PR can be merged

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: add switchable brand skins with host-inherited Arci theming

2 participants