@@ -9,11 +9,19 @@ import {
9
9
type AnyRouter ,
10
10
} from '@tanstack/react-router' ;
11
11
import {
12
+ siteDefensiveModeQuery ,
13
+ sitePHPVersionQuery ,
14
+ sitePrimaryDataCenterQuery ,
12
15
siteQuery ,
13
16
siteSettingsQuery ,
17
+ siteStaticFile404Query ,
14
18
siteWordPressVersionQuery ,
15
19
} from 'calypso/dashboard/app/queries' ;
16
20
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' ;
17
25
import { canUpdateWordPressVersion } from 'calypso/dashboard/sites/settings-wordpress/utils' ;
18
26
import Root from './root' ;
19
27
@@ -108,6 +116,74 @@ const wordpressRoute = createRoute( {
108
116
)
109
117
) ;
110
118
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
+
111
187
const transferSiteRoute = createRoute ( {
112
188
getParentRoute : ( ) => siteRoute ,
113
189
path : 'transfer-site' ,
@@ -127,6 +203,10 @@ const createRouteTree = () =>
127
203
subscriptionGiftingRoute ,
128
204
databaseRoute ,
129
205
wordpressRoute ,
206
+ phpRoute ,
207
+ primaryDataCenterRoute ,
208
+ staticFile404Route ,
209
+ defensiveModeRoute ,
130
210
transferSiteRoute ,
131
211
] ) ,
132
212
dashboardSiteSettingsCompatibilityRouteRoot ,
0 commit comments