Added links to media page for thumbnails

This commit is contained in:
DrMint 2024-04-14 06:49:54 +02:00
parent 5d11d6fdc6
commit 5e4fa90cea
10 changed files with 201 additions and 196 deletions

View File

@ -2,6 +2,7 @@
## Short term ## Short term
- [Medias] Add Parent pages
- [Timeline] inline links to pages not working (timeline 2026/06) - [Timeline] inline links to pages not working (timeline 2026/06)
## Mid term ## Mid term

103
package-lock.json generated
View File

@ -13,20 +13,20 @@
"@fontsource-variable/murecho": "^5.0.18", "@fontsource-variable/murecho": "^5.0.18",
"@fontsource-variable/vollkorn": "^5.0.20", "@fontsource-variable/vollkorn": "^5.0.20",
"accept-language": "^3.0.18", "accept-language": "^3.0.18",
"astro": "4.5.18", "astro": "4.6.1",
"astro-icon": "^1.1.0", "astro-icon": "^1.1.0",
"node-cache": "^5.1.2", "node-cache": "^5.1.2",
"tippy.js": "^6.3.7", "tippy.js": "^6.3.7",
"ua-parser-js": "^1.0.37" "ua-parser-js": "^1.0.37"
}, },
"devDependencies": { "devDependencies": {
"@iconify-json/material-symbols": "^1.1.77", "@iconify-json/material-symbols": "^1.1.78",
"@types/ua-parser-js": "^0.7.39", "@types/ua-parser-js": "^0.7.39",
"astro-meta-tags": "^0.2.2", "astro-meta-tags": "^0.2.2",
"autoprefixer": "^10.4.19", "autoprefixer": "^10.4.19",
"bun-types": "^1.1.3", "bun-types": "^1.1.3",
"npm-check-updates": "^16.14.18", "npm-check-updates": "^16.14.18",
"postcss-preset-env": "^9.5.4", "postcss-preset-env": "^9.5.5",
"prettier": "^3.2.5", "prettier": "^3.2.5",
"prettier-plugin-astro": "^0.13.0", "prettier-plugin-astro": "^0.13.0",
"typescript": "^5.4.5" "typescript": "^5.4.5"
@ -233,11 +233,11 @@
} }
}, },
"node_modules/@astrojs/markdown-remark": { "node_modules/@astrojs/markdown-remark": {
"version": "5.0.0", "version": "5.1.0",
"resolved": "https://registry.npmjs.org/@astrojs/markdown-remark/-/markdown-remark-5.0.0.tgz", "resolved": "https://registry.npmjs.org/@astrojs/markdown-remark/-/markdown-remark-5.1.0.tgz",
"integrity": "sha512-QBXbxXZamVRoqCNN2gjDXa7qYPUkJZq7KYFfg3DX7rze3QL6xiz4N+Wg202dNPRaIkQa16BV6D8+EHibQFubRg==", "integrity": "sha512-S6Z3K2hOB7MfjeDoHsotnP/q2UsnEDB8NlNAaCjMDsGBZfTUbWxyLW3CaphEWw08f6KLZi2ibK9yC3BaMhh2NQ==",
"dependencies": { "dependencies": {
"@astrojs/prism": "^3.0.0", "@astrojs/prism": "^3.1.0",
"github-slugger": "^2.0.0", "github-slugger": "^2.0.0",
"hast-util-from-html": "^2.0.0", "hast-util-from-html": "^2.0.0",
"hast-util-to-text": "^4.0.0", "hast-util-to-text": "^4.0.0",
@ -270,45 +270,31 @@
} }
}, },
"node_modules/@astrojs/prism": { "node_modules/@astrojs/prism": {
"version": "3.0.0", "version": "3.1.0",
"resolved": "https://registry.npmjs.org/@astrojs/prism/-/prism-3.0.0.tgz", "resolved": "https://registry.npmjs.org/@astrojs/prism/-/prism-3.1.0.tgz",
"integrity": "sha512-g61lZupWq1bYbcBnYZqdjndShr/J3l/oFobBKPA3+qMat146zce3nz2kdO4giGbhYDt4gYdhmoBz0vZJ4sIurQ==", "integrity": "sha512-Z9IYjuXSArkAUx3N6xj6+Bnvx8OdUSHA8YoOgyepp3+zJmtVYJIl/I18GozdJVW1p5u/CNpl3Km7/gwTJK85cw==",
"dependencies": { "dependencies": {
"prismjs": "^1.29.0" "prismjs": "^1.29.0"
}, },
"engines": { "engines": {
"node": ">=18.14.1" "node": "^18.17.1 || ^20.3.0 || >=21.0.0"
} }
}, },
"node_modules/@astrojs/telemetry": { "node_modules/@astrojs/telemetry": {
"version": "3.0.4", "version": "3.1.0",
"resolved": "https://registry.npmjs.org/@astrojs/telemetry/-/telemetry-3.0.4.tgz", "resolved": "https://registry.npmjs.org/@astrojs/telemetry/-/telemetry-3.1.0.tgz",
"integrity": "sha512-A+0c7k/Xy293xx6odsYZuXiaHO0PL+bnDoXOc47sGDF5ffIKdKQGRPFl2NMlCF4L0NqN4Ynbgnaip+pPF0s7pQ==", "integrity": "sha512-/ca/+D8MIKEC8/A9cSaPUqQNZm+Es/ZinRv0ZAzvu2ios7POQSsVD+VOj7/hypWNsNM3T7RpfgNq7H2TU1KEHA==",
"dependencies": { "dependencies": {
"ci-info": "^3.8.0", "ci-info": "^4.0.0",
"debug": "^4.3.4", "debug": "^4.3.4",
"dlv": "^1.1.3", "dlv": "^1.1.3",
"dset": "^3.1.2", "dset": "^3.1.3",
"is-docker": "^3.0.0", "is-docker": "^3.0.0",
"is-wsl": "^3.0.0", "is-wsl": "^3.0.0",
"which-pm-runs": "^1.1.0" "which-pm-runs": "^1.1.0"
}, },
"engines": { "engines": {
"node": ">=18.14.1" "node": "^18.17.1 || ^20.3.0 || >=21.0.0"
}
},
"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_modules/@babel/code-frame": { "node_modules/@babel/code-frame": {
@ -2019,9 +2005,9 @@
"dev": true "dev": true
}, },
"node_modules/@iconify-json/material-symbols": { "node_modules/@iconify-json/material-symbols": {
"version": "1.1.77", "version": "1.1.78",
"resolved": "https://registry.npmjs.org/@iconify-json/material-symbols/-/material-symbols-1.1.77.tgz", "resolved": "https://registry.npmjs.org/@iconify-json/material-symbols/-/material-symbols-1.1.78.tgz",
"integrity": "sha512-b+jAkZKxBrGXXV76psToCGYVzu2IzyM8fxgiLOc6uPLB3R4vhrQGKT1J3wH9JnURShwQenEVPVNWetr5sj0Trg==", "integrity": "sha512-WNDaCOdxIMAVer6fWYCsi7iUJM43sBIRd8bFExOifyb4RpXP1dG+Zh3MXqCX56iwaQ9Ra/a2XlFDNZfKnE4NWQ==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@iconify/types": "*" "@iconify/types": "*"
@ -2643,9 +2629,9 @@
] ]
}, },
"node_modules/@shikijs/core": { "node_modules/@shikijs/core": {
"version": "1.2.4", "version": "1.3.0",
"resolved": "https://registry.npmjs.org/@shikijs/core/-/core-1.2.4.tgz", "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-1.3.0.tgz",
"integrity": "sha512-ClaUWpt8oTzjcF0MM1P81AeWyzc1sNSJlAjMG80CbwqbFqXSNz+NpQVUC0icobt3sZn43Sn27M4pHD/Jmp3zHw==" "integrity": "sha512-7fedsBfuILDTBmrYZNFI8B6ATTxhQAasUHllHmjvSZPnoq4bULWoTpHwmuQvZ8Aq03/tAa2IGo6RXqWtHdWaCA=="
}, },
"node_modules/@sigstore/bundle": { "node_modules/@sigstore/bundle": {
"version": "1.1.0", "version": "1.1.0",
@ -3211,14 +3197,14 @@
} }
}, },
"node_modules/astro": { "node_modules/astro": {
"version": "4.5.18", "version": "4.6.1",
"resolved": "https://registry.npmjs.org/astro/-/astro-4.5.18.tgz", "resolved": "https://registry.npmjs.org/astro/-/astro-4.6.1.tgz",
"integrity": "sha512-iytLnUfyUneKMjIQdj79zzniByXtcmGNDobIV/gjGsatC9vAyPqeCT8TbMqfkRBMeYGs+S/wCzSoPqaaMJiQnw==", "integrity": "sha512-gcL22NEhuRi4wu9/x5Kn2eJf7nT6GeU5BxdN6AHbUnX6UzEDIWtpgHs5lBIZYExKbHKN9PjEGXWQzQtFwLU+5g==",
"dependencies": { "dependencies": {
"@astrojs/compiler": "^2.7.1", "@astrojs/compiler": "^2.7.1",
"@astrojs/internal-helpers": "0.4.0", "@astrojs/internal-helpers": "0.4.0",
"@astrojs/markdown-remark": "5.0.0", "@astrojs/markdown-remark": "5.1.0",
"@astrojs/telemetry": "3.0.4", "@astrojs/telemetry": "3.1.0",
"@babel/core": "^7.24.3", "@babel/core": "^7.24.3",
"@babel/generator": "^7.23.3", "@babel/generator": "^7.23.3",
"@babel/parser": "^7.23.3", "@babel/parser": "^7.23.3",
@ -3282,8 +3268,9 @@
"astro": "astro.js" "astro": "astro.js"
}, },
"engines": { "engines": {
"node": ">=18.14.1", "node": "^18.17.1 || ^20.3.0 || >=21.0.0",
"npm": ">=6.14.0" "npm": ">=9.6.5",
"pnpm": ">=7.1.0"
}, },
"optionalDependencies": { "optionalDependencies": {
"sharp": "^0.32.6" "sharp": "^0.32.6"
@ -5605,9 +5592,9 @@
} }
}, },
"node_modules/hast-util-to-text": { "node_modules/hast-util-to-text": {
"version": "4.0.0", "version": "4.0.1",
"resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-4.0.0.tgz", "resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-4.0.1.tgz",
"integrity": "sha512-EWiE1FSArNBPUo1cKWtzqgnuRQwEeQbQtnFJRYV1hb1BWDgrAlBU0ExptvZMM/KSA82cDpm2sFGf3Dmc5Mza3w==", "integrity": "sha512-RHL7Vo2n06ZocCFWqmbyhZ1pCYX/mSKdywt9YD5U6Hquu5syV+dImCXFKLFt02JoK5QxkQFS0PoVdFdPXuPffQ==",
"dependencies": { "dependencies": {
"@types/hast": "^3.0.0", "@types/hast": "^3.0.0",
"@types/unist": "^3.0.0", "@types/unist": "^3.0.0",
@ -8967,9 +8954,9 @@
} }
}, },
"node_modules/postcss-custom-properties": { "node_modules/postcss-custom-properties": {
"version": "13.3.6", "version": "13.3.7",
"resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-13.3.6.tgz", "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-13.3.7.tgz",
"integrity": "sha512-vVVIwQbJiIz+PBLMIWA6XMi53Zg66/f474KolA7x0Das6EwkATc/9ZvM6zZx2gs7ZhcgVHjmWBbHkK9FlCgLeA==", "integrity": "sha512-0N9F/GUCr/D0IazjzHahyYW2bQVDT6qDtEudiGHAhMd3XqhfM3VmfYVlkc/40DOhsPtngSNb54/Ctu8msvFOvQ==",
"dev": true, "dev": true,
"funding": [ "funding": [
{ {
@ -9345,9 +9332,9 @@
} }
}, },
"node_modules/postcss-preset-env": { "node_modules/postcss-preset-env": {
"version": "9.5.4", "version": "9.5.5",
"resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-9.5.4.tgz", "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-9.5.5.tgz",
"integrity": "sha512-o/jOlJjhm4f6rI5q1f+4Og3tz1cjaO50er9ndk7ZdcXHjWOH49kMAhqDC/nQifypQkOAiAmF46dPt3pZM+Cwbg==", "integrity": "sha512-tg71KfEgTHMM+C4LpWtKfHFWEunfWj1JThq/Odsw60MOowcffBrMAcSBDE+imftW5/BD3mpOiiTL6c+KcnGaLQ==",
"dev": true, "dev": true,
"funding": [ "funding": [
{ {
@ -9401,7 +9388,7 @@
"postcss-color-hex-alpha": "^9.0.4", "postcss-color-hex-alpha": "^9.0.4",
"postcss-color-rebeccapurple": "^9.0.3", "postcss-color-rebeccapurple": "^9.0.3",
"postcss-custom-media": "^10.0.4", "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-custom-selectors": "^7.1.8",
"postcss-dir-pseudo-class": "^8.0.1", "postcss-dir-pseudo-class": "^8.0.1",
"postcss-double-position-gradients": "^5.0.6", "postcss-double-position-gradients": "^5.0.6",
@ -10843,11 +10830,11 @@
} }
}, },
"node_modules/shiki": { "node_modules/shiki": {
"version": "1.2.4", "version": "1.3.0",
"resolved": "https://registry.npmjs.org/shiki/-/shiki-1.2.4.tgz", "resolved": "https://registry.npmjs.org/shiki/-/shiki-1.3.0.tgz",
"integrity": "sha512-Q9n9jKiOjJCRPztA9POn3/uZXNySHDNKAsPNpmtHDcFyi6ZQhx5vQKZW3Nhrwn8TWW3RudSRk66zqY603EZDeg==", "integrity": "sha512-9aNdQy/etMXctnPzsje1h1XIGm9YfRcSksKOGqZWXA/qP9G18/8fpz5Bjpma8bOgz3tqIpjERAd6/lLjFyzoww==",
"dependencies": { "dependencies": {
"@shikijs/core": "1.2.4" "@shikijs/core": "1.3.0"
} }
}, },
"node_modules/signal-exit": { "node_modules/signal-exit": {

View File

@ -24,20 +24,20 @@
"@fontsource-variable/murecho": "^5.0.18", "@fontsource-variable/murecho": "^5.0.18",
"@fontsource-variable/vollkorn": "^5.0.20", "@fontsource-variable/vollkorn": "^5.0.20",
"accept-language": "^3.0.18", "accept-language": "^3.0.18",
"astro": "4.5.18", "astro": "4.6.1",
"astro-icon": "^1.1.0", "astro-icon": "^1.1.0",
"node-cache": "^5.1.2", "node-cache": "^5.1.2",
"tippy.js": "^6.3.7", "tippy.js": "^6.3.7",
"ua-parser-js": "^1.0.37" "ua-parser-js": "^1.0.37"
}, },
"devDependencies": { "devDependencies": {
"@iconify-json/material-symbols": "^1.1.77", "@iconify-json/material-symbols": "^1.1.78",
"@types/ua-parser-js": "^0.7.39", "@types/ua-parser-js": "^0.7.39",
"astro-meta-tags": "^0.2.2", "astro-meta-tags": "^0.2.2",
"autoprefixer": "^10.4.19", "autoprefixer": "^10.4.19",
"bun-types": "^1.1.3", "bun-types": "^1.1.3",
"npm-check-updates": "^16.14.18", "npm-check-updates": "^16.14.18",
"postcss-preset-env": "^9.5.4", "postcss-preset-env": "^9.5.5",
"prettier": "^3.2.5", "prettier": "^3.2.5",
"prettier-plugin-astro": "^0.13.0", "prettier-plugin-astro": "^0.13.0",
"typescript": "^5.4.5" "typescript": "^5.4.5"

View File

@ -46,7 +46,7 @@ const { header, id } = Astro.props;
h4, h4,
h5, h5,
h6 { h6 {
display: inline-flex; display: flex;
place-items: center; place-items: center;
gap: 0.5em; gap: 0.5em;
} }

View File

@ -28,6 +28,7 @@ const { node, context } = Astro.props;
color: var(--color-base-650); color: var(--color-base-650);
font-weight: 500; font-weight: 500;
font-size: 70%; font-size: 70%;
place-self: end; place-self: start;
margin-top: 0.33em;
} }
</style> </style>

View File

@ -56,5 +56,11 @@ const mediaPage = getLocalizedUrl(`/images/${id}`);
box-shadow: 0 5px 20px -10px var(--color-shadow); box-shadow: 0 5px 20px -10px var(--color-shadow);
margin-bottom: -0.5em; margin-bottom: -0.5em;
} }
transition: 100ms scale;
&:hover {
scale: 102%;
}
} }
</style> </style>

View File

@ -89,29 +89,29 @@ export type WordingKey =
| "pages.tableOfContent.break" | "pages.tableOfContent.break"
| "global.languageOverride.availableLanguages" | "global.languageOverride.availableLanguages"
| "timeline.title" | "timeline.title"
| "timeline.eras.drakengard3" | "timeline.description"
| "timeline.eras.cataclysm"
| "timeline.eras.drakengard" | "timeline.eras.drakengard"
| "timeline.eras.drakengard2" | "timeline.eras.drakengard2"
| "timeline.eras.drakengard3"
| "timeline.eras.nier" | "timeline.eras.nier"
| "timeline.eras.nierAutomata" | "timeline.eras.nierAutomata"
| "timeline.eras.cataclysm" | "timeline.jumpTo"
| "timeline.description"
| "timeline.notes.title"
| "timeline.notes.content" | "timeline.notes.content"
| "timeline.notes.title"
| "timeline.priorCataclysmNote.title" | "timeline.priorCataclysmNote.title"
| "timeline.priorCataclysmNote.content" | "timeline.priorCataclysmNote.content"
| "timeline.jumpTo"
| "timeline.year.during" | "timeline.year.during"
| "timeline.eventFooter.languages"
| "timeline.eventFooter.sources" | "timeline.eventFooter.sources"
| "timeline.eventFooter.languages"
| "timeline.eventFooter.note" | "timeline.eventFooter.note"
| "global.sources.typeLabel.url"
| "global.sources.typeLabel.page"
| "global.sources.typeLabel.collectible" | "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.page"
| "global.sources.typeLabel.collectible.range.timestamp" | "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.openMediaPage"
| "global.downloadButton" | "global.downloadButton"
| "global.previewTypes.video" | "global.previewTypes.video"

View File

@ -41,13 +41,15 @@ const translation = getLocalizedMatch(page.translations);
{ {
page.thumbnail && ( page.thumbnail && (
<img <a href={getLocalizedUrl(`/images/${page.thumbnail.id}`)}>
id="thumbnail" <img
class="when-not-large" id="thumbnail"
src={page.thumbnail.url} class="when-not-large"
width={page.thumbnail.width} src={page.thumbnail.url}
height={page.thumbnail.height} width={page.thumbnail.width}
/> height={page.thumbnail.height}
/>
</a>
) )
} }
@ -93,12 +95,14 @@ const translation = getLocalizedMatch(page.translations);
<div id="right" class="when-large"> <div id="right" class="when-large">
{ {
page.thumbnail && ( page.thumbnail && (
<img <a href={getLocalizedUrl(`/images/${page.thumbnail.id}`)}>
id="thumbnail" <img
src={page.thumbnail.url} id="thumbnail"
width={page.thumbnail.width} src={page.thumbnail.url}
height={page.thumbnail.height} width={page.thumbnail.width}
/> height={page.thumbnail.height}
/>
</a>
) )
} }
@ -135,12 +139,8 @@ const translation = getLocalizedMatch(page.translations);
} }
& > #left { & > #left {
& > #thumbnail { & > a > #thumbnail {
width: 100%;
max-width: 35rem; max-width: 35rem;
height: auto;
border-radius: 16px;
box-shadow: 0 5px 20px -10px var(--color-shadow);
margin-block: 2em; margin-block: 2em;
} }
@ -159,14 +159,17 @@ const translation = getLocalizedMatch(page.translations);
margin-block: 3em; margin-block: 3em;
} }
} }
}
& > #right { #thumbnail {
& > #thumbnail { width: 100%;
width: 100%; height: auto;
height: auto; border-radius: 16px;
border-radius: 16px; box-shadow: 0 5px 20px -10px var(--color-shadow);
box-shadow: 0 5px 20px -10px var(--color-shadow); transition: 100ms scale;
}
&:hover {
scale: 102%;
} }
} }

View File

@ -18,7 +18,7 @@ import ContentsSection from "./_components/ContentsSection/ContentsSection.astro
import { formatInlineTitle, formatRichTextToString } from "src/utils/format"; import { formatInlineTitle, formatRichTextToString } from "src/utils/format";
const { slug } = Astro.params; 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!)); const collectible = await fetchOr404(() => payload.getCollectible(slug!));
if (collectible instanceof Response) { if (collectible instanceof Response) {
@ -69,12 +69,14 @@ const scansFirstImage = scans[0];
<div id="images" class="when-not-large"> <div id="images" class="when-not-large">
{ {
thumbnail && ( thumbnail && (
<img <a href={getLocalizedUrl(`/images/${thumbnail.id}`)}>
id="thumbnail" <img
src={thumbnail.url} id="thumbnail"
width={thumbnail.width} src={thumbnail.url}
height={thumbnail.height} width={thumbnail.width}
/> height={thumbnail.height}
/>
</a>
) )
} }
@ -154,12 +156,14 @@ const scansFirstImage = scans[0];
{ {
thumbnail && ( thumbnail && (
<img <a href={getLocalizedUrl(`/images/${thumbnail.id}`)}>
id="thumbnail" <img
src={thumbnail.url} id="thumbnail"
width={thumbnail.width} src={thumbnail.url}
height={thumbnail.height} width={thumbnail.width}
/> height={thumbnail.height}
/>
</a>
) )
} }
</div> </div>
@ -197,9 +201,6 @@ const scansFirstImage = scans[0];
} }
& > #thumbnail { & > #thumbnail {
width: 100%;
height: auto;
box-shadow: 0 5px 20px -10px var(--color-shadow);
max-width: 35rem; max-width: 35rem;
} }
@ -251,16 +252,21 @@ const scansFirstImage = scans[0];
flex-direction: column; flex-direction: column;
gap: 1em; 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 { .when-large {
@media (max-width: 80rem) { @media (max-width: 80rem) {
display: none !important; display: none !important;

View File

@ -23,27 +23,27 @@ export interface Config {
pages: Page; pages: Page;
collectibles: Collectible; collectibles: Collectible;
folders: Folder; folders: Folder;
"chronology-events": ChronologyEvent; 'chronology-events': ChronologyEvent;
images: Image; images: Image;
audios: Audio; audios: Audio;
"media-thumbnails": MediaThumbnail; 'media-thumbnails': MediaThumbnail;
videos: Video; videos: Video;
"videos-subtitles": VideoSubtitle; 'videos-subtitles': VideoSubtitle;
"videos-channels": VideosChannel; 'videos-channels': VideosChannel;
scans: Scan; scans: Scan;
tags: Tag; tags: Tag;
"tags-groups": TagsGroup; 'tags-groups': TagsGroup;
"credits-roles": CreditsRole; 'credits-roles': CreditsRole;
recorders: Recorder; recorders: Recorder;
languages: Language; languages: Language;
currencies: Currency; currencies: Currency;
wordings: Wording; wordings: Wording;
"generic-contents": GenericContent; 'generic-contents': GenericContent;
"payload-preferences": PayloadPreference; 'payload-preferences': PayloadPreference;
"payload-migrations": PayloadMigration; 'payload-migrations': PayloadMigration;
}; };
globals: { globals: {
"website-config": WebsiteConfig; 'website-config': WebsiteConfig;
}; };
} }
/** /**
@ -70,8 +70,8 @@ export interface Page {
version: number; version: number;
[k: string]: unknown; [k: string]: unknown;
}[]; }[];
direction: ("ltr" | "rtl") | null; direction: ('ltr' | 'rtl') | null;
format: "left" | "start" | "center" | "right" | "end" | "justify" | ""; format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
indent: number; indent: number;
version: number; version: number;
}; };
@ -85,8 +85,8 @@ export interface Page {
version: number; version: number;
[k: string]: unknown; [k: string]: unknown;
}[]; }[];
direction: ("ltr" | "rtl") | null; direction: ('ltr' | 'rtl') | null;
format: "left" | "start" | "center" | "right" | "end" | "justify" | ""; format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
indent: number; indent: number;
version: number; version: number;
}; };
@ -100,7 +100,7 @@ export interface Page {
updatedBy: string | Recorder; updatedBy: string | Recorder;
updatedAt: string; updatedAt: string;
createdAt: string; createdAt: string;
_status?: ("draft" | "published") | null; _status?: ('draft' | 'published') | null;
} }
/** /**
* This interface was referenced by `Config`'s JSON-Schema * This interface was referenced by `Config`'s JSON-Schema
@ -120,8 +120,8 @@ export interface Image {
version: number; version: number;
[k: string]: unknown; [k: string]: unknown;
}[]; }[];
direction: ("ltr" | "rtl") | null; direction: ('ltr' | 'rtl') | null;
format: "left" | "start" | "center" | "right" | "end" | "justify" | ""; format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
indent: number; indent: number;
version: number; version: number;
}; };
@ -225,7 +225,7 @@ export interface Recorder {
username: string; username: string;
avatar?: string | Image | null; avatar?: string | Image | null;
languages?: (string | Language)[] | null; languages?: (string | Language)[] | null;
role?: ("Admin" | "Recorder" | "Api")[] | null; role?: ('Admin' | 'Recorder' | 'Api')[] | null;
anonymize: boolean; anonymize: boolean;
email: string; email: string;
resetPasswordToken?: string | null; resetPasswordToken?: string | null;
@ -256,8 +256,8 @@ export interface Folder {
version: number; version: number;
[k: string]: unknown; [k: string]: unknown;
}[]; }[];
direction: ("ltr" | "rtl") | null; direction: ('ltr' | 'rtl') | null;
format: "left" | "start" | "center" | "right" | "end" | "justify" | ""; format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
indent: number; indent: number;
version: number; version: number;
}; };
@ -281,23 +281,23 @@ export interface Folder {
files?: files?:
| ( | (
| { | {
relationTo: "collectibles"; relationTo: 'collectibles';
value: string | Collectible; value: string | Collectible;
} }
| { | {
relationTo: "pages"; relationTo: 'pages';
value: string | Page; value: string | Page;
} }
| { | {
relationTo: "videos"; relationTo: 'videos';
value: string | Video; value: string | Video;
} }
| { | {
relationTo: "images"; relationTo: 'images';
value: string | Image; value: string | Image;
} }
| { | {
relationTo: "audios"; relationTo: 'audios';
value: string | Audio; value: string | Audio;
} }
)[] )[]
@ -313,7 +313,7 @@ export interface Collectible {
id: string; id: string;
slug: string; slug: string;
thumbnail?: string | Image | null; thumbnail?: string | Image | null;
nature: "Physical" | "Digital"; nature: 'Physical' | 'Digital';
languages?: (string | Language)[] | null; languages?: (string | Language)[] | null;
tags?: (string | Tag)[] | null; tags?: (string | Tag)[] | null;
translations: { translations: {
@ -329,8 +329,8 @@ export interface Collectible {
version: number; version: number;
[k: string]: unknown; [k: string]: unknown;
}[]; }[];
direction: ("ltr" | "rtl") | null; direction: ('ltr' | 'rtl') | null;
format: "left" | "start" | "center" | "right" | "end" | "justify" | ""; format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
indent: number; indent: number;
version: number; version: number;
}; };
@ -419,8 +419,8 @@ export interface Collectible {
pageInfoEnabled?: boolean | null; pageInfoEnabled?: boolean | null;
pageInfo?: { pageInfo?: {
pageCount: number; pageCount: number;
bindingType?: ("Paperback" | "Hardcover") | null; bindingType?: ('Paperback' | 'Hardcover') | null;
pageOrder?: ("Left to right" | "Right to left") | null; pageOrder?: ('Left to right' | 'Right to left') | null;
}; };
folders?: (string | Folder)[] | null; folders?: (string | Folder)[] | null;
parentItems?: (string | Collectible)[] | null; parentItems?: (string | Collectible)[] | null;
@ -429,19 +429,19 @@ export interface Collectible {
| { | {
content: content:
| { | {
relationTo: "pages"; relationTo: 'pages';
value: string | Page; value: string | Page;
} }
| { | {
relationTo: "generic-contents"; relationTo: 'generic-contents';
value: string | GenericContent; value: string | GenericContent;
} }
| { | {
relationTo: "audios"; relationTo: 'audios';
value: string | Audio; value: string | Audio;
} }
| { | {
relationTo: "videos"; relationTo: 'videos';
value: string | Video; value: string | Video;
}; };
range?: range?:
@ -451,14 +451,14 @@ export interface Collectible {
end: number; end: number;
id?: string | null; id?: string | null;
blockName?: string | null; blockName?: string | null;
blockType: "pageRange"; blockType: 'pageRange';
} }
| { | {
start: string; start: string;
end: string; end: string;
id?: string | null; id?: string | null;
blockName?: string | null; blockName?: string | null;
blockType: "timeRange"; blockType: 'timeRange';
} }
| { | {
translations: { translations: {
@ -471,8 +471,8 @@ export interface Collectible {
version: number; version: number;
[k: string]: unknown; [k: string]: unknown;
}[]; }[];
direction: ("ltr" | "rtl") | null; direction: ('ltr' | 'rtl') | null;
format: "left" | "start" | "center" | "right" | "end" | "justify" | ""; format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
indent: number; indent: number;
version: number; version: number;
}; };
@ -482,7 +482,7 @@ export interface Collectible {
}[]; }[];
id?: string | null; id?: string | null;
blockName?: string | null; blockName?: string | null;
blockType: "other"; blockType: 'other';
} }
)[] )[]
| null; | null;
@ -492,7 +492,7 @@ export interface Collectible {
updatedBy: string | Recorder; updatedBy: string | Recorder;
updatedAt: string; updatedAt: string;
createdAt: string; createdAt: string;
_status?: ("draft" | "published") | null; _status?: ('draft' | 'published') | null;
} }
/** /**
* This interface was referenced by `Config`'s JSON-Schema * This interface was referenced by `Config`'s JSON-Schema
@ -568,8 +568,8 @@ export interface Audio {
version: number; version: number;
[k: string]: unknown; [k: string]: unknown;
}[]; }[];
direction: ("ltr" | "rtl") | null; direction: ('ltr' | 'rtl') | null;
format: "left" | "start" | "center" | "right" | "end" | "justify" | ""; format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
indent: number; indent: number;
version: number; version: number;
}; };
@ -640,8 +640,8 @@ export interface Video {
version: number; version: number;
[k: string]: unknown; [k: string]: unknown;
}[]; }[];
direction: ("ltr" | "rtl") | null; direction: ('ltr' | 'rtl') | null;
format: "left" | "start" | "center" | "right" | "end" | "justify" | ""; format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
indent: number; indent: number;
version: number; version: number;
}; };
@ -720,8 +720,8 @@ export interface ChronologyEvent {
version: number; version: number;
[k: string]: unknown; [k: string]: unknown;
}[]; }[];
direction: ("ltr" | "rtl") | null; direction: ('ltr' | 'rtl') | null;
format: "left" | "start" | "center" | "right" | "end" | "justify" | ""; format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
indent: number; indent: number;
version: number; version: number;
}; };
@ -735,8 +735,8 @@ export interface ChronologyEvent {
version: number; version: number;
[k: string]: unknown; [k: string]: unknown;
}[]; }[];
direction: ("ltr" | "rtl") | null; direction: ('ltr' | 'rtl') | null;
format: "left" | "start" | "center" | "right" | "end" | "justify" | ""; format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
indent: number; indent: number;
version: number; version: number;
}; };
@ -750,7 +750,7 @@ export interface ChronologyEvent {
updatedBy: string | Recorder; updatedBy: string | Recorder;
updatedAt: string; updatedAt: string;
createdAt: string; createdAt: string;
_status?: ("draft" | "published") | null; _status?: ('draft' | 'published') | null;
} }
/** /**
* This interface was referenced by `Config`'s JSON-Schema * This interface was referenced by `Config`'s JSON-Schema
@ -760,7 +760,7 @@ export interface UrlBlock {
url: string; url: string;
id?: string | null; id?: string | null;
blockName?: string | null; blockName?: string | null;
blockType: "urlBlock"; blockType: 'urlBlock';
} }
/** /**
* This interface was referenced by `Config`'s JSON-Schema * This interface was referenced by `Config`'s JSON-Schema
@ -774,13 +774,13 @@ export interface CollectibleBlock {
page: number; page: number;
id?: string | null; id?: string | null;
blockName?: string | null; blockName?: string | null;
blockType: "page"; blockType: 'page';
} }
| { | {
timestamp: string; timestamp: string;
id?: string | null; id?: string | null;
blockName?: string | null; blockName?: string | null;
blockType: "timestamp"; blockType: 'timestamp';
} }
| { | {
translations: { translations: {
@ -790,13 +790,13 @@ export interface CollectibleBlock {
}[]; }[];
id?: string | null; id?: string | null;
blockName?: string | null; blockName?: string | null;
blockType: "other"; blockType: 'other';
} }
)[] )[]
| null; | null;
id?: string | null; id?: string | null;
blockName?: string | null; blockName?: string | null;
blockType: "collectibleBlock"; blockType: 'collectibleBlock';
} }
/** /**
* This interface was referenced by `Config`'s JSON-Schema * This interface was referenced by `Config`'s JSON-Schema
@ -806,7 +806,7 @@ export interface PageBlock {
page: string | Page; page: string | Page;
id?: string | null; id?: string | null;
blockName?: string | null; blockName?: string | null;
blockType: "pageBlock"; blockType: 'pageBlock';
} }
/** /**
* This interface was referenced by `Config`'s JSON-Schema * This interface was referenced by `Config`'s JSON-Schema
@ -830,7 +830,7 @@ export interface Wording {
export interface PayloadPreference { export interface PayloadPreference {
id: string; id: string;
user: { user: {
relationTo: "recorders"; relationTo: 'recorders';
value: string | Recorder; value: string | Recorder;
}; };
key?: string | null; key?: string | null;
@ -898,8 +898,8 @@ export interface LineBlock {
version: number; version: number;
[k: string]: unknown; [k: string]: unknown;
}[]; }[];
direction: ("ltr" | "rtl") | null; direction: ('ltr' | 'rtl') | null;
format: "left" | "start" | "center" | "right" | "end" | "justify" | ""; format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
indent: number; indent: number;
version: number; version: number;
}; };
@ -907,7 +907,7 @@ export interface LineBlock {
}; };
id?: string | null; id?: string | null;
blockName?: string | null; blockName?: string | null;
blockType: "lineBlock"; blockType: 'lineBlock';
} }
/** /**
* This interface was referenced by `Config`'s JSON-Schema * This interface was referenced by `Config`'s JSON-Schema
@ -922,8 +922,8 @@ export interface CueBlock {
version: number; version: number;
[k: string]: unknown; [k: string]: unknown;
}[]; }[];
direction: ("ltr" | "rtl") | null; direction: ('ltr' | 'rtl') | null;
format: "left" | "start" | "center" | "right" | "end" | "justify" | ""; format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
indent: number; indent: number;
version: number; version: number;
}; };
@ -931,7 +931,7 @@ export interface CueBlock {
}; };
id?: string | null; id?: string | null;
blockName?: string | null; blockName?: string | null;
blockType: "cueBlock"; blockType: 'cueBlock';
} }
/** /**
* This interface was referenced by `Config`'s JSON-Schema * This interface was referenced by `Config`'s JSON-Schema
@ -941,17 +941,17 @@ export interface TranscriptBlock {
lines: (LineBlock | CueBlock)[]; lines: (LineBlock | CueBlock)[];
id?: string | null; id?: string | null;
blockName?: string | null; blockName?: string | null;
blockType: "transcriptBlock"; blockType: 'transcriptBlock';
} }
/** /**
* This interface was referenced by `Config`'s JSON-Schema * This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "BreakBlock". * via the `definition` "BreakBlock".
*/ */
export interface 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; id?: string | null;
blockName?: string | null; blockName?: string | null;
blockType: "breakBlock"; blockType: 'breakBlock';
} }
/** /**
* This interface was referenced by `Config`'s JSON-Schema * This interface was referenced by `Config`'s JSON-Schema
@ -966,8 +966,8 @@ export interface SectionBlock {
version: number; version: number;
[k: string]: unknown; [k: string]: unknown;
}[]; }[];
direction: ("ltr" | "rtl") | null; direction: ('ltr' | 'rtl') | null;
format: "left" | "start" | "center" | "right" | "end" | "justify" | ""; format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
indent: number; indent: number;
version: number; version: number;
}; };
@ -975,10 +975,11 @@ export interface SectionBlock {
}; };
id?: string | null; id?: string | null;
blockName?: string | null; blockName?: string | null;
blockType: "sectionBlock"; blockType: 'sectionBlock';
} }
/////////////// CONSTANTS /////////////// /////////////// CONSTANTS ///////////////
@ -1400,8 +1401,8 @@ export type EndpointFolder = {
export type EndpointWebsiteConfig = { export type EndpointWebsiteConfig = {
homeFolders: (EndpointFolder & { homeFolders: (EndpointFolder & {
lightThumbnail?: PayloadImage; lightThumbnail?: EndpointImage;
darkThumbnail?: PayloadImage; darkThumbnail?: EndpointImage;
})[]; })[];
timeline: { timeline: {
breaks: number[]; breaks: number[];
@ -1417,7 +1418,7 @@ export type EndpointWebsiteConfig = {
export type EndpointRecorder = { export type EndpointRecorder = {
id: string; id: string;
username: string; username: string;
avatar?: PayloadImage; avatar?: EndpointImage;
languages: string[]; languages: string[];
}; };
@ -1462,9 +1463,9 @@ export type EndpointCredit = {
export type EndpointPage = { export type EndpointPage = {
slug: string; slug: string;
thumbnail?: PayloadImage; thumbnail?: EndpointImage;
tagGroups: EndpointTagsGroup[]; tagGroups: EndpointTagsGroup[];
backgroundImage?: PayloadImage; backgroundImage?: EndpointImage;
translations: { translations: {
language: string; language: string;
pretitle?: string; pretitle?: string;
@ -1481,7 +1482,7 @@ export type EndpointPage = {
export type EndpointCollectible = { export type EndpointCollectible = {
slug: string; slug: string;
thumbnail?: PayloadImage; thumbnail?: EndpointImage;
translations: { translations: {
language: string; language: string;
pretitle?: string; pretitle?: string;
@ -1492,9 +1493,9 @@ export type EndpointCollectible = {
tagGroups: EndpointTagsGroup[]; tagGroups: EndpointTagsGroup[];
releaseDate?: string; releaseDate?: string;
languages: string[]; languages: string[];
backgroundImage?: PayloadImage; backgroundImage?: EndpointImage;
nature: CollectibleNature; nature: CollectibleNature;
gallery: PayloadImage[]; gallery: EndpointImage[];
scans: PayloadImage[]; scans: PayloadImage[];
urls: { url: string; label: string }[]; urls: { url: string; label: string }[];
price?: { price?: {