Skip to content

refactor(test): test-tabs-appearance-defined-by-selected-tab#4179

Open
LKuchno wants to merge 5 commits into
mainfrom
@lkuchno/test-tabs-appearance-defined-by-selected-tab
Open

refactor(test): test-tabs-appearance-defined-by-selected-tab#4179
LKuchno wants to merge 5 commits into
mainfrom
@lkuchno/test-tabs-appearance-defined-by-selected-tab

Conversation

@LKuchno

@LKuchno LKuchno commented Jun 18, 2026

Copy link
Copy Markdown
Collaborator

Summary

Refactors the single-feature test screen and adds scenario for test-tabs-appearance-defined-by-selected-tab, which verifies that the native tab bar dynamically updates to reflect the appearance/styling defined by the currently selected tab.

The screen exercises per-tab tab bar appearance across iOS and Android: tab bar background, icon and title colors for normal/selected/focused states, active indicator, badge text/background colors, and title font options. Each of three tabs defines a distinct appearance so switching tabs (via the native bar or in-screen buttons) is visibly reflected in the bar.

Closes: https://github.com/software-mansion/react-native-screens-labs/issues/1533

Changelog

  • .../test-tabs-appearance-defined-by-selected-tab/index.tsx — refactored test screen; per-tab appearance configs derived from shared DEFAULT_APPEARANCE_IOS / DEFAULT_APPEARANCE_ANDROID defaults with per-tab overrides; added badgeValue on Tab3.
  • .../test-tabs-appearance-defined-by-selected-tab/scenario.md — new manual test scenario with iOS/Android steps and expected per-tab color results, including badge value notes.
  • .../test-tabs-appearance-defined-by-selected-tab/scenario-description.ts — added details field and set name to "Tab-Specific Appearance".

Test visual documentation

Android API lvl 36 iOS 18.6 iOS 26.5
android.mov
ios18.6.mov
ios26.5.mov

… configs, adding badge value, new scenario created and scenario-description file updated with details and e2e coverage
@LKuchno LKuchno force-pushed the @lkuchno/test-tabs-appearance-defined-by-selected-tab branch from e196d71 to 170929a Compare June 18, 2026 06:21
@LKuchno LKuchno requested a review from Copilot June 18, 2026 06:21

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Refactors the manual “single-feature” tabs test screen to verify that the native tab bar appearance updates dynamically based on the currently selected tab, and adds/updates the associated scenario metadata and documentation.

Changes:

  • Refactored the test-tabs-appearance-defined-by-selected-tab test screen to derive per-tab appearance from shared iOS/Android defaults with per-tab overrides (including a Tab3 badge).
  • Added a new manual scenario.md describing expected per-tab appearance outcomes across iOS/Android.
  • Updated the scenario metadata (scenario-description.ts) to include details, adjust the display name, and mark E2E coverage as incomplete.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 10 comments.

File Description
apps/src/tests/single-feature-tests/tabs/test-tabs-appearance-defined-by-selected-tab/index.tsx Refactors per-tab appearance configuration and adds a badge to exercise appearance changes when switching selected tabs.
apps/src/tests/single-feature-tests/tabs/test-tabs-appearance-defined-by-selected-tab/scenario.md New manual test scenario describing expected visual outcomes for tab-specific appearance updates.
apps/src/tests/single-feature-tests/tabs/test-tabs-appearance-defined-by-selected-tab/scenario-description.ts Updates scenario metadata (name/details/e2eCoverage) used by the in-app scenario list.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +54 to +56
1. Launch the app and navigate to the
**Tab Bar Appearance Per Selected Tab** screen.

Comment on lines +121 to +123
1. Launch the app and navigate to the
**Tab Bar Appearance Per Selected Tab** screen.

Comment on lines 128 to 129
scrollEdgeAppearance: {
...DEFAULT_APPEARANCE_IOS,

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Comment on lines 192 to 193
scrollEdgeAppearance: {
...DEFAULT_APPEARANCE_IOS,

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

LKuchno and others added 3 commits June 18, 2026 12:38
The appearance-defined-by-selected-tab screen configured iOS appearance
only via scrollEdgeAppearance. Because the native layer assigns each
item a non-nil empty standardAppearance when unset, there is no fallback
to scrollEdgeAppearance — so if iOS ever selects the standard appearance
(scrollable content added, or a version that prefers it for non-scrolling
bars) the per-tab colors silently revert to system defaults.

Extract per-tab iOS appearances into shared constants and set both
standardAppearance and scrollEdgeAppearance from them across all three
tabs, so the configured look holds regardless of which appearance UIKit
selects. Also drop the now-inaccurate per-property wording from the
scenario description.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@LKuchno LKuchno requested a review from kkafar June 18, 2026 11:04
…tation as configuration is set for stacked layout
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