diff --git a/client/blocks/plugins-scheduled-updates-multisite/index.tsx b/client/blocks/plugins-scheduled-updates-multisite/index.tsx
index a3c20d2652872..bd934d3f9e389 100644
--- a/client/blocks/plugins-scheduled-updates-multisite/index.tsx
+++ b/client/blocks/plugins-scheduled-updates-multisite/index.tsx
@@ -10,7 +10,7 @@ import { ScheduleCreate } from './schedule-create';
import { ScheduleEdit } from './schedule-edit';
import { ScheduleList } from './schedule-list';
-import 'calypso/hosting/sites/components/dotcom-style.scss';
+import 'calypso/sites/components/dotcom-style.scss';
import './styles.scss';
type Props = {
diff --git a/client/hosting/deployments/index.tsx b/client/hosting/deployments/index.tsx
index ba996cfe6af72..c3ba3611240f6 100644
--- a/client/hosting/deployments/index.tsx
+++ b/client/hosting/deployments/index.tsx
@@ -4,9 +4,9 @@ import {
render as clientRender,
redirectToHostingPromoIfNotAtomic,
} from 'calypso/controller';
-import { DOTCOM_GITHUB_DEPLOYMENTS } from 'calypso/hosting/sites/components/site-preview-pane/constants';
-import { siteDashboard } from 'calypso/hosting/sites/controller';
import { navigation, siteSelection, sites } from 'calypso/my-sites/controller';
+import { DOTCOM_GITHUB_DEPLOYMENTS } from 'calypso/sites/components/site-preview-pane/constants';
+import { siteDashboard } from 'calypso/sites/controller';
import {
redirectHomeIfIneligible,
deploymentCreation,
diff --git a/client/hosting/hosting-features/index.tsx b/client/hosting/hosting-features/index.tsx
index 65618f27030e0..b4e60a4534f36 100644
--- a/client/hosting/hosting-features/index.tsx
+++ b/client/hosting/hosting-features/index.tsx
@@ -1,9 +1,9 @@
import page, { Context as PageJSContext } from '@automattic/calypso-router';
import { addQueryArgs } from '@wordpress/url';
import { makeLayout, render as clientRender, redirectIfP2 } from 'calypso/controller';
-import { DOTCOM_HOSTING_FEATURES } from 'calypso/hosting/sites/components/site-preview-pane/constants';
-import { siteDashboard } from 'calypso/hosting/sites/controller';
import { navigation, siteSelection, sites } from 'calypso/my-sites/controller';
+import { DOTCOM_HOSTING_FEATURES } from 'calypso/sites/components/site-preview-pane/constants';
+import { siteDashboard } from 'calypso/sites/controller';
import { getSelectedSite } from 'calypso/state/ui/selectors';
import { hostingFeatures } from './controller';
diff --git a/client/hosting/logs/index.tsx b/client/hosting/logs/index.tsx
index bf516f1b99e1b..4c279a37125d5 100644
--- a/client/hosting/logs/index.tsx
+++ b/client/hosting/logs/index.tsx
@@ -4,12 +4,12 @@ import {
render as clientRender,
redirectToHostingPromoIfNotAtomic,
} from 'calypso/controller';
+import { siteSelection, sites, navigation } from 'calypso/my-sites/controller';
import {
DOTCOM_LOGS_PHP,
DOTCOM_LOGS_WEB,
-} from 'calypso/hosting/sites/components/site-preview-pane/constants';
-import { siteDashboard } from 'calypso/hosting/sites/controller';
-import { siteSelection, sites, navigation } from 'calypso/my-sites/controller';
+} from 'calypso/sites/components/site-preview-pane/constants';
+import { siteDashboard } from 'calypso/sites/controller';
import { redirectHomeIfIneligible } from '../monitoring/controller';
import { phpErrorLogs, webServerLogs } from './controller';
diff --git a/client/hosting/monitoring/index.tsx b/client/hosting/monitoring/index.tsx
index 5adb69a4e3783..dd0d38e32d4d4 100644
--- a/client/hosting/monitoring/index.tsx
+++ b/client/hosting/monitoring/index.tsx
@@ -5,8 +5,8 @@ import {
redirectToHostingPromoIfNotAtomic,
} from 'calypso/controller';
import { siteSelection, sites, navigation } from 'calypso/my-sites/controller';
-import { DOTCOM_MONITORING } from '../sites/components/site-preview-pane/constants';
-import { siteDashboard } from '../sites/controller';
+import { DOTCOM_MONITORING } from 'calypso/sites/components/site-preview-pane/constants';
+import { siteDashboard } from 'calypso/sites/controller';
import { redirectHomeIfIneligible, siteMonitoring } from './controller';
export default function () {
diff --git a/client/hosting/overview/index.tsx b/client/hosting/overview/index.tsx
index 90f113c93c3c8..62f80808a9c63 100644
--- a/client/hosting/overview/index.tsx
+++ b/client/hosting/overview/index.tsx
@@ -8,12 +8,12 @@ import {
redirectIfJetpackNonAtomic,
} from 'calypso/controller';
import { handleHostingPanelRedirect } from 'calypso/hosting/server-settings/controller';
+import { navigation, siteSelection, sites } from 'calypso/my-sites/controller';
import {
DOTCOM_HOSTING_CONFIG,
DOTCOM_OVERVIEW,
-} from 'calypso/hosting/sites/components/site-preview-pane/constants';
-import { siteDashboard } from 'calypso/hosting/sites/controller';
-import { navigation, siteSelection, sites } from 'calypso/my-sites/controller';
+} from 'calypso/sites/components/site-preview-pane/constants';
+import { siteDashboard } from 'calypso/sites/controller';
import { hostingOverview, hostingConfiguration, hostingActivate } from './controller';
export default function () {
diff --git a/client/hosting/performance/index.tsx b/client/hosting/performance/index.tsx
index 954edd323ad5e..996249aa20d52 100644
--- a/client/hosting/performance/index.tsx
+++ b/client/hosting/performance/index.tsx
@@ -4,9 +4,9 @@ import {
render as clientRender,
redirectToHostingPromoIfNotAtomic,
} from 'calypso/controller';
-import { DOTCOM_SITE_PERFORMANCE } from 'calypso/hosting/sites/components/site-preview-pane/constants';
-import { siteDashboard } from 'calypso/hosting/sites/controller';
import { siteSelection, sites, navigation } from 'calypso/my-sites/controller';
+import { DOTCOM_SITE_PERFORMANCE } from 'calypso/sites/components/site-preview-pane/constants';
+import { siteDashboard } from 'calypso/sites/controller';
import { sitePerformance } from './controller';
export default function () {
diff --git a/client/hosting/staging-site/index.tsx b/client/hosting/staging-site/index.tsx
index 11c4b3187c721..979bb4816dcf9 100644
--- a/client/hosting/staging-site/index.tsx
+++ b/client/hosting/staging-site/index.tsx
@@ -6,9 +6,9 @@ import {
redirectToHostingPromoIfNotAtomic,
} from 'calypso/controller';
import { handleHostingPanelRedirect } from 'calypso/hosting/server-settings/controller';
-import { DOTCOM_STAGING_SITE } from 'calypso/hosting/sites/components/site-preview-pane/constants';
-import { siteDashboard } from 'calypso/hosting/sites/controller';
import { navigation, siteSelection, sites } from 'calypso/my-sites/controller';
+import { DOTCOM_STAGING_SITE } from 'calypso/sites/components/site-preview-pane/constants';
+import { siteDashboard } from 'calypso/sites/controller';
import { renderStagingSite } from './controller';
export default function () {
diff --git a/client/sections.js b/client/sections.js
index 845a143a5b6a2..92d5414133047 100644
--- a/client/sections.js
+++ b/client/sections.js
@@ -17,15 +17,21 @@ const sections = [
{
name: 'sites-dashboard',
paths: [ '/sites' ],
- module: 'calypso/hosting/sites',
+ module: 'calypso/sites',
group: 'sites-dashboard',
},
{
name: 'sites-dashboard',
paths: [ '/p2s' ],
- module: 'calypso/hosting/sites',
+ module: 'calypso/sites',
group: 'sites-dashboard',
},
+ {
+ name: 'sites-marketing',
+ paths: [ '/sites/marketing' ],
+ module: 'calypso/sites/marketing',
+ group: 'sites',
+ },
{
name: 'switch-site',
paths: [ '/switch-site' ],
diff --git a/client/hosting/sites/components/dotcom-style.scss b/client/sites/components/dotcom-style.scss
similarity index 100%
rename from client/hosting/sites/components/dotcom-style.scss
rename to client/sites/components/dotcom-style.scss
diff --git a/client/hosting/sites/components/guided-tours.scss b/client/sites/components/guided-tours.scss
similarity index 100%
rename from client/hosting/sites/components/guided-tours.scss
rename to client/sites/components/guided-tours.scss
diff --git a/client/hosting/sites/components/link-with-redirect/index.tsx b/client/sites/components/link-with-redirect/index.tsx
similarity index 100%
rename from client/hosting/sites/components/link-with-redirect/index.tsx
rename to client/sites/components/link-with-redirect/index.tsx
diff --git a/client/hosting/sites/components/link-with-redirect/test/index.tsx b/client/sites/components/link-with-redirect/test/index.tsx
similarity index 100%
rename from client/hosting/sites/components/link-with-redirect/test/index.tsx
rename to client/sites/components/link-with-redirect/test/index.tsx
diff --git a/client/sites/components/panel-sidebar/index.tsx b/client/sites/components/panel-sidebar/index.tsx
new file mode 100644
index 0000000000000..396ceddd90aed
--- /dev/null
+++ b/client/sites/components/panel-sidebar/index.tsx
@@ -0,0 +1,50 @@
+import { Button } from '@wordpress/components';
+import clsx from 'clsx';
+import { navigate } from 'calypso/lib/navigate';
+
+import './style.scss';
+
+interface PanelSidebarItem {
+ key: string;
+ label: string;
+}
+
+interface PanelSidebarProps {
+ items: PanelSidebarItem[];
+ selectedItemKey: string;
+}
+
+function PanelSidebar( { items, selectedItemKey }: PanelSidebarProps ) {
+ const switchItem = ( key: string ) => {
+ navigate( window.location.pathname.replace( /\/[^/]+\/([^/]+)$/, `/${ key }/$1` ) );
+ };
+
+ return (
+
+ { items.map( ( item ) => {
+ return (
+
+ );
+ } ) }
+
+ );
+}
+
+export function PanelWithSidebar( { children }: { children: React.ReactNode } ) {
+ return { children }
;
+}
+
+export default function makeSidebar( { items }: { items: PanelSidebarItem[] } ) {
+ const props = { items };
+ return ( { selectedItemKey }: { selectedItemKey: string } ) => (
+
+ );
+}
diff --git a/client/sites/components/panel-sidebar/style.scss b/client/sites/components/panel-sidebar/style.scss
new file mode 100644
index 0000000000000..2d5e88540b749
--- /dev/null
+++ b/client/sites/components/panel-sidebar/style.scss
@@ -0,0 +1,22 @@
+
+@import "~@automattic/color-studio/dist/color-variables";
+
+.panel-with-sidebar {
+ display: flex;
+ gap: 20px;
+}
+
+.panel-sidebar {
+ width: 160px;
+}
+
+.panel-sidebar-tab {
+ width: 100%;
+ color: var(--studio-gray-100);
+
+ &--active {
+ background-color: #f0f0f0;
+ font-weight: 600;
+ border-radius: 4px;
+ }
+}
diff --git a/client/hosting/sites/components/site-preview-pane/constants.ts b/client/sites/components/site-preview-pane/constants.ts
similarity index 78%
rename from client/hosting/sites/components/site-preview-pane/constants.ts
rename to client/sites/components/site-preview-pane/constants.ts
index 97145ffeb605d..e5d2a1baf7321 100644
--- a/client/hosting/sites/components/site-preview-pane/constants.ts
+++ b/client/sites/components/site-preview-pane/constants.ts
@@ -7,6 +7,8 @@ export const DOTCOM_HOSTING_CONFIG = 'dotcom-hosting-config';
export const DOTCOM_HOSTING_FEATURES = 'dotcom-hosting-features';
export const DOTCOM_STAGING_SITE = 'dotcom-staging-site';
export const DOTCOM_SITE_PERFORMANCE = 'dotcom-site-performance';
+export const DOTCOM_MARKETING_TOOLS = 'dotcom-marketing-tools';
+export const DOTCOM_MARKETING_BUSINESS_TOOLS = 'dotcom-marketing-business-tools';
export const FEATURE_TO_ROUTE_MAP: { [ feature: string ]: string } = {
[ DOTCOM_OVERVIEW ]: 'overview/:site',
@@ -18,4 +20,6 @@ export const FEATURE_TO_ROUTE_MAP: { [ feature: string ]: string } = {
[ DOTCOM_HOSTING_FEATURES ]: 'hosting-features/:site',
[ DOTCOM_STAGING_SITE ]: 'staging-site/:site',
[ DOTCOM_SITE_PERFORMANCE ]: 'sites/performance/:site',
+ [ DOTCOM_MARKETING_TOOLS ]: 'sites/marketing/tools/:site',
+ [ DOTCOM_MARKETING_BUSINESS_TOOLS ]: 'sites/marketing/business-tools/:site',
};
diff --git a/client/hosting/sites/components/site-preview-pane/dotcom-preview-pane.tsx b/client/sites/components/site-preview-pane/dotcom-preview-pane.tsx
similarity index 96%
rename from client/hosting/sites/components/site-preview-pane/dotcom-preview-pane.tsx
rename to client/sites/components/site-preview-pane/dotcom-preview-pane.tsx
index fd39e07be3d2b..32c787dde22e7 100644
--- a/client/hosting/sites/components/site-preview-pane/dotcom-preview-pane.tsx
+++ b/client/sites/components/site-preview-pane/dotcom-preview-pane.tsx
@@ -19,6 +19,8 @@ import {
DOTCOM_GITHUB_DEPLOYMENTS,
DOTCOM_HOSTING_FEATURES,
DOTCOM_STAGING_SITE,
+ DOTCOM_MARKETING_TOOLS,
+ DOTCOM_MARKETING_BUSINESS_TOOLS,
} from './constants';
import PreviewPaneHeaderButtons from './preview-pane-header-buttons';
import SiteEnvironmentSwitcher from './site-environment-switcher';
@@ -102,6 +104,11 @@ const DotcomPreviewPane = ( {
enabled: isActiveAtomicSite,
featureIds: [ DOTCOM_STAGING_SITE ],
},
+ {
+ label: __( 'Marketing' ),
+ enabled: config.isEnabled( 'untangling/hosting-menu' ),
+ featureIds: [ DOTCOM_MARKETING_TOOLS, DOTCOM_MARKETING_BUSINESS_TOOLS ],
+ },
{
label: hasEnTranslation( 'Server Settings' )
? __( 'Server Settings' )
diff --git a/client/hosting/sites/components/site-preview-pane/preview-pane-header-buttons.tsx b/client/sites/components/site-preview-pane/preview-pane-header-buttons.tsx
similarity index 100%
rename from client/hosting/sites/components/site-preview-pane/preview-pane-header-buttons.tsx
rename to client/sites/components/site-preview-pane/preview-pane-header-buttons.tsx
diff --git a/client/hosting/sites/components/site-preview-pane/preview-pane-sample.tsx b/client/sites/components/site-preview-pane/preview-pane-sample.tsx
similarity index 100%
rename from client/hosting/sites/components/site-preview-pane/preview-pane-sample.tsx
rename to client/sites/components/site-preview-pane/preview-pane-sample.tsx
diff --git a/client/hosting/sites/components/site-preview-pane/site-environment-switcher.scss b/client/sites/components/site-preview-pane/site-environment-switcher.scss
similarity index 100%
rename from client/hosting/sites/components/site-preview-pane/site-environment-switcher.scss
rename to client/sites/components/site-preview-pane/site-environment-switcher.scss
diff --git a/client/hosting/sites/components/site-preview-pane/site-environment-switcher.tsx b/client/sites/components/site-preview-pane/site-environment-switcher.tsx
similarity index 100%
rename from client/hosting/sites/components/site-preview-pane/site-environment-switcher.tsx
rename to client/sites/components/site-preview-pane/site-environment-switcher.tsx
diff --git a/client/hosting/sites/components/sites-dashboard-banners-manager.tsx b/client/sites/components/sites-dashboard-banners-manager.tsx
similarity index 100%
rename from client/hosting/sites/components/sites-dashboard-banners-manager.tsx
rename to client/sites/components/sites-dashboard-banners-manager.tsx
diff --git a/client/hosting/sites/components/sites-dashboard-header.tsx b/client/sites/components/sites-dashboard-header.tsx
similarity index 100%
rename from client/hosting/sites/components/sites-dashboard-header.tsx
rename to client/sites/components/sites-dashboard-header.tsx
diff --git a/client/hosting/sites/components/sites-dashboard.tsx b/client/sites/components/sites-dashboard.tsx
similarity index 100%
rename from client/hosting/sites/components/sites-dashboard.tsx
rename to client/sites/components/sites-dashboard.tsx
diff --git a/client/hosting/sites/components/sites-dataviews/constants.tsx b/client/sites/components/sites-dataviews/constants.tsx
similarity index 100%
rename from client/hosting/sites/components/sites-dataviews/constants.tsx
rename to client/sites/components/sites-dataviews/constants.tsx
diff --git a/client/hosting/sites/components/sites-dataviews/dataviews-fields/actions-field.tsx b/client/sites/components/sites-dataviews/dataviews-fields/actions-field.tsx
similarity index 100%
rename from client/hosting/sites/components/sites-dataviews/dataviews-fields/actions-field.tsx
rename to client/sites/components/sites-dataviews/dataviews-fields/actions-field.tsx
diff --git a/client/hosting/sites/components/sites-dataviews/dataviews-fields/site-field.tsx b/client/sites/components/sites-dataviews/dataviews-fields/site-field.tsx
similarity index 100%
rename from client/hosting/sites/components/sites-dataviews/dataviews-fields/site-field.tsx
rename to client/sites/components/sites-dataviews/dataviews-fields/site-field.tsx
diff --git a/client/hosting/sites/components/sites-dataviews/index.tsx b/client/sites/components/sites-dataviews/index.tsx
similarity index 100%
rename from client/hosting/sites/components/sites-dataviews/index.tsx
rename to client/sites/components/sites-dataviews/index.tsx
diff --git a/client/hosting/sites/components/sites-dataviews/sites-site-actions.tsx b/client/sites/components/sites-dataviews/sites-site-actions.tsx
similarity index 100%
rename from client/hosting/sites/components/sites-dataviews/sites-site-actions.tsx
rename to client/sites/components/sites-dataviews/sites-site-actions.tsx
diff --git a/client/hosting/sites/components/sites-dataviews/sites-site-stats.tsx b/client/sites/components/sites-dataviews/sites-site-stats.tsx
similarity index 100%
rename from client/hosting/sites/components/sites-dataviews/sites-site-stats.tsx
rename to client/sites/components/sites-dataviews/sites-site-stats.tsx
diff --git a/client/hosting/sites/components/sites-dataviews/sites-site-status.tsx b/client/sites/components/sites-dataviews/sites-site-status.tsx
similarity index 100%
rename from client/hosting/sites/components/sites-dataviews/sites-site-status.tsx
rename to client/sites/components/sites-dataviews/sites-site-status.tsx
diff --git a/client/hosting/sites/components/sites-dataviews/style.scss b/client/sites/components/sites-dataviews/style.scss
similarity index 100%
rename from client/hosting/sites/components/sites-dataviews/style.scss
rename to client/sites/components/sites-dataviews/style.scss
diff --git a/client/hosting/sites/components/sites-dataviews/utils.ts b/client/sites/components/sites-dataviews/utils.ts
similarity index 100%
rename from client/hosting/sites/components/sites-dataviews/utils.ts
rename to client/sites/components/sites-dataviews/utils.ts
diff --git a/client/hosting/sites/components/style.scss b/client/sites/components/style.scss
similarity index 100%
rename from client/hosting/sites/components/style.scss
rename to client/sites/components/style.scss
diff --git a/client/hosting/sites/components/test/sites-dashboard-banners-manager.test.tsx b/client/sites/components/test/sites-dashboard-banners-manager.test.tsx
similarity index 100%
rename from client/hosting/sites/components/test/sites-dashboard-banners-manager.test.tsx
rename to client/sites/components/test/sites-dashboard-banners-manager.test.tsx
diff --git a/client/hosting/sites/controller.tsx b/client/sites/controller.tsx
similarity index 100%
rename from client/hosting/sites/controller.tsx
rename to client/sites/controller.tsx
diff --git a/client/hosting/sites/hooks/use-initialize-dataviews-page.ts b/client/sites/hooks/use-initialize-dataviews-page.ts
similarity index 100%
rename from client/hosting/sites/hooks/use-initialize-dataviews-page.ts
rename to client/sites/hooks/use-initialize-dataviews-page.ts
diff --git a/client/hosting/sites/hooks/use-restore-site-mutation.ts b/client/sites/hooks/use-restore-site-mutation.ts
similarity index 100%
rename from client/hosting/sites/hooks/use-restore-site-mutation.ts
rename to client/sites/hooks/use-restore-site-mutation.ts
diff --git a/client/hosting/sites/hooks/use-show-site-creation-notice.tsx b/client/sites/hooks/use-show-site-creation-notice.tsx
similarity index 100%
rename from client/hosting/sites/hooks/use-show-site-creation-notice.tsx
rename to client/sites/hooks/use-show-site-creation-notice.tsx
diff --git a/client/hosting/sites/hooks/use-show-site-transferred-notice.ts b/client/sites/hooks/use-show-site-transferred-notice.ts
similarity index 100%
rename from client/hosting/sites/hooks/use-show-site-transferred-notice.ts
rename to client/sites/hooks/use-show-site-transferred-notice.ts
diff --git a/client/hosting/sites/hooks/use-sites-dashboard-import-site-url.ts b/client/sites/hooks/use-sites-dashboard-import-site-url.ts
similarity index 100%
rename from client/hosting/sites/hooks/use-sites-dashboard-import-site-url.ts
rename to client/sites/hooks/use-sites-dashboard-import-site-url.ts
diff --git a/client/hosting/sites/hooks/use-sync-selected-site-feature.ts b/client/sites/hooks/use-sync-selected-site-feature.ts
similarity index 100%
rename from client/hosting/sites/hooks/use-sync-selected-site-feature.ts
rename to client/sites/hooks/use-sync-selected-site-feature.ts
diff --git a/client/hosting/sites/hooks/use-sync-selected-site.ts b/client/sites/hooks/use-sync-selected-site.ts
similarity index 100%
rename from client/hosting/sites/hooks/use-sync-selected-site.ts
rename to client/sites/hooks/use-sync-selected-site.ts
diff --git a/client/hosting/sites/index.tsx b/client/sites/index.tsx
similarity index 100%
rename from client/hosting/sites/index.tsx
rename to client/sites/index.tsx
diff --git a/client/sites/marketing/business-tools/index.tsx b/client/sites/marketing/business-tools/index.tsx
new file mode 100644
index 0000000000000..93a8d9e93435b
--- /dev/null
+++ b/client/sites/marketing/business-tools/index.tsx
@@ -0,0 +1,3 @@
+export default function BusinessTools() {
+ return This is Business Tools page
;
+}
diff --git a/client/sites/marketing/controller.tsx b/client/sites/marketing/controller.tsx
new file mode 100644
index 0000000000000..1ae6f3b59cb38
--- /dev/null
+++ b/client/sites/marketing/controller.tsx
@@ -0,0 +1,42 @@
+import { __ } from '@wordpress/i18n';
+import makeSidebar, { PanelWithSidebar } from '../components/panel-sidebar';
+import BusinessTools from './business-tools';
+import MarketingTools from './tools';
+import type { Context as PageJSContext } from '@automattic/calypso-router';
+
+const MarketingSidebar = makeSidebar( {
+ items: [
+ {
+ key: 'tools',
+ get label() {
+ return __( 'Marketing Tools' );
+ },
+ },
+ {
+ key: 'business-tools',
+ get label() {
+ return __( 'Business Tools' );
+ },
+ },
+ ],
+} );
+
+export function marketingTools( context: PageJSContext, next: () => void ) {
+ context.primary = (
+
+
+
+
+ );
+ next();
+}
+
+export function businessTools( context: PageJSContext, next: () => void ) {
+ context.primary = (
+
+
+
+
+ );
+ next();
+}
diff --git a/client/sites/marketing/index.tsx b/client/sites/marketing/index.tsx
new file mode 100644
index 0000000000000..0fe9f82ec21b1
--- /dev/null
+++ b/client/sites/marketing/index.tsx
@@ -0,0 +1,38 @@
+import page, { type Callback } from '@automattic/calypso-router';
+import { makeLayout, render as clientRender } from 'calypso/controller';
+import { siteSelection, sites, navigation } from 'calypso/my-sites/controller';
+import {
+ DOTCOM_MARKETING_BUSINESS_TOOLS,
+ DOTCOM_MARKETING_TOOLS,
+} from 'calypso/sites/components/site-preview-pane/constants';
+import { siteDashboard } from 'calypso/sites/controller';
+import { marketingTools, businessTools } from './controller';
+
+export default function () {
+ page( '/sites/marketing', siteSelection, sites, makeLayout, clientRender );
+
+ const redirectWoy: Callback = ( context ) => {
+ context.page.replace( `/sites/marketing/tools/${ context.params.site }` );
+ };
+ page( '/sites/marketing/:site', redirectWoy );
+
+ page(
+ '/sites/marketing/tools/:site',
+ siteSelection,
+ navigation,
+ marketingTools,
+ siteDashboard( DOTCOM_MARKETING_TOOLS ),
+ makeLayout,
+ clientRender
+ );
+
+ page(
+ '/sites/marketing/business-tools/:site',
+ siteSelection,
+ navigation,
+ businessTools,
+ siteDashboard( DOTCOM_MARKETING_BUSINESS_TOOLS ),
+ makeLayout,
+ clientRender
+ );
+}
diff --git a/client/sites/marketing/tools/index.tsx b/client/sites/marketing/tools/index.tsx
new file mode 100644
index 0000000000000..4e898562ca125
--- /dev/null
+++ b/client/sites/marketing/tools/index.tsx
@@ -0,0 +1,3 @@
+export default function MarketingTools() {
+ return This is Marketing Tools page
;
+}
diff --git a/client/hosting/sites/onboarding-tours/constants.ts b/client/sites/onboarding-tours/constants.ts
similarity index 100%
rename from client/hosting/sites/onboarding-tours/constants.ts
rename to client/sites/onboarding-tours/constants.ts
diff --git a/client/hosting/sites/onboarding-tours/index.ts b/client/sites/onboarding-tours/index.ts
similarity index 100%
rename from client/hosting/sites/onboarding-tours/index.ts
rename to client/sites/onboarding-tours/index.ts
diff --git a/client/hosting/sites/onboarding-tours/use-onboarding-tours.tsx b/client/sites/onboarding-tours/use-onboarding-tours.tsx
similarity index 100%
rename from client/hosting/sites/onboarding-tours/use-onboarding-tours.tsx
rename to client/sites/onboarding-tours/use-onboarding-tours.tsx
diff --git a/client/state/global-sidebar/selectors.ts b/client/state/global-sidebar/selectors.ts
index 0ee5440272deb..bb6df5a51f7d1 100644
--- a/client/state/global-sidebar/selectors.ts
+++ b/client/state/global-sidebar/selectors.ts
@@ -17,6 +17,7 @@ const SITE_DASHBOARD_ROUTES = {
'site-logs': '/site-logs/',
'hosting-features': '/hosting-features/',
'staging-site': '/staging-site/',
+ 'site-marketing': '/sites/marketing',
};
function isInSection( sectionName: string, sectionNames: string[] ) {
diff --git a/config/development.json b/config/development.json
index 7ea0e2fb1f240..e096dae3c0d54 100644
--- a/config/development.json
+++ b/config/development.json
@@ -236,6 +236,7 @@
"upgrades/redirect-payments": true,
"upgrades/upcoming-renewals-notices": true,
"upgrades/wpcom-monthly-plans": true,
+ "untangling/hosting-menu": true,
"user-management-revamp": true,
"videomaker-trial": true,
"videopress-tv": true,
diff --git a/config/wpcalypso.json b/config/wpcalypso.json
index 70c275694e142..ab29db124b2d6 100644
--- a/config/wpcalypso.json
+++ b/config/wpcalypso.json
@@ -197,6 +197,7 @@
"upgrades/redirect-payments": true,
"upgrades/upcoming-renewals-notices": true,
"upgrades/wpcom-monthly-plans": true,
+ "untangling/hosting-menu": true,
"use-translation-chunks": true,
"user-management-revamp": true,
"videomaker-trial": true,