Преглед изворни кода

Merge pull request #18558 from overleaf/td-bs5-query-string-override

Add a mechanism to hide incomplete Bootstrap 5 pages by default

GitOrigin-RevId: 07cc998bf3a0bed9df2f43d1c04c62d167c9b893
Tim Down пре 2 година
родитељ
комит
3b2e60ece7

+ 6 - 0
services/web/app/src/infrastructure/ExpressLocals.js

@@ -338,6 +338,12 @@ module.exports = function (webRouter, privateApiRouter, publicApiRouter) {
     next()
   })
 
+  webRouter.use(function (req, res, next) {
+    res.locals.bootstrap5Override =
+      req.query['bootstrap-5-override'] === 'enabled'
+    next()
+  })
+
   webRouter.use(function (req, res, next) {
     res.locals.ExposedSettings = {
       isOverleaf: Settings.overleaf != null,

+ 2 - 2
services/web/app/views/layout-base.pug

@@ -6,7 +6,7 @@ html(
 	class=(fixedSizeDocument ? 'fixed-size-document' : undefined)
 )
 	- metadata = metadata || {}
-	- let bootstrap5EnabledPage = false
+	- let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly'
 
 	block entrypointVar
 
@@ -15,7 +15,7 @@ html(
 	head
 		include ./_metadata.pug
 			
-		- const bootstrapVersion = bootstrap5EnabledPage && splitTestVariants['bootstrap-5'] === 'enabled' ? 5 : 3
+		- const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && splitTestVariants['bootstrap-5'] === 'enabled')) ? 5 : 3
 
 		//- Stylesheet
 		link(rel='stylesheet', href=buildCssPath(getCssThemeModifier(userSettings, brandVariation), bootstrapVersion), id="main-stylesheet")

+ 1 - 3
services/web/app/views/project/list-react.pug

@@ -5,9 +5,7 @@ block entrypointVar
 
 block vars
 	- var suppressNavContentLinks = true
-
-block vars
-	- bootstrap5EnabledPage = true
+	- bootstrap5PageStatus = 'queryStringOnly' // One of 'disabled', 'enabled', and 'queryStringOnly'
 
 block append meta
 	meta(name="ol-usersBestSubscription" data-type="json" content=usersBestSubscription)

+ 1 - 1
services/web/app/views/user/settings.pug

@@ -4,7 +4,7 @@ block entrypointVar
 	- entrypoint = 'pages/user/settings'
 		
 block vars
-	- bootstrap5EnabledPage = true
+	- bootstrap5PageStatus = 'enabled' // One of 'disabled', 'enabled', and 'queryStringOnly'
 
 block append meta
 	meta(name="ol-hasPassword" data-type="boolean" content=hasPassword)