WIP
This commit is contained in:
parent
b03b59002a
commit
88a5be0ec1
|
@ -1,4 +1,4 @@
|
||||||
import { renderPage } from 'vite-plugin-ssr/server'
|
import { renderPage } from 'vike/server'
|
||||||
|
|
||||||
export default async function handler(req, res) {
|
export default async function handler(req, res) {
|
||||||
const { url, cookies } = req
|
const { url, cookies } = req
|
||||||
|
|
178
package-lock.json
generated
178
package-lock.json
generated
|
@ -126,11 +126,11 @@
|
||||||
"typescript": "5.2.2",
|
"typescript": "5.2.2",
|
||||||
"typograf": "7.1.0",
|
"typograf": "7.1.0",
|
||||||
"uniqolor": "1.1.0",
|
"uniqolor": "1.1.0",
|
||||||
|
"vike": "0.4.144",
|
||||||
"vite": "4.3.9",
|
"vite": "4.3.9",
|
||||||
"vite-plugin-mkcert": "1.16.0",
|
"vite-plugin-mkcert": "1.16.0",
|
||||||
"vite-plugin-sass-dts": "1.3.11",
|
"vite-plugin-sass-dts": "1.3.11",
|
||||||
"vite-plugin-solid": "2.7.0",
|
"vite-plugin-solid": "2.7.0",
|
||||||
"vite-plugin-ssr": "0.4.123",
|
|
||||||
"y-prosemirror": "1.2.1",
|
"y-prosemirror": "1.2.1",
|
||||||
"yjs": "13.6.0"
|
"yjs": "13.6.0"
|
||||||
}
|
}
|
||||||
|
@ -1454,9 +1454,9 @@
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/@brillout/json-serializer": {
|
"node_modules/@brillout/json-serializer": {
|
||||||
"version": "0.5.6",
|
"version": "0.5.8",
|
||||||
"resolved": "https://registry.npmjs.org/@brillout/json-serializer/-/json-serializer-0.5.6.tgz",
|
"resolved": "https://registry.npmjs.org/@brillout/json-serializer/-/json-serializer-0.5.8.tgz",
|
||||||
"integrity": "sha512-48u+Wthh0muDueyooi/Or59DDFCPitnuCN9OkMWoj7MQAbDn5pS/cVBB7ds6ENmtC1Qb0spI4PfKZxQSBEkubg==",
|
"integrity": "sha512-vEuXw30ok+mJfJutOxXKBb4lBJ0HymA7lev9PcYK6W/hzjhCTPk9Bdk85HrcNcKZWRQiwoWtw0F2Di4TRJ7ssQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/@brillout/picocolors": {
|
"node_modules/@brillout/picocolors": {
|
||||||
|
@ -1465,10 +1465,16 @@
|
||||||
"integrity": "sha512-Lt/W5JsA75hcDJ2cOAlE4TqSMl6c9K+rXGRo/cU2fApnmhbRcNdkR4UHQDAwtWfZyUKWaxdwSui+jp+74J1pZg==",
|
"integrity": "sha512-Lt/W5JsA75hcDJ2cOAlE4TqSMl6c9K+rXGRo/cU2fApnmhbRcNdkR4UHQDAwtWfZyUKWaxdwSui+jp+74J1pZg==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"node_modules/@brillout/require-shim": {
|
||||||
|
"version": "0.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/@brillout/require-shim/-/require-shim-0.1.2.tgz",
|
||||||
|
"integrity": "sha512-3I4LRHnVZXoSAsEoni5mosq9l6eiJED58d9V954W4CIZ88AUfYBanWGBGbJG3NztaRTpFHEA6wB3Hn93BmmJdg==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"node_modules/@brillout/vite-plugin-import-build": {
|
"node_modules/@brillout/vite-plugin-import-build": {
|
||||||
"version": "0.2.18",
|
"version": "0.2.20",
|
||||||
"resolved": "https://registry.npmjs.org/@brillout/vite-plugin-import-build/-/vite-plugin-import-build-0.2.18.tgz",
|
"resolved": "https://registry.npmjs.org/@brillout/vite-plugin-import-build/-/vite-plugin-import-build-0.2.20.tgz",
|
||||||
"integrity": "sha512-sedZNrqIboHCeSnN7hwo34xRyP8egfMHcifixQ2YGNnQVb93884drTVE3b0vlSGz7LWumVDochKuHdWQljup9A==",
|
"integrity": "sha512-/bdw1dg+H1nOYSy2PzYInQoZlIFP2uwyaF2GX64fyBqVAEWGopiMlnx294CbysjmP9Z+fJe48TkMzyogkyIDLw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@brillout/import": "^0.2.3"
|
"@brillout/import": "^0.2.3"
|
||||||
|
@ -8021,9 +8027,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/es-module-lexer": {
|
"node_modules/es-module-lexer": {
|
||||||
"version": "0.10.5",
|
"version": "1.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.10.5.tgz",
|
"resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.1.tgz",
|
||||||
"integrity": "sha512-+7IwY/kiGAacQfY+YBhKMvEmyAJnw5grTUgjG85Pe7vcUI/6b7pZjZG8nQ7+48YhzEAEqrEgD2dCz/JIK+AYvw==",
|
"integrity": "sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/es-set-tostringtag": {
|
"node_modules/es-set-tostringtag": {
|
||||||
|
@ -18077,6 +18083,51 @@
|
||||||
"node": ">=12"
|
"node": ">=12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/vike": {
|
||||||
|
"version": "0.4.144",
|
||||||
|
"resolved": "https://registry.npmjs.org/vike/-/vike-0.4.144.tgz",
|
||||||
|
"integrity": "sha512-smvBXv33IhP5FHOvoBYZuir/Zip93AoBGqiIdmWHva1RYeQDFlXQMbs/YZ5HqFc7OrL8cL3K7iUsEC6t/pF+/Q==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"@brillout/import": "0.2.3",
|
||||||
|
"@brillout/json-serializer": "^0.5.6",
|
||||||
|
"@brillout/picocolors": "^1.0.9",
|
||||||
|
"@brillout/require-shim": "^0.1.2",
|
||||||
|
"@brillout/vite-plugin-import-build": "^0.2.20",
|
||||||
|
"acorn": "^8.8.2",
|
||||||
|
"cac": "^6.7.14",
|
||||||
|
"es-module-lexer": "^1.3.0",
|
||||||
|
"esbuild": "^0.17.18",
|
||||||
|
"fast-glob": "^3.2.12",
|
||||||
|
"sirv": "^2.0.2",
|
||||||
|
"source-map-support": "^0.5.21"
|
||||||
|
},
|
||||||
|
"bin": {
|
||||||
|
"vike": "node/cli/bin-entry.js"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=16.0.0"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"react-streaming": ">=0.3.5",
|
||||||
|
"vite": ">=3.1.0"
|
||||||
|
},
|
||||||
|
"peerDependenciesMeta": {
|
||||||
|
"react-streaming": {
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/vike/node_modules/source-map-support": {
|
||||||
|
"version": "0.5.21",
|
||||||
|
"resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
|
||||||
|
"integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"buffer-from": "^1.0.0",
|
||||||
|
"source-map": "^0.6.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/vite": {
|
"node_modules/vite": {
|
||||||
"version": "4.3.9",
|
"version": "4.3.9",
|
||||||
"resolved": "https://registry.npmjs.org/vite/-/vite-4.3.9.tgz",
|
"resolved": "https://registry.npmjs.org/vite/-/vite-4.3.9.tgz",
|
||||||
|
@ -18180,39 +18231,6 @@
|
||||||
"vite": "^3.0.0 || ^4.0.0"
|
"vite": "^3.0.0 || ^4.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/vite-plugin-ssr": {
|
|
||||||
"version": "0.4.123",
|
|
||||||
"resolved": "https://registry.npmjs.org/vite-plugin-ssr/-/vite-plugin-ssr-0.4.123.tgz",
|
|
||||||
"integrity": "sha512-lIHmvsS7xINxk8AiMn9O9q6dTeLDay0q3iRCMZd4MlzhyMcEUUuEYyx/vWevXIO7+CTt5cOVcTsojeAU+eUMNw==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"@brillout/import": "0.2.3",
|
|
||||||
"@brillout/json-serializer": "^0.5.3",
|
|
||||||
"@brillout/picocolors": "^1.0.4",
|
|
||||||
"@brillout/vite-plugin-import-build": "^0.2.16",
|
|
||||||
"acorn": "^8.0.0",
|
|
||||||
"cac": "^6.0.0",
|
|
||||||
"es-module-lexer": "^0.10.0",
|
|
||||||
"esbuild": "^0.17.0",
|
|
||||||
"fast-glob": "^3.0.0",
|
|
||||||
"sirv": "^2.0.0"
|
|
||||||
},
|
|
||||||
"bin": {
|
|
||||||
"vite-plugin-ssr": "node/cli/bin-entry.js"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=12.19.0"
|
|
||||||
},
|
|
||||||
"peerDependencies": {
|
|
||||||
"react-streaming": ">=0.3.5",
|
|
||||||
"vite": ">=3.1.0"
|
|
||||||
},
|
|
||||||
"peerDependenciesMeta": {
|
|
||||||
"react-streaming": {
|
|
||||||
"optional": true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/vitefu": {
|
"node_modules/vitefu": {
|
||||||
"version": "0.2.4",
|
"version": "0.2.4",
|
||||||
"resolved": "https://registry.npmjs.org/vitefu/-/vitefu-0.2.4.tgz",
|
"resolved": "https://registry.npmjs.org/vitefu/-/vitefu-0.2.4.tgz",
|
||||||
|
@ -19561,9 +19579,9 @@
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@brillout/json-serializer": {
|
"@brillout/json-serializer": {
|
||||||
"version": "0.5.6",
|
"version": "0.5.8",
|
||||||
"resolved": "https://registry.npmjs.org/@brillout/json-serializer/-/json-serializer-0.5.6.tgz",
|
"resolved": "https://registry.npmjs.org/@brillout/json-serializer/-/json-serializer-0.5.8.tgz",
|
||||||
"integrity": "sha512-48u+Wthh0muDueyooi/Or59DDFCPitnuCN9OkMWoj7MQAbDn5pS/cVBB7ds6ENmtC1Qb0spI4PfKZxQSBEkubg==",
|
"integrity": "sha512-vEuXw30ok+mJfJutOxXKBb4lBJ0HymA7lev9PcYK6W/hzjhCTPk9Bdk85HrcNcKZWRQiwoWtw0F2Di4TRJ7ssQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@brillout/picocolors": {
|
"@brillout/picocolors": {
|
||||||
|
@ -19572,10 +19590,16 @@
|
||||||
"integrity": "sha512-Lt/W5JsA75hcDJ2cOAlE4TqSMl6c9K+rXGRo/cU2fApnmhbRcNdkR4UHQDAwtWfZyUKWaxdwSui+jp+74J1pZg==",
|
"integrity": "sha512-Lt/W5JsA75hcDJ2cOAlE4TqSMl6c9K+rXGRo/cU2fApnmhbRcNdkR4UHQDAwtWfZyUKWaxdwSui+jp+74J1pZg==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"@brillout/require-shim": {
|
||||||
|
"version": "0.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/@brillout/require-shim/-/require-shim-0.1.2.tgz",
|
||||||
|
"integrity": "sha512-3I4LRHnVZXoSAsEoni5mosq9l6eiJED58d9V954W4CIZ88AUfYBanWGBGbJG3NztaRTpFHEA6wB3Hn93BmmJdg==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"@brillout/vite-plugin-import-build": {
|
"@brillout/vite-plugin-import-build": {
|
||||||
"version": "0.2.18",
|
"version": "0.2.20",
|
||||||
"resolved": "https://registry.npmjs.org/@brillout/vite-plugin-import-build/-/vite-plugin-import-build-0.2.18.tgz",
|
"resolved": "https://registry.npmjs.org/@brillout/vite-plugin-import-build/-/vite-plugin-import-build-0.2.20.tgz",
|
||||||
"integrity": "sha512-sedZNrqIboHCeSnN7hwo34xRyP8egfMHcifixQ2YGNnQVb93884drTVE3b0vlSGz7LWumVDochKuHdWQljup9A==",
|
"integrity": "sha512-/bdw1dg+H1nOYSy2PzYInQoZlIFP2uwyaF2GX64fyBqVAEWGopiMlnx294CbysjmP9Z+fJe48TkMzyogkyIDLw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@brillout/import": "^0.2.3"
|
"@brillout/import": "^0.2.3"
|
||||||
|
@ -24267,9 +24291,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"es-module-lexer": {
|
"es-module-lexer": {
|
||||||
"version": "0.10.5",
|
"version": "1.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.10.5.tgz",
|
"resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.1.tgz",
|
||||||
"integrity": "sha512-+7IwY/kiGAacQfY+YBhKMvEmyAJnw5grTUgjG85Pe7vcUI/6b7pZjZG8nQ7+48YhzEAEqrEgD2dCz/JIK+AYvw==",
|
"integrity": "sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"es-set-tostringtag": {
|
"es-set-tostringtag": {
|
||||||
|
@ -31660,6 +31684,38 @@
|
||||||
"integrity": "sha512-Z6Uz+TYwEqE7ZN50gwn+1LCVo9ZVrpxRPOhOLnncYkY1ZzOYtrX8Fwf/rFktZ8R5mJms6EZf5TqNOMeZmnPq9Q==",
|
"integrity": "sha512-Z6Uz+TYwEqE7ZN50gwn+1LCVo9ZVrpxRPOhOLnncYkY1ZzOYtrX8Fwf/rFktZ8R5mJms6EZf5TqNOMeZmnPq9Q==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"vike": {
|
||||||
|
"version": "0.4.144",
|
||||||
|
"resolved": "https://registry.npmjs.org/vike/-/vike-0.4.144.tgz",
|
||||||
|
"integrity": "sha512-smvBXv33IhP5FHOvoBYZuir/Zip93AoBGqiIdmWHva1RYeQDFlXQMbs/YZ5HqFc7OrL8cL3K7iUsEC6t/pF+/Q==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"@brillout/import": "0.2.3",
|
||||||
|
"@brillout/json-serializer": "^0.5.6",
|
||||||
|
"@brillout/picocolors": "^1.0.9",
|
||||||
|
"@brillout/require-shim": "^0.1.2",
|
||||||
|
"@brillout/vite-plugin-import-build": "^0.2.20",
|
||||||
|
"acorn": "^8.8.2",
|
||||||
|
"cac": "^6.7.14",
|
||||||
|
"es-module-lexer": "^1.3.0",
|
||||||
|
"esbuild": "^0.17.18",
|
||||||
|
"fast-glob": "^3.2.12",
|
||||||
|
"sirv": "^2.0.2",
|
||||||
|
"source-map-support": "^0.5.21"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"source-map-support": {
|
||||||
|
"version": "0.5.21",
|
||||||
|
"resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
|
||||||
|
"integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"buffer-from": "^1.0.0",
|
||||||
|
"source-map": "^0.6.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"vite": {
|
"vite": {
|
||||||
"version": "4.3.9",
|
"version": "4.3.9",
|
||||||
"resolved": "https://registry.npmjs.org/vite/-/vite-4.3.9.tgz",
|
"resolved": "https://registry.npmjs.org/vite/-/vite-4.3.9.tgz",
|
||||||
|
@ -31708,24 +31764,6 @@
|
||||||
"vitefu": "^0.2.3"
|
"vitefu": "^0.2.3"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"vite-plugin-ssr": {
|
|
||||||
"version": "0.4.123",
|
|
||||||
"resolved": "https://registry.npmjs.org/vite-plugin-ssr/-/vite-plugin-ssr-0.4.123.tgz",
|
|
||||||
"integrity": "sha512-lIHmvsS7xINxk8AiMn9O9q6dTeLDay0q3iRCMZd4MlzhyMcEUUuEYyx/vWevXIO7+CTt5cOVcTsojeAU+eUMNw==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"@brillout/import": "0.2.3",
|
|
||||||
"@brillout/json-serializer": "^0.5.3",
|
|
||||||
"@brillout/picocolors": "^1.0.4",
|
|
||||||
"@brillout/vite-plugin-import-build": "^0.2.16",
|
|
||||||
"acorn": "^8.0.0",
|
|
||||||
"cac": "^6.0.0",
|
|
||||||
"es-module-lexer": "^0.10.0",
|
|
||||||
"esbuild": "^0.17.0",
|
|
||||||
"fast-glob": "^3.0.0",
|
|
||||||
"sirv": "^2.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"vitefu": {
|
"vitefu": {
|
||||||
"version": "0.2.4",
|
"version": "0.2.4",
|
||||||
"resolved": "https://registry.npmjs.org/vitefu/-/vitefu-0.2.4.tgz",
|
"resolved": "https://registry.npmjs.org/vitefu/-/vitefu-0.2.4.tgz",
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
"version": "0.8.0",
|
"version": "0.8.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "vite build",
|
"build": "vite build",
|
||||||
"check": "npm run lint && npm run typecheck",
|
"check": "npm run lint && npm run typecheck",
|
||||||
|
@ -146,11 +147,11 @@
|
||||||
"typescript": "5.2.2",
|
"typescript": "5.2.2",
|
||||||
"typograf": "7.1.0",
|
"typograf": "7.1.0",
|
||||||
"uniqolor": "1.1.0",
|
"uniqolor": "1.1.0",
|
||||||
|
"vike": "0.4.144",
|
||||||
"vite": "4.3.9",
|
"vite": "4.3.9",
|
||||||
"vite-plugin-mkcert": "1.16.0",
|
"vite-plugin-mkcert": "1.16.0",
|
||||||
"vite-plugin-sass-dts": "1.3.11",
|
"vite-plugin-sass-dts": "1.3.11",
|
||||||
"vite-plugin-solid": "2.7.0",
|
"vite-plugin-solid": "2.7.0",
|
||||||
"vite-plugin-ssr": "0.4.123",
|
|
||||||
"y-prosemirror": "1.2.1",
|
"y-prosemirror": "1.2.1",
|
||||||
"yjs": "13.6.0"
|
"yjs": "13.6.0"
|
||||||
},
|
},
|
||||||
|
|
|
@ -158,7 +158,7 @@ export const ArticleCard = (props: ArticleCardProps) => {
|
||||||
[styles.shoutCardTitlesContainerFeedMode]: props.settings?.isFeedMode
|
[styles.shoutCardTitlesContainerFeedMode]: props.settings?.isFeedMode
|
||||||
})}
|
})}
|
||||||
>
|
>
|
||||||
<a href={`/${props.article.slug || ''}`}>
|
<a href={`/${props.article.slug || ''}1111`}>
|
||||||
<div class={styles.shoutCardTitle}>
|
<div class={styles.shoutCardTitle}>
|
||||||
<span class={styles.shoutCardLinkWrapper}>
|
<span class={styles.shoutCardLinkWrapper}>
|
||||||
<span class={styles.shoutCardLinkContainer}>{title}</span>
|
<span class={styles.shoutCardLinkContainer}>{title}</span>
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
import type { PageContext } from '../renderer/types'
|
import type { PageContext } from '../renderer/types'
|
||||||
import type { PageProps } from './types'
|
import type { PageProps } from './types'
|
||||||
import { apiClient } from '../utils/apiClient'
|
import { apiClient } from '../utils/apiClient'
|
||||||
import { RenderErrorPage } from 'vite-plugin-ssr/RenderErrorPage'
|
import { render } from 'vike/abort'
|
||||||
|
|
||||||
export const onBeforeRender = async (pageContext: PageContext) => {
|
export const onBeforeRender = async (pageContext: PageContext) => {
|
||||||
const { slug } = pageContext.routeParams
|
const { slug } = pageContext.routeParams
|
||||||
const article = await apiClient.getShoutBySlug(slug)
|
const article = await apiClient.getShoutBySlug(slug)
|
||||||
|
|
||||||
if (!article) {
|
if (!article) {
|
||||||
throw RenderErrorPage({ pageContext: {} })
|
throw render(404, '/404')
|
||||||
}
|
}
|
||||||
|
|
||||||
const pageProps: PageProps = { article }
|
const pageProps: PageProps = { article }
|
||||||
|
|
|
@ -28,6 +28,7 @@ export const ArticlePage = (props: PageProps) => {
|
||||||
const loadShoutPromise = loadShout(slug())
|
const loadShoutPromise = loadShout(slug())
|
||||||
setPageLoadManagerPromise(loadShoutPromise)
|
setPageLoadManagerPromise(loadShoutPromise)
|
||||||
await loadShoutPromise
|
await loadShoutPromise
|
||||||
|
// тут видимо тоже что-то нужно написать
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import { App } from '../components/App'
|
import { App } from '../components/App'
|
||||||
import { hydrate } from 'solid-js/web'
|
import { hydrate } from 'solid-js/web'
|
||||||
import type { PageContextBuiltInClientWithClientRouting } from 'vite-plugin-ssr/types'
|
import type { PageContextBuiltInClientWithClientRouting } from 'vike/types'
|
||||||
import type { PageContext } from './types'
|
import type { PageContext } from './types'
|
||||||
import { MetaProvider } from '@solidjs/meta'
|
import { MetaProvider } from '@solidjs/meta'
|
||||||
import i18next, { use as useI18next } from 'i18next'
|
import i18next, { use as useI18next } from 'i18next'
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import { generateHydrationScript, renderToString } from 'solid-js/web'
|
import { generateHydrationScript, renderToString } from 'solid-js/web'
|
||||||
import { escapeInject, dangerouslySkipEscape } from 'vite-plugin-ssr/server'
|
import { escapeInject, dangerouslySkipEscape } from 'vike/server'
|
||||||
import { App } from '../components/App'
|
import { App } from '../components/App'
|
||||||
import { initRouter } from '../stores/router'
|
import { initRouter } from '../stores/router'
|
||||||
import type { PageContext } from './types'
|
import type { PageContext } from './types'
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// this file is required by vite-plugin-ssr to show something after an error occurred
|
// this file is required by vike to show something after an error occurred
|
||||||
// it's empty because error handling logic lives in _default.page.server.tsx and _default.page.client.tsx
|
// it's empty because error handling logic lives in _default.page.server.tsx and _default.page.client.tsx
|
||||||
|
|
||||||
// eslint-disable-next-line unicorn/no-empty-file
|
// eslint-disable-next-line unicorn/no-empty-file
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import type { PageContextBuiltIn } from 'vite-plugin-ssr/types'
|
import type { PageContextBuiltIn } from 'vike/types'
|
||||||
import type { PageProps } from '../pages/types'
|
import type { PageProps } from '../pages/types'
|
||||||
import type { Component } from 'solid-js'
|
import type { Component } from 'solid-js'
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// /:slug -> /@slug
|
// /:slug -> /@slug
|
||||||
// https://vite-plugin-ssr.com/routing
|
// https://vike.dev/routing
|
||||||
// https://www.npmjs.com/package/@nanostores/router
|
// https://www.npmjs.com/package/@nanostores/router
|
||||||
export const getServerRoute = (clientRoute: string) => clientRoute.replaceAll(':', '@')
|
export const getServerRoute = (clientRoute: string) => clientRoute.replaceAll(':', '@')
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import { defineConfig } from 'vite'
|
import { defineConfig } from 'vite'
|
||||||
import solidPlugin from 'vite-plugin-solid'
|
import solidPlugin from 'vite-plugin-solid'
|
||||||
import ssrPlugin from 'vite-plugin-ssr/plugin'
|
import ssrPlugin from 'vike/plugin'
|
||||||
import sassDts from 'vite-plugin-sass-dts'
|
import sassDts from 'vite-plugin-sass-dts'
|
||||||
import mkcert from 'vite-plugin-mkcert'
|
import mkcert from 'vite-plugin-mkcert'
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user