Skip to content

Commit d9919dd

Browse files
authored
Sync routes (#103777)
1 parent b602ce8 commit d9919dd

File tree

1 file changed

+80
-0
lines changed

1 file changed

+80
-0
lines changed

client/sites/settings/v2/router.tsx

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,19 @@ import {
99
type AnyRouter,
1010
} from '@tanstack/react-router';
1111
import {
12+
siteDefensiveModeQuery,
13+
sitePHPVersionQuery,
14+
sitePrimaryDataCenterQuery,
1215
siteQuery,
1316
siteSettingsQuery,
17+
siteStaticFile404Query,
1418
siteWordPressVersionQuery,
1519
} from 'calypso/dashboard/app/queries';
1620
import { queryClient } from 'calypso/dashboard/app/query-client';
21+
import { canUpdateDefensiveMode } from 'calypso/dashboard/sites/settings-defensive-mode';
22+
import { canUpdatePHPVersion } from 'calypso/dashboard/sites/settings-php/utils';
23+
import { canGetPrimaryDataCenter } from 'calypso/dashboard/sites/settings-primary-data-center';
24+
import { canSetStaticFile404Handling } from 'calypso/dashboard/sites/settings-static-file-404';
1725
import { canUpdateWordPressVersion } from 'calypso/dashboard/sites/settings-wordpress/utils';
1826
import Root from './root';
1927

@@ -108,6 +116,74 @@ const wordpressRoute = createRoute( {
108116
)
109117
);
110118

119+
const phpRoute = createRoute( {
120+
getParentRoute: () => siteRoute,
121+
path: 'php',
122+
loader: async ( { params: { siteSlug } } ) => {
123+
const site = await queryClient.ensureQueryData( siteQuery( siteSlug ) );
124+
if ( canUpdatePHPVersion( site ) ) {
125+
await queryClient.ensureQueryData( sitePHPVersionQuery( siteSlug ) );
126+
}
127+
},
128+
} ).lazy( () =>
129+
import( 'calypso/dashboard/sites/settings-php' ).then( ( d ) =>
130+
createLazyRoute( 'php' )( {
131+
component: () => <d.default siteSlug={ siteRoute.useParams().siteSlug } />,
132+
} )
133+
)
134+
);
135+
136+
const primaryDataCenterRoute = createRoute( {
137+
getParentRoute: () => siteRoute,
138+
path: 'primary-data-center',
139+
loader: async ( { params: { siteSlug } } ) => {
140+
const site = await queryClient.ensureQueryData( siteQuery( siteSlug ) );
141+
if ( canGetPrimaryDataCenter( site ) ) {
142+
await queryClient.ensureQueryData( sitePrimaryDataCenterQuery( siteSlug ) );
143+
}
144+
},
145+
} ).lazy( () =>
146+
import( 'calypso/dashboard/sites/settings-primary-data-center' ).then( ( d ) =>
147+
createLazyRoute( 'primary-data-center' )( {
148+
component: () => <d.default siteSlug={ siteRoute.useParams().siteSlug } />,
149+
} )
150+
)
151+
);
152+
153+
const staticFile404Route = createRoute( {
154+
getParentRoute: () => siteRoute,
155+
path: 'static-file-404',
156+
loader: async ( { params: { siteSlug } } ) => {
157+
const site = await queryClient.ensureQueryData( siteQuery( siteSlug ) );
158+
if ( canSetStaticFile404Handling( site ) ) {
159+
await queryClient.ensureQueryData( siteStaticFile404Query( siteSlug ) );
160+
}
161+
},
162+
} ).lazy( () =>
163+
import( 'calypso/dashboard/sites/settings-static-file-404' ).then( ( d ) =>
164+
createLazyRoute( 'static-file-404' )( {
165+
component: () => <d.default siteSlug={ siteRoute.useParams().siteSlug } />,
166+
} )
167+
)
168+
);
169+
170+
const defensiveModeRoute = createRoute( {
171+
getParentRoute: () => siteRoute,
172+
path: 'defensive-mode',
173+
loader: async ( { params: { siteSlug } } ) => {
174+
const site = await queryClient.ensureQueryData( siteQuery( siteSlug ) );
175+
if ( canUpdateDefensiveMode( site ) ) {
176+
await queryClient.ensureQueryData( siteDefensiveModeQuery( siteSlug ) );
177+
}
178+
},
179+
} ).lazy( () =>
180+
import( 'calypso/dashboard/sites/settings-defensive-mode' ).then( ( d ) =>
181+
createLazyRoute( 'defensive-mode' )( {
182+
component: () => <d.default siteSlug={ siteRoute.useParams().siteSlug } />,
183+
} )
184+
)
185+
);
186+
111187
const transferSiteRoute = createRoute( {
112188
getParentRoute: () => siteRoute,
113189
path: 'transfer-site',
@@ -127,6 +203,10 @@ const createRouteTree = () =>
127203
subscriptionGiftingRoute,
128204
databaseRoute,
129205
wordpressRoute,
206+
phpRoute,
207+
primaryDataCenterRoute,
208+
staticFile404Route,
209+
defensiveModeRoute,
130210
transferSiteRoute,
131211
] ),
132212
dashboardSiteSettingsCompatibilityRouteRoot,

0 commit comments

Comments
 (0)