diff --git a/modern/src/App.js b/modern/src/App.js index b9f29c6c..b428f5c2 100644 --- a/modern/src/App.js +++ b/modern/src/App.js @@ -536,12 +536,27 @@ function XmlNode({ node }) { ); } +function getSkinUrlFromQueryParams() { + const searchParams = new URLSearchParams(window.location.search); + return searchParams.get("skinUrl"); +} + +function setSkinUrlToQueryParams(skinUrl) { + const searchParams = new URLSearchParams(window.location.search); + searchParams.set("skinUrl", skinUrl); + const newRelativePathQuery = `${ + window.location.pathname + }?${searchParams.toString()}`; + window.history.pushState(null, "", newRelativePathQuery); +} + function App() { const dispatch = useDispatch(); const store = useStore(); const root = useSelector(Selectors.getMakiTree); React.useEffect(() => { - dispatch(Actions.gotSkinUrl(skinUrls[0], store)); + const defaultSkinUrl = getSkinUrlFromQueryParams() || skinUrls[0]; + dispatch(Actions.gotSkinUrl(defaultSkinUrl, store)); }, [store]); if (root == null) { return

Loading...

; @@ -559,7 +574,10 @@ function App() {