Skip to content

Commit 45ecba9

Browse files
committed
Update flags in components
1 parent 3a346a8 commit 45ecba9

25 files changed

+137
-56
lines changed

client/my-sites/site-settings/form-general.jsx

+17-6
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import { isEnabled } from '@automattic/calypso-config';
21
import { Card, Button, FormLabel, Gridicon } from '@automattic/components';
32
import { guessTimezone, localizeUrl } from '@automattic/i18n-utils';
43
import languages from '@automattic/languages';
@@ -15,6 +14,7 @@ import SiteLanguagePicker from 'calypso/components/language-picker/site-language
1514
import Notice from 'calypso/components/notice';
1615
import NoticeAction from 'calypso/components/notice/notice-action';
1716
import Timezone from 'calypso/components/timezone';
17+
import { getIsRemoveDuplicateViewsExperimentEnabled } from 'calypso/lib/remove-duplicate-views-experiment';
1818
import scrollToAnchor from 'calypso/lib/scroll-to-anchor';
1919
import { domainManagementEdit } from 'calypso/my-sites/domains/paths';
2020
import SettingsSectionHeader from 'calypso/my-sites/site-settings/settings-section-header';
@@ -40,8 +40,22 @@ import SiteIconSetting from './site-icon-setting';
4040
import wrapSettingsForm from './wrap-settings-form';
4141

4242
export class SiteSettingsFormGeneral extends Component {
43+
state = {
44+
isRemoveDuplicateViewsExperimentEnabled: false,
45+
};
46+
4347
componentDidMount() {
4448
setTimeout( () => scrollToAnchor( { offset: 15 } ) );
49+
getIsRemoveDuplicateViewsExperimentEnabled().then(
50+
( isRemoveDuplicateViewsExperimentEnabled ) => {
51+
if (
52+
this.state.isRemoveDuplicateViewsExperimentEnabled !==
53+
isRemoveDuplicateViewsExperimentEnabled
54+
) {
55+
this.setState( { isRemoveDuplicateViewsExperimentEnabled } );
56+
}
57+
}
58+
);
4559
}
4660

4761
getIncompleteLocaleNoticeMessage = ( language ) => {
@@ -382,6 +396,7 @@ export class SiteSettingsFormGeneral extends Component {
382396
translate,
383397
adminInterfaceIsWPAdmin,
384398
} = this.props;
399+
const { isRemoveDuplicateViewsExperimentEnabled } = this.state;
385400
const classes = clsx( 'site-settings__general-settings', {
386401
'is-loading': isRequestingSettings,
387402
} );
@@ -391,8 +406,6 @@ export class SiteSettingsFormGeneral extends Component {
391406
return null;
392407
}
393408

394-
const isDuplicateViewsExperiment = true;
395-
396409
return (
397410
<div className={ clsx( classes ) }>
398411
{ site && <QuerySiteSettings siteId={ site.ID } /> }
@@ -420,9 +433,7 @@ export class SiteSettingsFormGeneral extends Component {
420433
</Card>
421434
</>
422435
) }
423-
{ ! ( isEnabled( 'untangling/hosting-menu' ) || isDuplicateViewsExperiment ) && (
424-
<SiteSettingsForm { ...this.props } />
425-
) }
436+
{ ! isRemoveDuplicateViewsExperimentEnabled && <SiteSettingsForm { ...this.props } /> }
426437
{ ! isDevelopmentSite && this.renderAdminInterface() }
427438
</div>
428439
);

client/my-sites/site-settings/sitemaps.jsx

+20-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import { isEnabled } from '@automattic/calypso-config';
21
import { localizeUrl } from '@automattic/i18n-utils';
32
import { localize } from 'i18n-calypso';
43
import PropTypes from 'prop-types';
@@ -10,6 +9,7 @@ import FormFieldset from 'calypso/components/forms/form-fieldset';
109
import FormSettingExplanation from 'calypso/components/forms/form-setting-explanation';
1110
import { PanelCard, PanelCardHeading } from 'calypso/components/panel';
1211
import SupportInfo from 'calypso/components/support-info';
12+
import { getIsRemoveDuplicateViewsExperimentEnabled } from 'calypso/lib/remove-duplicate-views-experiment';
1313
import JetpackModuleToggle from 'calypso/my-sites/site-settings/jetpack-module-toggle';
1414
import getJetpackModule from 'calypso/state/selectors/get-jetpack-module';
1515
import isActivatingJetpackModule from 'calypso/state/selectors/is-activating-jetpack-module';
@@ -34,6 +34,23 @@ class Sitemaps extends Component {
3434
fields: PropTypes.object,
3535
};
3636

37+
state = {
38+
isRemoveDuplicateViewsExperimentEnabled: false,
39+
};
40+
41+
componentDidMount() {
42+
getIsRemoveDuplicateViewsExperimentEnabled().then(
43+
( isRemoveDuplicateViewsExperimentEnabled ) => {
44+
if (
45+
this.state.isRemoveDuplicateViewsExperimentEnabled !==
46+
isRemoveDuplicateViewsExperimentEnabled
47+
) {
48+
this.setState( { isRemoveDuplicateViewsExperimentEnabled } );
49+
}
50+
}
51+
);
52+
}
53+
3754
isSitePublic() {
3855
const { fields } = this.props;
3956
return parseInt( fields.blog_public ) === 1;
@@ -82,7 +99,7 @@ class Sitemaps extends Component {
8299

83100
renderNonPublicExplanation() {
84101
const { siteSlug, translate } = this.props;
85-
const isDuplicateViewsExperiment = true;
102+
const { isRemoveDuplicateViewsExperimentEnabled } = this.state;
86103
return (
87104
<FormSettingExplanation>
88105
{ translate(
@@ -93,7 +110,7 @@ class Sitemaps extends Component {
93110
a: (
94111
<a
95112
href={
96-
isEnabled( 'untangling/hosting-menu' ) || isDuplicateViewsExperiment
113+
isRemoveDuplicateViewsExperimentEnabled
97114
? '/sites/settings/site/' + siteSlug
98115
: '/settings/general/' + siteSlug
99116
}

client/sites/settings/administration/controller.ts

+3-2
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,9 @@ export function redirectIfCantStartSiteOwnerTransfer( context: PageJSContext, ne
5252
next();
5353
}
5454

55-
function redirectToAdministration( siteSlug: string | null ) {
56-
return isSiteSettingsUntangled()
55+
async function redirectToAdministration( siteSlug: string | null ) {
56+
const isUntangled = await isSiteSettingsUntangled();
57+
return isUntangled
5758
? page.redirect( '/sites/settings/site/' + siteSlug )
5859
: page.redirect( '/settings/general/' + siteSlug );
5960
}

client/sites/settings/administration/tools/card.jsx

+4-2
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,14 @@ import { Button } from '@automattic/components';
22
import clsx from 'clsx';
33
import { PanelCard, PanelCardDescription, PanelCardHeading } from 'calypso/components/panel';
44
import SiteToolsLink from 'calypso/my-sites/site-settings/site-tools/link';
5-
import { isSiteSettingsUntangled } from '../../utils';
5+
import { useIsSiteSettingsUntangled } from '../../hooks/use-is-site-settings-untangled';
66

77
export default function AdministrationToolCard( props ) {
88
const { description, href, isWarning, onClick, title } = props;
99

10-
if ( ! isSiteSettingsUntangled() ) {
10+
const isUntangled = useIsSiteSettingsUntangled();
11+
12+
if ( ! isUntangled ) {
1113
return <SiteToolsLink { ...props } />;
1214
}
1315

client/sites/settings/administration/tools/delete-site/delete-site-warnings.jsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@ import { useTranslate } from 'i18n-calypso';
33
import PropTypes from 'prop-types';
44
import { PanelCard, PanelCardHeading } from 'calypso/components/panel';
55
import { purchasesRoot } from 'calypso/me/purchases/paths';
6-
import { isSiteSettingsUntangled } from '../../../utils';
6+
import { useIsSiteSettingsUntangled } from 'calypso/sites/settings/hooks/use-is-site-settings-untangled';
77

88
function DeleteSiteWarnings( { p2HubP2Count, isAtomicRemovalInProgress, isTrialSite = false } ) {
99
const translate = useTranslate();
10-
const isUntangled = isSiteSettingsUntangled();
10+
const isUntangled = useIsSiteSettingsUntangled();
1111

1212
const getButtons = () => {
1313
if ( isAtomicRemovalInProgress ) {

client/sites/settings/administration/tools/delete-site/index.jsx

+12-2
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ class DeleteSite extends Component {
4646
state = {
4747
confirmDomain: '',
4848
isDeletingSite: false,
49+
isUntangled: false,
4950
};
5051

5152
renderNotice() {
@@ -169,8 +170,9 @@ class DeleteSite extends Component {
169170
};
170171

171172
_goBack = () => {
173+
const { isUntangled } = this.state;
172174
const { siteSlug } = this.props;
173-
const source = isSiteSettingsUntangled() ? '/sites/settings/site' : getSettingsSource();
175+
const source = isUntangled ? '/sites/settings/site' : getSettingsSource();
174176

175177
page( `${ source }/${ siteSlug }` );
176178
};
@@ -188,6 +190,14 @@ class DeleteSite extends Component {
188190
}
189191
}
190192

193+
componentDidMount() {
194+
isSiteSettingsUntangled().then( ( isUntangled ) => {
195+
if ( this.state.isUntangled !== isUntangled ) {
196+
this.setState( { isUntangled } );
197+
}
198+
} );
199+
}
200+
191201
_checkSiteLoaded = ( event ) => {
192202
const { siteId } = this.props;
193203
if ( ! siteId ) {
@@ -202,6 +212,7 @@ class DeleteSite extends Component {
202212
};
203213

204214
render() {
215+
const { isUntangled } = this.state;
205216
const { isAtomic, isFreePlan, siteId, hasCancelablePurchases, p2HubP2Count } = this.props;
206217
const isAtomicRemovalInProgress = isFreePlan && isAtomic;
207218
const canDeleteSite =
@@ -212,7 +223,6 @@ class DeleteSite extends Component {
212223
exportContent: translate( 'Export content' ),
213224
exportContentFirst: translate( 'Export content first' ),
214225
};
215-
const isUntangled = isSiteSettingsUntangled();
216226

217227
return (
218228
<Panel className="settings-administration__delete-site">

client/sites/settings/administration/tools/index.jsx

+13-1
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,24 @@ const trackDeleteSiteOption = ( option ) => {
3333
};
3434

3535
class SiteTools extends Component {
36+
state = {
37+
isUntangled: false,
38+
};
39+
3640
componentDidUpdate( prevProps ) {
3741
if ( ! prevProps.purchasesError && this.props.purchasesError ) {
3842
this.props.errorNotice( this.props.purchasesError );
3943
}
4044
}
4145

46+
componentDidMount() {
47+
isSiteSettingsUntangled().then( ( isUntangled ) => {
48+
if ( this.state.isUntangled !== isUntangled ) {
49+
this.setState( { isUntangled } );
50+
}
51+
} );
52+
}
53+
4254
render() {
4355
const {
4456
shouldShowSiteCopyItem,
@@ -59,7 +71,7 @@ class SiteTools extends Component {
5971
source,
6072
} = this.props;
6173

62-
const isUntangled = isSiteSettingsUntangled();
74+
const { isUntangled } = this.state;
6375

6476
const changeAddressLink = `/domains/manage/${ siteSlug }?source=${ source }`;
6577

client/sites/settings/administration/tools/reset-site/index.jsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ import isUnlaunchedSite from 'calypso/state/selectors/is-unlaunched-site';
2525
import { getSite, getSiteDomain, isJetpackSite } from 'calypso/state/sites/selectors';
2626
import { getSelectedSiteId, getSelectedSiteSlug } from 'calypso/state/ui/selectors';
2727
import { DIFMUpsell } from '../../../components/difm-upsell-banner';
28-
import { isSiteSettingsUntangled } from '../../../utils';
28+
import { useIsSiteSettingsUntangled } from '../../../hooks/use-is-site-settings-untangled';
2929

3030
import './style.scss';
3131

@@ -46,7 +46,7 @@ function SiteResetCard( {
4646
const [ isDomainConfirmed, setDomainConfirmed ] = useState( false );
4747
const [ resetComplete, setResetComplete ] = useState( false );
4848

49-
const isUntangled = isSiteSettingsUntangled();
49+
const isUntangled = useIsSiteSettingsUntangled();
5050

5151
const title = isUntangled ? translate( 'Reset site' ) : translate( 'Site Reset' );
5252
const source = isUntangled ? '/sites/settings/site' : getSettingsSource();

client/sites/settings/administration/tools/transfer-site/confirmation-transfer.tsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { LoadingBar } from 'calypso/components/loading-bar';
55
import Notice from 'calypso/components/notice';
66
import { PanelCardHeading } from 'calypso/components/panel';
77
import { recordTracksEvent } from 'calypso/lib/analytics/tracks';
8-
import { isSiteSettingsUntangled } from '../../../utils';
8+
import { useIsSiteSettingsUntangled } from 'calypso/sites/settings/hooks/use-is-site-settings-untangled';
99
import { useConfirmTransfer } from './use-confirm-transfer';
1010

1111
type SiteTransferResponse = {
@@ -51,7 +51,7 @@ export function ConfirmationTransfer( {
5151
confirmTransfer( confirmationHash );
5252
}, [ confirmTransfer, confirmationHash ] );
5353

54-
const isUntangled = isSiteSettingsUntangled();
54+
const isUntangled = useIsSiteSettingsUntangled();
5555

5656
if ( isEmailSent ) {
5757
const notice = (

client/sites/settings/administration/tools/transfer-site/index.tsx

+5-3
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { useQueryUserPurchases } from 'calypso/components/data/query-user-purcha
66
import { PanelCardHeading } from 'calypso/components/panel';
77
import { ResponseDomain } from 'calypso/lib/domains/types';
88
import { getSettingsSource } from 'calypso/my-sites/site-settings/site-tools/utils';
9-
import { isSiteSettingsUntangled } from 'calypso/sites/settings/utils';
9+
import { useIsSiteSettingsUntangled } from 'calypso/sites/settings/hooks/use-is-site-settings-untangled';
1010
import { useDispatch, useSelector } from 'calypso/state';
1111
import { recordTracksEvent } from 'calypso/state/analytics/actions';
1212
import { getCurrentUserEmail } from 'calypso/state/current-user/selectors';
@@ -26,12 +26,13 @@ const Strong = styled( 'strong' )( {
2626

2727
const SiteTransferComplete = () => {
2828
const translate = useTranslate();
29+
const isUntangled = useIsSiteSettingsUntangled();
30+
2931
const userEmail = useSelector( getCurrentUserEmail );
3032
if ( ! userEmail ) {
3133
return null;
3234
}
3335

34-
const isUntangled = isSiteSettingsUntangled();
3536
const message = (
3637
<p>
3738
{ translate(
@@ -70,6 +71,7 @@ const SiteOwnerTransfer = () => {
7071
const pendingDomain = nonWpcomDomains?.find(
7172
( wpcomDomain: ResponseDomain ) => wpcomDomain.pendingTransfer
7273
);
74+
const isSiteSettingsUntangled = useIsSiteSettingsUntangled();
7375

7476
useEffect( () => {
7577
dispatch( recordTracksEvent( 'calypso_site_owner_transfer_page_view' ) );
@@ -83,7 +85,7 @@ const SiteOwnerTransfer = () => {
8385
if ( ! pendingDomain && newSiteOwner && ! transferSiteSuccess ) {
8486
setNewSiteOwner( null );
8587
} else {
86-
const source = isSiteSettingsUntangled() ? '/sites/settings/site' : getSettingsSource();
88+
const source = isSiteSettingsUntangled ? '/sites/settings/site' : getSettingsSource();
8789
page( `${ source }/${ selectedSite.slug }` );
8890
}
8991
};

client/sites/settings/administration/tools/transfer-site/pending-domain-transfer.tsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,15 @@ import { sprintf } from '@wordpress/i18n';
55
import { useTranslate } from 'i18n-calypso';
66
import { PanelCardHeading } from 'calypso/components/panel';
77
import { ResponseDomain } from 'calypso/lib/domains/types';
8-
import { isSiteSettingsUntangled } from '../../../utils';
8+
import { useIsSiteSettingsUntangled } from 'calypso/sites/settings/hooks/use-is-site-settings-untangled';
99

1010
const Strong = styled( 'strong' )( {
1111
fontWeight: 500,
1212
} );
1313

1414
const PendingDomainTransfer = ( { domain }: { domain: ResponseDomain } ) => {
1515
const translate = useTranslate();
16-
const isUntangled = isSiteSettingsUntangled();
16+
const isUntangled = useIsSiteSettingsUntangled();
1717
return (
1818
<>
1919
<>

client/sites/settings/administration/tools/transfer-site/site-owner-user-search.tsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import { PanelCardHeading } from 'calypso/components/panel';
99
import useUsersQuery from 'calypso/data/users/use-users-query';
1010
import { recordTracksEvent } from 'calypso/lib/analytics/tracks';
1111
import TeamMembersSiteTransfer from 'calypso/my-sites/people/team-members-site-transfer';
12-
import { isSiteSettingsUntangled } from '../../../utils';
12+
import { useIsSiteSettingsUntangled } from 'calypso/sites/settings/hooks/use-is-site-settings-untangled';
1313
import { useCheckSiteTransferEligibility } from './use-check-site-transfer-eligibility';
1414
import type { UsersQuery } from '@automattic/data-stores';
1515

@@ -159,7 +159,7 @@ const SiteOwnerTransferEligibility = ( {
159159
</form>
160160
);
161161

162-
const isUntangled = isSiteSettingsUntangled();
162+
const isUntangled = useIsSiteSettingsUntangled();
163163

164164
return (
165165
<>

client/sites/settings/administration/tools/transfer-site/site-transfer-card.tsx

+3-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import InlineSupportLink from 'calypso/components/inline-support-link';
44
import NavigationHeader from 'calypso/components/navigation-header';
55
import { Panel, PanelCard } from 'calypso/components/panel';
66
import PageViewTracker from 'calypso/lib/analytics/page-view-tracker';
7-
import { isSiteSettingsUntangled } from 'calypso/sites/settings/utils';
7+
import { useIsSiteSettingsUntangled } from 'calypso/sites/settings/hooks/use-is-site-settings-untangled';
88

99
export function SiteTransferCard( {
1010
children,
@@ -14,7 +14,8 @@ export function SiteTransferCard( {
1414
onClick: () => void;
1515
} ) {
1616
const translate = useTranslate();
17-
const title = isSiteSettingsUntangled()
17+
const isSiteSettingsUntangled = useIsSiteSettingsUntangled();
18+
const title = isSiteSettingsUntangled
1819
? translate( 'Transfer site' )
1920
: translate( 'Site Transfer' );
2021
return (

client/sites/settings/administration/tools/transfer-site/start-site-owner-transfer.tsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,11 @@ import Notice from 'calypso/components/notice';
1010
import { PanelCardHeading } from 'calypso/components/panel';
1111
import { recordTracksEvent } from 'calypso/lib/analytics/tracks';
1212
import { ResponseDomain } from 'calypso/lib/domains/types';
13+
import { useIsSiteSettingsUntangled } from 'calypso/sites/settings/hooks/use-is-site-settings-untangled';
1314
import { getSitePurchases } from 'calypso/state/purchases/selectors';
1415
import isSiteAutomatedTransfer from 'calypso/state/selectors/is-site-automated-transfer';
1516
import { IAppState } from 'calypso/state/types';
1617
import { getSelectedSiteId, getSelectedSiteSlug } from 'calypso/state/ui/selectors';
17-
import { isSiteSettingsUntangled } from '../../../utils';
1818
import { useStartSiteOwnerTransfer } from './use-start-site-owner-transfer';
1919
import type { Purchase } from 'calypso/lib/purchases/types';
2020

@@ -342,7 +342,7 @@ const StartSiteOwnerTransfer = ( {
342342
</>
343343
);
344344

345-
const isUntangled = isSiteSettingsUntangled();
345+
const isUntangled = useIsSiteSettingsUntangled();
346346

347347
return (
348348
<>

0 commit comments

Comments
 (0)