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
- [Medias] Add Parent pages
- [Timeline] inline links to pages not working (timeline 2026/06)
## Mid term

103
package-lock.json generated
View File

@ -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": {

View File

@ -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"

View File

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

View File

@ -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>

View File

@ -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>

View File

@ -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"

View File

@ -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%;
}
}

View File

@ -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;

View File

@ -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?: {