Added links to media page for thumbnails
This commit is contained in:
parent
5d11d6fdc6
commit
5e4fa90cea
1
TODO.md
1
TODO.md
|
@ -2,6 +2,7 @@
|
|||
|
||||
## Short term
|
||||
|
||||
- [Medias] Add Parent pages
|
||||
- [Timeline] inline links to pages not working (timeline 2026/06)
|
||||
|
||||
## Mid term
|
||||
|
|
|
@ -13,20 +13,20 @@
|
|||
"@fontsource-variable/murecho": "^5.0.18",
|
||||
"@fontsource-variable/vollkorn": "^5.0.20",
|
||||
"accept-language": "^3.0.18",
|
||||
"astro": "4.5.18",
|
||||
"astro": "4.6.1",
|
||||
"astro-icon": "^1.1.0",
|
||||
"node-cache": "^5.1.2",
|
||||
"tippy.js": "^6.3.7",
|
||||
"ua-parser-js": "^1.0.37"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@iconify-json/material-symbols": "^1.1.77",
|
||||
"@iconify-json/material-symbols": "^1.1.78",
|
||||
"@types/ua-parser-js": "^0.7.39",
|
||||
"astro-meta-tags": "^0.2.2",
|
||||
"autoprefixer": "^10.4.19",
|
||||
"bun-types": "^1.1.3",
|
||||
"npm-check-updates": "^16.14.18",
|
||||
"postcss-preset-env": "^9.5.4",
|
||||
"postcss-preset-env": "^9.5.5",
|
||||
"prettier": "^3.2.5",
|
||||
"prettier-plugin-astro": "^0.13.0",
|
||||
"typescript": "^5.4.5"
|
||||
|
@ -233,11 +233,11 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@astrojs/markdown-remark": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@astrojs/markdown-remark/-/markdown-remark-5.0.0.tgz",
|
||||
"integrity": "sha512-QBXbxXZamVRoqCNN2gjDXa7qYPUkJZq7KYFfg3DX7rze3QL6xiz4N+Wg202dNPRaIkQa16BV6D8+EHibQFubRg==",
|
||||
"version": "5.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@astrojs/markdown-remark/-/markdown-remark-5.1.0.tgz",
|
||||
"integrity": "sha512-S6Z3K2hOB7MfjeDoHsotnP/q2UsnEDB8NlNAaCjMDsGBZfTUbWxyLW3CaphEWw08f6KLZi2ibK9yC3BaMhh2NQ==",
|
||||
"dependencies": {
|
||||
"@astrojs/prism": "^3.0.0",
|
||||
"@astrojs/prism": "^3.1.0",
|
||||
"github-slugger": "^2.0.0",
|
||||
"hast-util-from-html": "^2.0.0",
|
||||
"hast-util-to-text": "^4.0.0",
|
||||
|
@ -270,45 +270,31 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@astrojs/prism": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@astrojs/prism/-/prism-3.0.0.tgz",
|
||||
"integrity": "sha512-g61lZupWq1bYbcBnYZqdjndShr/J3l/oFobBKPA3+qMat146zce3nz2kdO4giGbhYDt4gYdhmoBz0vZJ4sIurQ==",
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@astrojs/prism/-/prism-3.1.0.tgz",
|
||||
"integrity": "sha512-Z9IYjuXSArkAUx3N6xj6+Bnvx8OdUSHA8YoOgyepp3+zJmtVYJIl/I18GozdJVW1p5u/CNpl3Km7/gwTJK85cw==",
|
||||
"dependencies": {
|
||||
"prismjs": "^1.29.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18.14.1"
|
||||
"node": "^18.17.1 || ^20.3.0 || >=21.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@astrojs/telemetry": {
|
||||
"version": "3.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@astrojs/telemetry/-/telemetry-3.0.4.tgz",
|
||||
"integrity": "sha512-A+0c7k/Xy293xx6odsYZuXiaHO0PL+bnDoXOc47sGDF5ffIKdKQGRPFl2NMlCF4L0NqN4Ynbgnaip+pPF0s7pQ==",
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@astrojs/telemetry/-/telemetry-3.1.0.tgz",
|
||||
"integrity": "sha512-/ca/+D8MIKEC8/A9cSaPUqQNZm+Es/ZinRv0ZAzvu2ios7POQSsVD+VOj7/hypWNsNM3T7RpfgNq7H2TU1KEHA==",
|
||||
"dependencies": {
|
||||
"ci-info": "^3.8.0",
|
||||
"ci-info": "^4.0.0",
|
||||
"debug": "^4.3.4",
|
||||
"dlv": "^1.1.3",
|
||||
"dset": "^3.1.2",
|
||||
"dset": "^3.1.3",
|
||||
"is-docker": "^3.0.0",
|
||||
"is-wsl": "^3.0.0",
|
||||
"which-pm-runs": "^1.1.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18.14.1"
|
||||
}
|
||||
},
|
||||
"node_modules/@astrojs/telemetry/node_modules/ci-info": {
|
||||
"version": "3.9.0",
|
||||
"resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz",
|
||||
"integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/sibiraj-s"
|
||||
}
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
"node": "^18.17.1 || ^20.3.0 || >=21.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/code-frame": {
|
||||
|
@ -2019,9 +2005,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"node_modules/@iconify-json/material-symbols": {
|
||||
"version": "1.1.77",
|
||||
"resolved": "https://registry.npmjs.org/@iconify-json/material-symbols/-/material-symbols-1.1.77.tgz",
|
||||
"integrity": "sha512-b+jAkZKxBrGXXV76psToCGYVzu2IzyM8fxgiLOc6uPLB3R4vhrQGKT1J3wH9JnURShwQenEVPVNWetr5sj0Trg==",
|
||||
"version": "1.1.78",
|
||||
"resolved": "https://registry.npmjs.org/@iconify-json/material-symbols/-/material-symbols-1.1.78.tgz",
|
||||
"integrity": "sha512-WNDaCOdxIMAVer6fWYCsi7iUJM43sBIRd8bFExOifyb4RpXP1dG+Zh3MXqCX56iwaQ9Ra/a2XlFDNZfKnE4NWQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@iconify/types": "*"
|
||||
|
@ -2643,9 +2629,9 @@
|
|||
]
|
||||
},
|
||||
"node_modules/@shikijs/core": {
|
||||
"version": "1.2.4",
|
||||
"resolved": "https://registry.npmjs.org/@shikijs/core/-/core-1.2.4.tgz",
|
||||
"integrity": "sha512-ClaUWpt8oTzjcF0MM1P81AeWyzc1sNSJlAjMG80CbwqbFqXSNz+NpQVUC0icobt3sZn43Sn27M4pHD/Jmp3zHw=="
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@shikijs/core/-/core-1.3.0.tgz",
|
||||
"integrity": "sha512-7fedsBfuILDTBmrYZNFI8B6ATTxhQAasUHllHmjvSZPnoq4bULWoTpHwmuQvZ8Aq03/tAa2IGo6RXqWtHdWaCA=="
|
||||
},
|
||||
"node_modules/@sigstore/bundle": {
|
||||
"version": "1.1.0",
|
||||
|
@ -3211,14 +3197,14 @@
|
|||
}
|
||||
},
|
||||
"node_modules/astro": {
|
||||
"version": "4.5.18",
|
||||
"resolved": "https://registry.npmjs.org/astro/-/astro-4.5.18.tgz",
|
||||
"integrity": "sha512-iytLnUfyUneKMjIQdj79zzniByXtcmGNDobIV/gjGsatC9vAyPqeCT8TbMqfkRBMeYGs+S/wCzSoPqaaMJiQnw==",
|
||||
"version": "4.6.1",
|
||||
"resolved": "https://registry.npmjs.org/astro/-/astro-4.6.1.tgz",
|
||||
"integrity": "sha512-gcL22NEhuRi4wu9/x5Kn2eJf7nT6GeU5BxdN6AHbUnX6UzEDIWtpgHs5lBIZYExKbHKN9PjEGXWQzQtFwLU+5g==",
|
||||
"dependencies": {
|
||||
"@astrojs/compiler": "^2.7.1",
|
||||
"@astrojs/internal-helpers": "0.4.0",
|
||||
"@astrojs/markdown-remark": "5.0.0",
|
||||
"@astrojs/telemetry": "3.0.4",
|
||||
"@astrojs/markdown-remark": "5.1.0",
|
||||
"@astrojs/telemetry": "3.1.0",
|
||||
"@babel/core": "^7.24.3",
|
||||
"@babel/generator": "^7.23.3",
|
||||
"@babel/parser": "^7.23.3",
|
||||
|
@ -3282,8 +3268,9 @@
|
|||
"astro": "astro.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18.14.1",
|
||||
"npm": ">=6.14.0"
|
||||
"node": "^18.17.1 || ^20.3.0 || >=21.0.0",
|
||||
"npm": ">=9.6.5",
|
||||
"pnpm": ">=7.1.0"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"sharp": "^0.32.6"
|
||||
|
@ -5605,9 +5592,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/hast-util-to-text": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-4.0.0.tgz",
|
||||
"integrity": "sha512-EWiE1FSArNBPUo1cKWtzqgnuRQwEeQbQtnFJRYV1hb1BWDgrAlBU0ExptvZMM/KSA82cDpm2sFGf3Dmc5Mza3w==",
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-4.0.1.tgz",
|
||||
"integrity": "sha512-RHL7Vo2n06ZocCFWqmbyhZ1pCYX/mSKdywt9YD5U6Hquu5syV+dImCXFKLFt02JoK5QxkQFS0PoVdFdPXuPffQ==",
|
||||
"dependencies": {
|
||||
"@types/hast": "^3.0.0",
|
||||
"@types/unist": "^3.0.0",
|
||||
|
@ -8967,9 +8954,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/postcss-custom-properties": {
|
||||
"version": "13.3.6",
|
||||
"resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-13.3.6.tgz",
|
||||
"integrity": "sha512-vVVIwQbJiIz+PBLMIWA6XMi53Zg66/f474KolA7x0Das6EwkATc/9ZvM6zZx2gs7ZhcgVHjmWBbHkK9FlCgLeA==",
|
||||
"version": "13.3.7",
|
||||
"resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-13.3.7.tgz",
|
||||
"integrity": "sha512-0N9F/GUCr/D0IazjzHahyYW2bQVDT6qDtEudiGHAhMd3XqhfM3VmfYVlkc/40DOhsPtngSNb54/Ctu8msvFOvQ==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
|
@ -9345,9 +9332,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/postcss-preset-env": {
|
||||
"version": "9.5.4",
|
||||
"resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-9.5.4.tgz",
|
||||
"integrity": "sha512-o/jOlJjhm4f6rI5q1f+4Og3tz1cjaO50er9ndk7ZdcXHjWOH49kMAhqDC/nQifypQkOAiAmF46dPt3pZM+Cwbg==",
|
||||
"version": "9.5.5",
|
||||
"resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-9.5.5.tgz",
|
||||
"integrity": "sha512-tg71KfEgTHMM+C4LpWtKfHFWEunfWj1JThq/Odsw60MOowcffBrMAcSBDE+imftW5/BD3mpOiiTL6c+KcnGaLQ==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
|
@ -9401,7 +9388,7 @@
|
|||
"postcss-color-hex-alpha": "^9.0.4",
|
||||
"postcss-color-rebeccapurple": "^9.0.3",
|
||||
"postcss-custom-media": "^10.0.4",
|
||||
"postcss-custom-properties": "^13.3.6",
|
||||
"postcss-custom-properties": "^13.3.7",
|
||||
"postcss-custom-selectors": "^7.1.8",
|
||||
"postcss-dir-pseudo-class": "^8.0.1",
|
||||
"postcss-double-position-gradients": "^5.0.6",
|
||||
|
@ -10843,11 +10830,11 @@
|
|||
}
|
||||
},
|
||||
"node_modules/shiki": {
|
||||
"version": "1.2.4",
|
||||
"resolved": "https://registry.npmjs.org/shiki/-/shiki-1.2.4.tgz",
|
||||
"integrity": "sha512-Q9n9jKiOjJCRPztA9POn3/uZXNySHDNKAsPNpmtHDcFyi6ZQhx5vQKZW3Nhrwn8TWW3RudSRk66zqY603EZDeg==",
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/shiki/-/shiki-1.3.0.tgz",
|
||||
"integrity": "sha512-9aNdQy/etMXctnPzsje1h1XIGm9YfRcSksKOGqZWXA/qP9G18/8fpz5Bjpma8bOgz3tqIpjERAd6/lLjFyzoww==",
|
||||
"dependencies": {
|
||||
"@shikijs/core": "1.2.4"
|
||||
"@shikijs/core": "1.3.0"
|
||||
}
|
||||
},
|
||||
"node_modules/signal-exit": {
|
||||
|
|
|
@ -24,20 +24,20 @@
|
|||
"@fontsource-variable/murecho": "^5.0.18",
|
||||
"@fontsource-variable/vollkorn": "^5.0.20",
|
||||
"accept-language": "^3.0.18",
|
||||
"astro": "4.5.18",
|
||||
"astro": "4.6.1",
|
||||
"astro-icon": "^1.1.0",
|
||||
"node-cache": "^5.1.2",
|
||||
"tippy.js": "^6.3.7",
|
||||
"ua-parser-js": "^1.0.37"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@iconify-json/material-symbols": "^1.1.77",
|
||||
"@iconify-json/material-symbols": "^1.1.78",
|
||||
"@types/ua-parser-js": "^0.7.39",
|
||||
"astro-meta-tags": "^0.2.2",
|
||||
"autoprefixer": "^10.4.19",
|
||||
"bun-types": "^1.1.3",
|
||||
"npm-check-updates": "^16.14.18",
|
||||
"postcss-preset-env": "^9.5.4",
|
||||
"postcss-preset-env": "^9.5.5",
|
||||
"prettier": "^3.2.5",
|
||||
"prettier-plugin-astro": "^0.13.0",
|
||||
"typescript": "^5.4.5"
|
||||
|
|
|
@ -46,7 +46,7 @@ const { header, id } = Astro.props;
|
|||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
display: inline-flex;
|
||||
display: flex;
|
||||
place-items: center;
|
||||
gap: 0.5em;
|
||||
}
|
||||
|
|
|
@ -28,6 +28,7 @@ const { node, context } = Astro.props;
|
|||
color: var(--color-base-650);
|
||||
font-weight: 500;
|
||||
font-size: 70%;
|
||||
place-self: end;
|
||||
place-self: start;
|
||||
margin-top: 0.33em;
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -56,5 +56,11 @@ const mediaPage = getLocalizedUrl(`/images/${id}`);
|
|||
box-shadow: 0 5px 20px -10px var(--color-shadow);
|
||||
margin-bottom: -0.5em;
|
||||
}
|
||||
|
||||
transition: 100ms scale;
|
||||
|
||||
&:hover {
|
||||
scale: 102%;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -89,29 +89,29 @@ export type WordingKey =
|
|||
| "pages.tableOfContent.break"
|
||||
| "global.languageOverride.availableLanguages"
|
||||
| "timeline.title"
|
||||
| "timeline.eras.drakengard3"
|
||||
| "timeline.description"
|
||||
| "timeline.eras.cataclysm"
|
||||
| "timeline.eras.drakengard"
|
||||
| "timeline.eras.drakengard2"
|
||||
| "timeline.eras.drakengard3"
|
||||
| "timeline.eras.nier"
|
||||
| "timeline.eras.nierAutomata"
|
||||
| "timeline.eras.cataclysm"
|
||||
| "timeline.description"
|
||||
| "timeline.notes.title"
|
||||
| "timeline.jumpTo"
|
||||
| "timeline.notes.content"
|
||||
| "timeline.notes.title"
|
||||
| "timeline.priorCataclysmNote.title"
|
||||
| "timeline.priorCataclysmNote.content"
|
||||
| "timeline.jumpTo"
|
||||
| "timeline.year.during"
|
||||
| "timeline.eventFooter.languages"
|
||||
| "timeline.eventFooter.sources"
|
||||
| "timeline.eventFooter.languages"
|
||||
| "timeline.eventFooter.note"
|
||||
| "global.sources.typeLabel.url"
|
||||
| "global.sources.typeLabel.page"
|
||||
| "global.sources.typeLabel.collectible"
|
||||
| "global.sources.typeLabel.folder"
|
||||
| "global.sources.typeLabel.collectible.range.custom"
|
||||
| "global.sources.typeLabel.collectible.range.page"
|
||||
| "global.sources.typeLabel.collectible.range.timestamp"
|
||||
| "global.sources.typeLabel.collectible.range.custom"
|
||||
| "global.sources.typeLabel.folder"
|
||||
| "global.sources.typeLabel.page"
|
||||
| "global.sources.typeLabel.url"
|
||||
| "global.openMediaPage"
|
||||
| "global.downloadButton"
|
||||
| "global.previewTypes.video"
|
||||
|
|
|
@ -41,13 +41,15 @@ const translation = getLocalizedMatch(page.translations);
|
|||
|
||||
{
|
||||
page.thumbnail && (
|
||||
<img
|
||||
id="thumbnail"
|
||||
class="when-not-large"
|
||||
src={page.thumbnail.url}
|
||||
width={page.thumbnail.width}
|
||||
height={page.thumbnail.height}
|
||||
/>
|
||||
<a href={getLocalizedUrl(`/images/${page.thumbnail.id}`)}>
|
||||
<img
|
||||
id="thumbnail"
|
||||
class="when-not-large"
|
||||
src={page.thumbnail.url}
|
||||
width={page.thumbnail.width}
|
||||
height={page.thumbnail.height}
|
||||
/>
|
||||
</a>
|
||||
)
|
||||
}
|
||||
|
||||
|
@ -93,12 +95,14 @@ const translation = getLocalizedMatch(page.translations);
|
|||
<div id="right" class="when-large">
|
||||
{
|
||||
page.thumbnail && (
|
||||
<img
|
||||
id="thumbnail"
|
||||
src={page.thumbnail.url}
|
||||
width={page.thumbnail.width}
|
||||
height={page.thumbnail.height}
|
||||
/>
|
||||
<a href={getLocalizedUrl(`/images/${page.thumbnail.id}`)}>
|
||||
<img
|
||||
id="thumbnail"
|
||||
src={page.thumbnail.url}
|
||||
width={page.thumbnail.width}
|
||||
height={page.thumbnail.height}
|
||||
/>
|
||||
</a>
|
||||
)
|
||||
}
|
||||
|
||||
|
@ -135,12 +139,8 @@ const translation = getLocalizedMatch(page.translations);
|
|||
}
|
||||
|
||||
& > #left {
|
||||
& > #thumbnail {
|
||||
width: 100%;
|
||||
& > a > #thumbnail {
|
||||
max-width: 35rem;
|
||||
height: auto;
|
||||
border-radius: 16px;
|
||||
box-shadow: 0 5px 20px -10px var(--color-shadow);
|
||||
margin-block: 2em;
|
||||
}
|
||||
|
||||
|
@ -159,14 +159,17 @@ const translation = getLocalizedMatch(page.translations);
|
|||
margin-block: 3em;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
& > #right {
|
||||
& > #thumbnail {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
border-radius: 16px;
|
||||
box-shadow: 0 5px 20px -10px var(--color-shadow);
|
||||
}
|
||||
#thumbnail {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
border-radius: 16px;
|
||||
box-shadow: 0 5px 20px -10px var(--color-shadow);
|
||||
transition: 100ms scale;
|
||||
|
||||
&:hover {
|
||||
scale: 102%;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@ import ContentsSection from "./_components/ContentsSection/ContentsSection.astro
|
|||
import { formatInlineTitle, formatRichTextToString } from "src/utils/format";
|
||||
|
||||
const { slug } = Astro.params;
|
||||
const { getLocalizedMatch, t } = await getI18n(Astro.locals.currentLocale);
|
||||
const { getLocalizedMatch, getLocalizedUrl, t } = await getI18n(Astro.locals.currentLocale);
|
||||
|
||||
const collectible = await fetchOr404(() => payload.getCollectible(slug!));
|
||||
if (collectible instanceof Response) {
|
||||
|
@ -69,12 +69,14 @@ const scansFirstImage = scans[0];
|
|||
<div id="images" class="when-not-large">
|
||||
{
|
||||
thumbnail && (
|
||||
<img
|
||||
id="thumbnail"
|
||||
src={thumbnail.url}
|
||||
width={thumbnail.width}
|
||||
height={thumbnail.height}
|
||||
/>
|
||||
<a href={getLocalizedUrl(`/images/${thumbnail.id}`)}>
|
||||
<img
|
||||
id="thumbnail"
|
||||
src={thumbnail.url}
|
||||
width={thumbnail.width}
|
||||
height={thumbnail.height}
|
||||
/>
|
||||
</a>
|
||||
)
|
||||
}
|
||||
|
||||
|
@ -154,12 +156,14 @@ const scansFirstImage = scans[0];
|
|||
|
||||
{
|
||||
thumbnail && (
|
||||
<img
|
||||
id="thumbnail"
|
||||
src={thumbnail.url}
|
||||
width={thumbnail.width}
|
||||
height={thumbnail.height}
|
||||
/>
|
||||
<a href={getLocalizedUrl(`/images/${thumbnail.id}`)}>
|
||||
<img
|
||||
id="thumbnail"
|
||||
src={thumbnail.url}
|
||||
width={thumbnail.width}
|
||||
height={thumbnail.height}
|
||||
/>
|
||||
</a>
|
||||
)
|
||||
}
|
||||
</div>
|
||||
|
@ -197,9 +201,6 @@ const scansFirstImage = scans[0];
|
|||
}
|
||||
|
||||
& > #thumbnail {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
box-shadow: 0 5px 20px -10px var(--color-shadow);
|
||||
max-width: 35rem;
|
||||
}
|
||||
|
||||
|
@ -251,16 +252,21 @@ const scansFirstImage = scans[0];
|
|||
flex-direction: column;
|
||||
gap: 1em;
|
||||
}
|
||||
|
||||
& > #thumbnail {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
box-shadow: 0 5px 20px -10px var(--color-shadow);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#thumbnail {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
box-shadow: 0 5px 20px -10px var(--color-shadow);
|
||||
transition: 100ms scale;
|
||||
|
||||
&:hover {
|
||||
scale: 102%;
|
||||
}
|
||||
}
|
||||
|
||||
.when-large {
|
||||
@media (max-width: 80rem) {
|
||||
display: none !important;
|
||||
|
|
|
@ -23,27 +23,27 @@ export interface Config {
|
|||
pages: Page;
|
||||
collectibles: Collectible;
|
||||
folders: Folder;
|
||||
"chronology-events": ChronologyEvent;
|
||||
'chronology-events': ChronologyEvent;
|
||||
images: Image;
|
||||
audios: Audio;
|
||||
"media-thumbnails": MediaThumbnail;
|
||||
'media-thumbnails': MediaThumbnail;
|
||||
videos: Video;
|
||||
"videos-subtitles": VideoSubtitle;
|
||||
"videos-channels": VideosChannel;
|
||||
'videos-subtitles': VideoSubtitle;
|
||||
'videos-channels': VideosChannel;
|
||||
scans: Scan;
|
||||
tags: Tag;
|
||||
"tags-groups": TagsGroup;
|
||||
"credits-roles": CreditsRole;
|
||||
'tags-groups': TagsGroup;
|
||||
'credits-roles': CreditsRole;
|
||||
recorders: Recorder;
|
||||
languages: Language;
|
||||
currencies: Currency;
|
||||
wordings: Wording;
|
||||
"generic-contents": GenericContent;
|
||||
"payload-preferences": PayloadPreference;
|
||||
"payload-migrations": PayloadMigration;
|
||||
'generic-contents': GenericContent;
|
||||
'payload-preferences': PayloadPreference;
|
||||
'payload-migrations': PayloadMigration;
|
||||
};
|
||||
globals: {
|
||||
"website-config": WebsiteConfig;
|
||||
'website-config': WebsiteConfig;
|
||||
};
|
||||
}
|
||||
/**
|
||||
|
@ -70,8 +70,8 @@ export interface Page {
|
|||
version: number;
|
||||
[k: string]: unknown;
|
||||
}[];
|
||||
direction: ("ltr" | "rtl") | null;
|
||||
format: "left" | "start" | "center" | "right" | "end" | "justify" | "";
|
||||
direction: ('ltr' | 'rtl') | null;
|
||||
format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
|
||||
indent: number;
|
||||
version: number;
|
||||
};
|
||||
|
@ -85,8 +85,8 @@ export interface Page {
|
|||
version: number;
|
||||
[k: string]: unknown;
|
||||
}[];
|
||||
direction: ("ltr" | "rtl") | null;
|
||||
format: "left" | "start" | "center" | "right" | "end" | "justify" | "";
|
||||
direction: ('ltr' | 'rtl') | null;
|
||||
format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
|
||||
indent: number;
|
||||
version: number;
|
||||
};
|
||||
|
@ -100,7 +100,7 @@ export interface Page {
|
|||
updatedBy: string | Recorder;
|
||||
updatedAt: string;
|
||||
createdAt: string;
|
||||
_status?: ("draft" | "published") | null;
|
||||
_status?: ('draft' | 'published') | null;
|
||||
}
|
||||
/**
|
||||
* This interface was referenced by `Config`'s JSON-Schema
|
||||
|
@ -120,8 +120,8 @@ export interface Image {
|
|||
version: number;
|
||||
[k: string]: unknown;
|
||||
}[];
|
||||
direction: ("ltr" | "rtl") | null;
|
||||
format: "left" | "start" | "center" | "right" | "end" | "justify" | "";
|
||||
direction: ('ltr' | 'rtl') | null;
|
||||
format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
|
||||
indent: number;
|
||||
version: number;
|
||||
};
|
||||
|
@ -225,7 +225,7 @@ export interface Recorder {
|
|||
username: string;
|
||||
avatar?: string | Image | null;
|
||||
languages?: (string | Language)[] | null;
|
||||
role?: ("Admin" | "Recorder" | "Api")[] | null;
|
||||
role?: ('Admin' | 'Recorder' | 'Api')[] | null;
|
||||
anonymize: boolean;
|
||||
email: string;
|
||||
resetPasswordToken?: string | null;
|
||||
|
@ -256,8 +256,8 @@ export interface Folder {
|
|||
version: number;
|
||||
[k: string]: unknown;
|
||||
}[];
|
||||
direction: ("ltr" | "rtl") | null;
|
||||
format: "left" | "start" | "center" | "right" | "end" | "justify" | "";
|
||||
direction: ('ltr' | 'rtl') | null;
|
||||
format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
|
||||
indent: number;
|
||||
version: number;
|
||||
};
|
||||
|
@ -281,23 +281,23 @@ export interface Folder {
|
|||
files?:
|
||||
| (
|
||||
| {
|
||||
relationTo: "collectibles";
|
||||
relationTo: 'collectibles';
|
||||
value: string | Collectible;
|
||||
}
|
||||
| {
|
||||
relationTo: "pages";
|
||||
relationTo: 'pages';
|
||||
value: string | Page;
|
||||
}
|
||||
| {
|
||||
relationTo: "videos";
|
||||
relationTo: 'videos';
|
||||
value: string | Video;
|
||||
}
|
||||
| {
|
||||
relationTo: "images";
|
||||
relationTo: 'images';
|
||||
value: string | Image;
|
||||
}
|
||||
| {
|
||||
relationTo: "audios";
|
||||
relationTo: 'audios';
|
||||
value: string | Audio;
|
||||
}
|
||||
)[]
|
||||
|
@ -313,7 +313,7 @@ export interface Collectible {
|
|||
id: string;
|
||||
slug: string;
|
||||
thumbnail?: string | Image | null;
|
||||
nature: "Physical" | "Digital";
|
||||
nature: 'Physical' | 'Digital';
|
||||
languages?: (string | Language)[] | null;
|
||||
tags?: (string | Tag)[] | null;
|
||||
translations: {
|
||||
|
@ -329,8 +329,8 @@ export interface Collectible {
|
|||
version: number;
|
||||
[k: string]: unknown;
|
||||
}[];
|
||||
direction: ("ltr" | "rtl") | null;
|
||||
format: "left" | "start" | "center" | "right" | "end" | "justify" | "";
|
||||
direction: ('ltr' | 'rtl') | null;
|
||||
format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
|
||||
indent: number;
|
||||
version: number;
|
||||
};
|
||||
|
@ -419,8 +419,8 @@ export interface Collectible {
|
|||
pageInfoEnabled?: boolean | null;
|
||||
pageInfo?: {
|
||||
pageCount: number;
|
||||
bindingType?: ("Paperback" | "Hardcover") | null;
|
||||
pageOrder?: ("Left to right" | "Right to left") | null;
|
||||
bindingType?: ('Paperback' | 'Hardcover') | null;
|
||||
pageOrder?: ('Left to right' | 'Right to left') | null;
|
||||
};
|
||||
folders?: (string | Folder)[] | null;
|
||||
parentItems?: (string | Collectible)[] | null;
|
||||
|
@ -429,19 +429,19 @@ export interface Collectible {
|
|||
| {
|
||||
content:
|
||||
| {
|
||||
relationTo: "pages";
|
||||
relationTo: 'pages';
|
||||
value: string | Page;
|
||||
}
|
||||
| {
|
||||
relationTo: "generic-contents";
|
||||
relationTo: 'generic-contents';
|
||||
value: string | GenericContent;
|
||||
}
|
||||
| {
|
||||
relationTo: "audios";
|
||||
relationTo: 'audios';
|
||||
value: string | Audio;
|
||||
}
|
||||
| {
|
||||
relationTo: "videos";
|
||||
relationTo: 'videos';
|
||||
value: string | Video;
|
||||
};
|
||||
range?:
|
||||
|
@ -451,14 +451,14 @@ export interface Collectible {
|
|||
end: number;
|
||||
id?: string | null;
|
||||
blockName?: string | null;
|
||||
blockType: "pageRange";
|
||||
blockType: 'pageRange';
|
||||
}
|
||||
| {
|
||||
start: string;
|
||||
end: string;
|
||||
id?: string | null;
|
||||
blockName?: string | null;
|
||||
blockType: "timeRange";
|
||||
blockType: 'timeRange';
|
||||
}
|
||||
| {
|
||||
translations: {
|
||||
|
@ -471,8 +471,8 @@ export interface Collectible {
|
|||
version: number;
|
||||
[k: string]: unknown;
|
||||
}[];
|
||||
direction: ("ltr" | "rtl") | null;
|
||||
format: "left" | "start" | "center" | "right" | "end" | "justify" | "";
|
||||
direction: ('ltr' | 'rtl') | null;
|
||||
format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
|
||||
indent: number;
|
||||
version: number;
|
||||
};
|
||||
|
@ -482,7 +482,7 @@ export interface Collectible {
|
|||
}[];
|
||||
id?: string | null;
|
||||
blockName?: string | null;
|
||||
blockType: "other";
|
||||
blockType: 'other';
|
||||
}
|
||||
)[]
|
||||
| null;
|
||||
|
@ -492,7 +492,7 @@ export interface Collectible {
|
|||
updatedBy: string | Recorder;
|
||||
updatedAt: string;
|
||||
createdAt: string;
|
||||
_status?: ("draft" | "published") | null;
|
||||
_status?: ('draft' | 'published') | null;
|
||||
}
|
||||
/**
|
||||
* This interface was referenced by `Config`'s JSON-Schema
|
||||
|
@ -568,8 +568,8 @@ export interface Audio {
|
|||
version: number;
|
||||
[k: string]: unknown;
|
||||
}[];
|
||||
direction: ("ltr" | "rtl") | null;
|
||||
format: "left" | "start" | "center" | "right" | "end" | "justify" | "";
|
||||
direction: ('ltr' | 'rtl') | null;
|
||||
format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
|
||||
indent: number;
|
||||
version: number;
|
||||
};
|
||||
|
@ -640,8 +640,8 @@ export interface Video {
|
|||
version: number;
|
||||
[k: string]: unknown;
|
||||
}[];
|
||||
direction: ("ltr" | "rtl") | null;
|
||||
format: "left" | "start" | "center" | "right" | "end" | "justify" | "";
|
||||
direction: ('ltr' | 'rtl') | null;
|
||||
format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
|
||||
indent: number;
|
||||
version: number;
|
||||
};
|
||||
|
@ -720,8 +720,8 @@ export interface ChronologyEvent {
|
|||
version: number;
|
||||
[k: string]: unknown;
|
||||
}[];
|
||||
direction: ("ltr" | "rtl") | null;
|
||||
format: "left" | "start" | "center" | "right" | "end" | "justify" | "";
|
||||
direction: ('ltr' | 'rtl') | null;
|
||||
format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
|
||||
indent: number;
|
||||
version: number;
|
||||
};
|
||||
|
@ -735,8 +735,8 @@ export interface ChronologyEvent {
|
|||
version: number;
|
||||
[k: string]: unknown;
|
||||
}[];
|
||||
direction: ("ltr" | "rtl") | null;
|
||||
format: "left" | "start" | "center" | "right" | "end" | "justify" | "";
|
||||
direction: ('ltr' | 'rtl') | null;
|
||||
format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
|
||||
indent: number;
|
||||
version: number;
|
||||
};
|
||||
|
@ -750,7 +750,7 @@ export interface ChronologyEvent {
|
|||
updatedBy: string | Recorder;
|
||||
updatedAt: string;
|
||||
createdAt: string;
|
||||
_status?: ("draft" | "published") | null;
|
||||
_status?: ('draft' | 'published') | null;
|
||||
}
|
||||
/**
|
||||
* This interface was referenced by `Config`'s JSON-Schema
|
||||
|
@ -760,7 +760,7 @@ export interface UrlBlock {
|
|||
url: string;
|
||||
id?: string | null;
|
||||
blockName?: string | null;
|
||||
blockType: "urlBlock";
|
||||
blockType: 'urlBlock';
|
||||
}
|
||||
/**
|
||||
* This interface was referenced by `Config`'s JSON-Schema
|
||||
|
@ -774,13 +774,13 @@ export interface CollectibleBlock {
|
|||
page: number;
|
||||
id?: string | null;
|
||||
blockName?: string | null;
|
||||
blockType: "page";
|
||||
blockType: 'page';
|
||||
}
|
||||
| {
|
||||
timestamp: string;
|
||||
id?: string | null;
|
||||
blockName?: string | null;
|
||||
blockType: "timestamp";
|
||||
blockType: 'timestamp';
|
||||
}
|
||||
| {
|
||||
translations: {
|
||||
|
@ -790,13 +790,13 @@ export interface CollectibleBlock {
|
|||
}[];
|
||||
id?: string | null;
|
||||
blockName?: string | null;
|
||||
blockType: "other";
|
||||
blockType: 'other';
|
||||
}
|
||||
)[]
|
||||
| null;
|
||||
id?: string | null;
|
||||
blockName?: string | null;
|
||||
blockType: "collectibleBlock";
|
||||
blockType: 'collectibleBlock';
|
||||
}
|
||||
/**
|
||||
* This interface was referenced by `Config`'s JSON-Schema
|
||||
|
@ -806,7 +806,7 @@ export interface PageBlock {
|
|||
page: string | Page;
|
||||
id?: string | null;
|
||||
blockName?: string | null;
|
||||
blockType: "pageBlock";
|
||||
blockType: 'pageBlock';
|
||||
}
|
||||
/**
|
||||
* This interface was referenced by `Config`'s JSON-Schema
|
||||
|
@ -830,7 +830,7 @@ export interface Wording {
|
|||
export interface PayloadPreference {
|
||||
id: string;
|
||||
user: {
|
||||
relationTo: "recorders";
|
||||
relationTo: 'recorders';
|
||||
value: string | Recorder;
|
||||
};
|
||||
key?: string | null;
|
||||
|
@ -898,8 +898,8 @@ export interface LineBlock {
|
|||
version: number;
|
||||
[k: string]: unknown;
|
||||
}[];
|
||||
direction: ("ltr" | "rtl") | null;
|
||||
format: "left" | "start" | "center" | "right" | "end" | "justify" | "";
|
||||
direction: ('ltr' | 'rtl') | null;
|
||||
format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
|
||||
indent: number;
|
||||
version: number;
|
||||
};
|
||||
|
@ -907,7 +907,7 @@ export interface LineBlock {
|
|||
};
|
||||
id?: string | null;
|
||||
blockName?: string | null;
|
||||
blockType: "lineBlock";
|
||||
blockType: 'lineBlock';
|
||||
}
|
||||
/**
|
||||
* This interface was referenced by `Config`'s JSON-Schema
|
||||
|
@ -922,8 +922,8 @@ export interface CueBlock {
|
|||
version: number;
|
||||
[k: string]: unknown;
|
||||
}[];
|
||||
direction: ("ltr" | "rtl") | null;
|
||||
format: "left" | "start" | "center" | "right" | "end" | "justify" | "";
|
||||
direction: ('ltr' | 'rtl') | null;
|
||||
format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
|
||||
indent: number;
|
||||
version: number;
|
||||
};
|
||||
|
@ -931,7 +931,7 @@ export interface CueBlock {
|
|||
};
|
||||
id?: string | null;
|
||||
blockName?: string | null;
|
||||
blockType: "cueBlock";
|
||||
blockType: 'cueBlock';
|
||||
}
|
||||
/**
|
||||
* This interface was referenced by `Config`'s JSON-Schema
|
||||
|
@ -941,17 +941,17 @@ export interface TranscriptBlock {
|
|||
lines: (LineBlock | CueBlock)[];
|
||||
id?: string | null;
|
||||
blockName?: string | null;
|
||||
blockType: "transcriptBlock";
|
||||
blockType: 'transcriptBlock';
|
||||
}
|
||||
/**
|
||||
* This interface was referenced by `Config`'s JSON-Schema
|
||||
* via the `definition` "BreakBlock".
|
||||
*/
|
||||
export interface BreakBlock {
|
||||
type: "Scene break" | "Empty space" | "Solid line" | "Dotted line";
|
||||
type: 'Scene break' | 'Empty space' | 'Solid line' | 'Dotted line';
|
||||
id?: string | null;
|
||||
blockName?: string | null;
|
||||
blockType: "breakBlock";
|
||||
blockType: 'breakBlock';
|
||||
}
|
||||
/**
|
||||
* This interface was referenced by `Config`'s JSON-Schema
|
||||
|
@ -966,8 +966,8 @@ export interface SectionBlock {
|
|||
version: number;
|
||||
[k: string]: unknown;
|
||||
}[];
|
||||
direction: ("ltr" | "rtl") | null;
|
||||
format: "left" | "start" | "center" | "right" | "end" | "justify" | "";
|
||||
direction: ('ltr' | 'rtl') | null;
|
||||
format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
|
||||
indent: number;
|
||||
version: number;
|
||||
};
|
||||
|
@ -975,10 +975,11 @@ export interface SectionBlock {
|
|||
};
|
||||
id?: string | null;
|
||||
blockName?: string | null;
|
||||
blockType: "sectionBlock";
|
||||
blockType: 'sectionBlock';
|
||||
}
|
||||
|
||||
|
||||
|
||||
/////////////// CONSTANTS ///////////////
|
||||
|
||||
|
||||
|
@ -1400,8 +1401,8 @@ export type EndpointFolder = {
|
|||
|
||||
export type EndpointWebsiteConfig = {
|
||||
homeFolders: (EndpointFolder & {
|
||||
lightThumbnail?: PayloadImage;
|
||||
darkThumbnail?: PayloadImage;
|
||||
lightThumbnail?: EndpointImage;
|
||||
darkThumbnail?: EndpointImage;
|
||||
})[];
|
||||
timeline: {
|
||||
breaks: number[];
|
||||
|
@ -1417,7 +1418,7 @@ export type EndpointWebsiteConfig = {
|
|||
export type EndpointRecorder = {
|
||||
id: string;
|
||||
username: string;
|
||||
avatar?: PayloadImage;
|
||||
avatar?: EndpointImage;
|
||||
languages: string[];
|
||||
};
|
||||
|
||||
|
@ -1462,9 +1463,9 @@ export type EndpointCredit = {
|
|||
|
||||
export type EndpointPage = {
|
||||
slug: string;
|
||||
thumbnail?: PayloadImage;
|
||||
thumbnail?: EndpointImage;
|
||||
tagGroups: EndpointTagsGroup[];
|
||||
backgroundImage?: PayloadImage;
|
||||
backgroundImage?: EndpointImage;
|
||||
translations: {
|
||||
language: string;
|
||||
pretitle?: string;
|
||||
|
@ -1481,7 +1482,7 @@ export type EndpointPage = {
|
|||
|
||||
export type EndpointCollectible = {
|
||||
slug: string;
|
||||
thumbnail?: PayloadImage;
|
||||
thumbnail?: EndpointImage;
|
||||
translations: {
|
||||
language: string;
|
||||
pretitle?: string;
|
||||
|
@ -1492,9 +1493,9 @@ export type EndpointCollectible = {
|
|||
tagGroups: EndpointTagsGroup[];
|
||||
releaseDate?: string;
|
||||
languages: string[];
|
||||
backgroundImage?: PayloadImage;
|
||||
backgroundImage?: EndpointImage;
|
||||
nature: CollectibleNature;
|
||||
gallery: PayloadImage[];
|
||||
gallery: EndpointImage[];
|
||||
scans: PayloadImage[];
|
||||
urls: { url: string; label: string }[];
|
||||
price?: {
|
||||
|
|
Loading…
Reference in New Issue