more routing tests
This commit is contained in:
parent
7df0ec5469
commit
aa0f787a99
|
|
@ -15,8 +15,8 @@
|
|||
"jsonlines": "^0.1.1",
|
||||
"minisearch": "^6.1.0",
|
||||
"preact": "^10.13.1",
|
||||
"preact-iso": "^2.3.1",
|
||||
"preact-router": "^4.1.2",
|
||||
"react-router-dom": "^6.15.0",
|
||||
"reading-time-estimator": "^1.9.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
|
@ -1318,6 +1318,14 @@
|
|||
"react": "^16.8 || ^17.0 || ^18.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@remix-run/router": {
|
||||
"version": "1.8.0",
|
||||
"resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.8.0.tgz",
|
||||
"integrity": "sha512-mrfKqIHnSZRyIzBcanNJmVQELTnX+qagEDlcKO90RgRBVOZGSGvZKeDihTRfWcqoDn5N/NkUcwWTccnpN18Tfg==",
|
||||
"engines": {
|
||||
"node": ">=14.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@rollup/plugin-virtual": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/plugin-virtual/-/plugin-virtual-3.0.1.tgz",
|
||||
|
|
@ -5976,27 +5984,6 @@
|
|||
"url": "https://opencollective.com/preact"
|
||||
}
|
||||
},
|
||||
"node_modules/preact-iso": {
|
||||
"version": "2.3.1",
|
||||
"resolved": "https://registry.npmjs.org/preact-iso/-/preact-iso-2.3.1.tgz",
|
||||
"integrity": "sha512-PtiG0dJlyvIDfvqROCybIFq96CS2s8nLg8ZR4Yporx3mPQ5FgWGNKb+ejjewtjEDMdCUlYmMT8SdapWEAxVJ2Q==",
|
||||
"peerDependencies": {
|
||||
"preact": ">=10",
|
||||
"preact-render-to-string": ">=5"
|
||||
}
|
||||
},
|
||||
"node_modules/preact-render-to-string": {
|
||||
"version": "6.2.1",
|
||||
"resolved": "https://registry.npmjs.org/preact-render-to-string/-/preact-render-to-string-6.2.1.tgz",
|
||||
"integrity": "sha512-5t7nFeMUextd53igL3GAakAAMaUD+dVWDHaRYaeh1tbPIjQIBtgJnMw6vf8VS/lviV0ggFtkgebatPxvtJsXyQ==",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"pretty-format": "^3.8.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"preact": ">=10"
|
||||
}
|
||||
},
|
||||
"node_modules/preact-router": {
|
||||
"version": "4.1.2",
|
||||
"resolved": "https://registry.npmjs.org/preact-router/-/preact-router-4.1.2.tgz",
|
||||
|
|
@ -6005,12 +5992,6 @@
|
|||
"preact": ">=10"
|
||||
}
|
||||
},
|
||||
"node_modules/pretty-format": {
|
||||
"version": "3.8.0",
|
||||
"resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-3.8.0.tgz",
|
||||
"integrity": "sha512-WuxUnVtlWL1OfZFQFuqvnvs6MiAGk9UNsBostyBOB0Is9wb5uRESevA6rnl/rkksXaGX3GzZhPup5d6Vp1nFew==",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/pretty-remarkable": {
|
||||
"version": "0.4.1",
|
||||
"resolved": "https://registry.npmjs.org/pretty-remarkable/-/pretty-remarkable-0.4.1.tgz",
|
||||
|
|
@ -6143,6 +6124,36 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"node_modules/react-router": {
|
||||
"version": "6.15.0",
|
||||
"resolved": "https://registry.npmjs.org/react-router/-/react-router-6.15.0.tgz",
|
||||
"integrity": "sha512-NIytlzvzLwJkCQj2HLefmeakxxWHWAP+02EGqWEZy+DgfHHKQMUoBBjUQLOtFInBMhWtb3hiUy6MfFgwLjXhqg==",
|
||||
"dependencies": {
|
||||
"@remix-run/router": "1.8.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=14.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": ">=16.8"
|
||||
}
|
||||
},
|
||||
"node_modules/react-router-dom": {
|
||||
"version": "6.15.0",
|
||||
"resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.15.0.tgz",
|
||||
"integrity": "sha512-aR42t0fs7brintwBGAv2+mGlCtgtFQeOzK0BM1/OiqEzRejOZtpMZepvgkscpMUnKb8YO84G7s3LsHnnDNonbQ==",
|
||||
"dependencies": {
|
||||
"@remix-run/router": "1.8.0",
|
||||
"react-router": "6.15.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=14.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": ">=16.8",
|
||||
"react-dom": ">=16.8"
|
||||
}
|
||||
},
|
||||
"node_modules/react-style-singleton": {
|
||||
"version": "2.2.1",
|
||||
"resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.1.tgz",
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@
|
|||
"minisearch": "^6.1.0",
|
||||
"preact": "^10.13.1",
|
||||
"preact-router": "^4.1.2",
|
||||
"react-router-dom": "^6.15.0",
|
||||
"reading-time-estimator": "^1.9.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
|
|
|||
|
|
@ -11,12 +11,15 @@ import { Box } from '@mantine/core'
|
|||
import { theme } from '@/theme'
|
||||
|
||||
const MY_FOLDER = '/orionreed'
|
||||
class SubfolderRouter extends Router {
|
||||
class BaseRouter extends Router {
|
||||
render(props: RouterProps, state: any) {
|
||||
if (state.url.indexOf(MY_FOLDER) === 0) {
|
||||
if (state.url.indexOf('/orionreed') === 0) {
|
||||
console.log('state', state)
|
||||
console.log('state.url', state.url)
|
||||
|
||||
state = {
|
||||
...state,
|
||||
url: state.url.substr(MY_FOLDER.length),
|
||||
url: state.url.substr('/orionreed'.length),
|
||||
}
|
||||
}
|
||||
return super.render(props, state)
|
||||
|
|
@ -27,13 +30,13 @@ export function App() {
|
|||
return (
|
||||
<MantineProvider withGlobalStyles withNormalizeCSS theme={theme}>
|
||||
<Box mb="xl">
|
||||
<SubfolderRouter>
|
||||
<BaseRouter>
|
||||
<Home path="/" />
|
||||
<Posts path="/posts" />
|
||||
<Post path="/posts/:title" />
|
||||
<Stream path="/stream" />
|
||||
<NotFound default />
|
||||
</SubfolderRouter>
|
||||
</BaseRouter>
|
||||
</Box>
|
||||
</MantineProvider>
|
||||
)
|
||||
|
|
|
|||
Loading…
Reference in New Issue