From b4eba0448f174cec59f174bb707cb40c80231efc Mon Sep 17 00:00:00 2001 From: Talisson Costa Date: Tue, 24 Mar 2026 17:35:10 -0300 Subject: [PATCH 1/2] fix: align unsaved changes badge in tab buttons across all modals Replace and
wrappers in tab labels with fragments, and add a .btn-tab__label flex container in TabButton to keep text and badge inline. Remove redundant tabLabelString where tabLabel is already a plain string. Restore tab-nav-full for pill tab width. Closes #6935 --- .../web/components/modals/CreateGroup.tsx | 6 ++--- .../web/components/modals/CreateSegment.tsx | 26 +++++++------------ .../modals/create-experiment/index.js | 17 ++++-------- .../navigation/TabMenu/TabButton.tsx | 2 +- frontend/web/styles/components/_tabs.scss | 8 ++++++ 5 files changed, 26 insertions(+), 33 deletions(-) diff --git a/frontend/web/components/modals/CreateGroup.tsx b/frontend/web/components/modals/CreateGroup.tsx index 8c1c233aad3b..8db113aef89d 100644 --- a/frontend/web/components/modals/CreateGroup.tsx +++ b/frontend/web/components/modals/CreateGroup.tsx @@ -456,15 +456,15 @@ const CreateGroup: FC = ({ group, orgId, roles }) => { + <> General {!!edited && *} -
+ } > {editGroupEl} - Permissions}>{editPermissionsEl} + {editPermissionsEl} ) : ( editGroupEl diff --git a/frontend/web/components/modals/CreateSegment.tsx b/frontend/web/components/modals/CreateSegment.tsx index a00465d4bb33..9baf2a792e23 100644 --- a/frontend/web/components/modals/CreateSegment.tsx +++ b/frontend/web/components/modals/CreateSegment.tsx @@ -503,10 +503,10 @@ const CreateSegment: FC = ({ - General{' '} - {valueChanged &&
{'*'}
} -
+ <> + General + {valueChanged && {'*'}} + } >
@@ -564,12 +564,12 @@ const CreateSegment: FC = ({ + <> Custom Fields {metadataValueChanged && ( -
{'*'}
+ {'*'} )} - + } >
{MetadataTab}
@@ -579,10 +579,7 @@ const CreateSegment: FC = ({ )} {!(isEdit && !condensed) && metadataEnable && segmentContentType?.id && ( setTab(tab)}> - +
= ({ />
- Custom Fields - } - > +
{MetadataTab}
diff --git a/frontend/web/components/modals/create-experiment/index.js b/frontend/web/components/modals/create-experiment/index.js index 808c3f545a2a..13c7dbf5dccd 100644 --- a/frontend/web/components/modals/create-experiment/index.js +++ b/frontend/web/components/modals/create-experiment/index.js @@ -468,14 +468,12 @@ const Index = class extends Component { data-test='value' tabLabelString='Value' tabLabel={ - - Value{' '} + <> + Value {this.state.valueChanged && ( -
- {'*'} -
+ {'*'} )} -
+ } > - Results - - } + tabLabel='Results' > ( isSelected ? ' tab-active' : '' } ${className}`} > - {child.props.tabLabel} + {child.props.tabLabel} ) }, diff --git a/frontend/web/styles/components/_tabs.scss b/frontend/web/styles/components/_tabs.scss index aa767187f230..5c97a0bad944 100644 --- a/frontend/web/styles/components/_tabs.scss +++ b/frontend/web/styles/components/_tabs.scss @@ -159,6 +159,14 @@ .btn-tab { position: relative; + + .btn-tab__label { + display: inline-flex; + align-items: center; + flex-wrap: nowrap; + gap: 4px; + } + .unread { padding-left: 0 !important; padding-right: 0 !important; From ebb9004e8fa231ee88d4d25c09ca69b42a3c5cbd Mon Sep 17 00:00:00 2001 From: Talisson Costa Date: Wed, 25 Mar 2026 08:37:40 -0300 Subject: [PATCH 2/2] fix: align unsaved changes badge in Edit Feature modal tabs The create-feature modal was refactored from .js to .tsx on main, so the original fix was lost during rebase. Apply the same fix: remove Row wrappers and redundant padding classes from tab labels, letting .btn-tab__label handle alignment. Co-Authored-By: Claude Opus 4.6 --- .../modals/create-feature/index.tsx | 45 ++++++------------- 1 file changed, 14 insertions(+), 31 deletions(-) diff --git a/frontend/web/components/modals/create-feature/index.tsx b/frontend/web/components/modals/create-feature/index.tsx index cef28d85c1d1..9252d0c425ec 100644 --- a/frontend/web/components/modals/create-feature/index.tsx +++ b/frontend/web/components/modals/create-feature/index.tsx @@ -571,12 +571,10 @@ const CreateFeatureModal: FC = (props) => { data-test='value' tabLabelString='Value' tabLabel={ - - Value{' '} - {valueChanged && ( -
{'*'}
- )} -
+ <> + Value + {valueChanged &&
*
} + } > = (props) => { data-test='segment_overrides' tabLabelString='Segment Overrides' tabLabel={ - - Segment Overrides{' '} - {segmentsChanged && ( -
*
- )} -
+ <> + Segment Overrides + {segmentsChanged &&
*
} + } > = (props) => {
)} {(!Project.disableAnalytics || hasCodeReferences) && ( - Usage - } - > + = (props) => { Links - } + tabLabel='Links' > = (props) => { data-test='settings' tabLabelString='Settings' tabLabel={ - - Settings{' '} - {settingsChanged && ( -
{'*'}
- )} -
+ <> + Settings + {settingsChanged &&
*
} + } >