diff --git a/frontend/web/components/pages/UserPage.tsx b/frontend/web/components/pages/UserPage.tsx index 508d1217ee52..9fd8e40ef43b 100644 --- a/frontend/web/components/pages/UserPage.tsx +++ b/frontend/web/components/pages/UserPage.tsx @@ -52,6 +52,10 @@ import _data from 'common/data/base/_data' import classNames from 'classnames' import moment from 'moment' import { removeIdentity } from './UsersPage' +import IdentityOverridesIcon from 'components/IdentityOverridesIcon' +import SegmentOverridesIcon from 'components/SegmentOverridesIcon' +import SegmentsIcon from 'components/svg/SegmentsIcon' +import UsersIcon from 'components/svg/UsersIcon' const width = [200, 48, 78] @@ -634,6 +638,11 @@ const UserPage: FC = (props) => { flagEnabledDifferent || flagValueDifferent + const hasSegmentOverride = + flagValueDifferent && + !hasUserOverride && + !isMultiVariateOverride + const onClick = () => { if (permission) { editFeature( @@ -657,9 +666,12 @@ const UserPage: FC = (props) => { return (
= (props) => { data-test={`user-feature-${i}`} onClick={onClick} > - + = (props) => { /> {hasUserOverride ? ( -
- Overriding defaults +
+ + This feature is being + overridden for this identity
) : flagEnabledDifferent ? (
@@ -742,16 +760,18 @@ const UserPage: FC = (props) => { for this user ) : ( - - This flag is being - overridden by - segments and would - normally be{' '} - + + + {`This flag is being overridden by a segment and would normally be`} +
{flagEnabled ? 'on' : 'off'} - {' '} +
{' '} for this user
)} @@ -762,7 +782,7 @@ const UserPage: FC = (props) => { isMultiVariateOverride ? (
This feature is being @@ -779,28 +799,28 @@ const UserPage: FC = (props) => {
) : ( -
- - This feature is being - overridden by segments - and would normally be{' '} - {' '} - for this user - -
+ + + {`This feature is being + overridden by a segment + and would normally be`} + {' '} + for this user + ) ) : ( getViewMode() === 'default' && ( -
+
Using environment defaults
) diff --git a/frontend/web/components/svg/UsersIcon.tsx b/frontend/web/components/svg/UsersIcon.tsx index 9e0a97768a5c..cbeb6c9be3cc 100644 --- a/frontend/web/components/svg/UsersIcon.tsx +++ b/frontend/web/components/svg/UsersIcon.tsx @@ -2,13 +2,15 @@ import React from 'react' interface UsersIconProps { className?: string + width?: number + fill?: string } -const UsersIcon: React.FC = ({ className }) => ( - +const UsersIcon: React.FC = ({ className, fill, width }) => ( + diff --git a/frontend/web/styles/_variables.scss b/frontend/web/styles/_variables.scss index f7e280df594c..b9c0ea32b6c7 100644 --- a/frontend/web/styles/_variables.scss +++ b/frontend/web/styles/_variables.scss @@ -391,3 +391,7 @@ $input-padding-y: 1rem !default; //TRANSITIONS $button-transition: background-color 400ms cubic-bezier(0.23, 1, 0.32, 1); + +.bg-opacity-5 { + --bs-bg-opacity: 0.5 !important; +} diff --git a/frontend/web/styles/project/_UserPage.scss b/frontend/web/styles/project/_UserPage.scss deleted file mode 100644 index 2c86c8e5cdcf..000000000000 --- a/frontend/web/styles/project/_UserPage.scss +++ /dev/null @@ -1,19 +0,0 @@ -@import "../variables"; - -.flag-different { - .rc-switch { - background-color: $success !important; - border-color: $success !important; - &::after{ - background-color: white; - } - } - .feature-value { - .feature-value-container { - display: inline-block; - .quot,.feature-value { - color: $success !important; - } - } - } -} diff --git a/frontend/web/styles/project/_index.scss b/frontend/web/styles/project/_index.scss index b1687748785e..13bdd81226f7 100644 --- a/frontend/web/styles/project/_index.scss +++ b/frontend/web/styles/project/_index.scss @@ -9,7 +9,6 @@ @import "panel"; @import "FeaturesPage"; @import "PricingPage"; -@import "UserPage"; @import "alert"; @import "icons"; @import "layout"; diff --git a/frontend/web/styles/project/_utils.scss b/frontend/web/styles/project/_utils.scss index 56d25bcc4fe0..0f6b89614dd2 100644 --- a/frontend/web/styles/project/_utils.scss +++ b/frontend/web/styles/project/_utils.scss @@ -229,3 +229,7 @@ .pointer-events-none { pointer-events: none; } + +.bg-primary-opacity-5 { + background-color: transparentize($primary, 0.95); +}