diff --git a/src/components/app/BigLink.svelte b/src/components/app/BigLink.svelte index 6be17a7b1..db85d5c97 100644 --- a/src/components/app/BigLink.svelte +++ b/src/components/app/BigLink.svelte @@ -2,10 +2,15 @@ import Link from './Link.svelte'; export let to: string; - export let subtitle: string; + export let subtitle: string | undefined = undefined; + export let external = false; -


{subtitle}

+

{#if subtitle}
{subtitle}
{/if}

diff --git a/static/locales/es-MX/es-MX.json b/static/locales/es-MX/es-MX.json index eddafe057..5138545f5 100644 --- a/static/locales/es-MX/es-MX.json +++ b/static/locales/es-MX/es-MX.json @@ -2650,6 +2650,11 @@ "consequences": [ "Si encontramos un proyecto o galería que viola estas reglas, advertiremos a los creadores antes de que lo vean o bloquearemos su visualización. Si violas repetidamente estas reglas, perderás el privilegio de publicar públicamente." ] + }, + "donate": { + "header": "$?", + "prompt": "$?", + "content": ["$?"] } }, "edit": { diff --git a/static/locales/example/example.json b/static/locales/example/example.json index d740f64cf..b105399dc 100644 --- a/static/locales/example/example.json +++ b/static/locales/example/example.json @@ -2570,6 +2570,11 @@ "header": "$?", "content": ["$?"], "consequences": ["$?"] + }, + "donate": { + "header": "$?", + "prompt": "$?", + "content": ["$?"] } }, "edit": { diff --git a/static/locales/zh-CN/zh-CN.json b/static/locales/zh-CN/zh-CN.json index afc40d751..881a60351 100644 --- a/static/locales/zh-CN/zh-CN.json +++ b/static/locales/zh-CN/zh-CN.json @@ -2570,6 +2570,11 @@ "header": "$?", "content": ["$?"], "consequences": ["$?"] + }, + "donate": { + "header": "$?", + "prompt": "$?", + "content": ["$?"] } }, "edit": { diff --git a/static/schemas/Locale.json b/static/schemas/Locale.json index cb68b0110..33d2da701 100644 --- a/static/schemas/Locale.json +++ b/static/schemas/Locale.json @@ -110,7 +110,17 @@ "additionalProperties": false, "properties": { "explanation": { - "$ref": "#/definitions/Template", + "anyOf": [ + { + "$ref": "#/definitions/Template" + }, + { + "items": { + "$ref": "#/definitions/Template" + }, + "type": "array" + } + ], "description": "The explanation text just below the header." }, "header": { @@ -280,88 +290,39 @@ ], "type": "object" }, + "GalleryText": { + "additionalProperties": false, + "properties": { + "description": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "name", + "description" + ], + "type": "object" + }, "GalleryTexts": { "additionalProperties": false, "properties": { "av": { - "additionalProperties": false, - "properties": { - "description": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "required": [ - "name", - "description" - ], - "type": "object" + "$ref": "#/definitions/GalleryText" }, "games": { - "additionalProperties": false, - "properties": { - "description": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "required": [ - "name", - "description" - ], - "type": "object" + "$ref": "#/definitions/GalleryText" }, "motion": { - "additionalProperties": false, - "properties": { - "description": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "required": [ - "name", - "description" - ], - "type": "object" + "$ref": "#/definitions/GalleryText" }, "tools": { - "additionalProperties": false, - "properties": { - "description": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "required": [ - "name", - "description" - ], - "type": "object" + "$ref": "#/definitions/GalleryText" }, "visualizations": { - "additionalProperties": false, - "properties": { - "description": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "required": [ - "name", - "description" - ], - "type": "object" + "$ref": "#/definitions/GalleryText" } }, "required": [ @@ -7937,7 +7898,17 @@ "description": "The keyboard shortcut reference dialog", "properties": { "explanation": { - "$ref": "#/definitions/Template", + "anyOf": [ + { + "$ref": "#/definitions/Template" + }, + { + "items": { + "$ref": "#/definitions/Template" + }, + "type": "array" + } + ], "description": "The explanation text just below the header." }, "header": { @@ -8010,7 +7981,17 @@ "type": "object" }, "explanation": { - "$ref": "#/definitions/Template", + "anyOf": [ + { + "$ref": "#/definitions/Template" + }, + { + "items": { + "$ref": "#/definitions/Template" + }, + "type": "array" + } + ], "description": "The explanation text just below the header." }, "header": { @@ -8068,7 +8049,17 @@ "type": "object" }, "explanation": { - "$ref": "#/definitions/Template", + "anyOf": [ + { + "$ref": "#/definitions/Template" + }, + { + "items": { + "$ref": "#/definitions/Template" + }, + "type": "array" + } + ], "description": "The explanation text just below the header." }, "header": { @@ -8145,7 +8136,17 @@ "type": "object" }, "explanation": { - "$ref": "#/definitions/Template", + "anyOf": [ + { + "$ref": "#/definitions/Template" + }, + { + "items": { + "$ref": "#/definitions/Template" + }, + "type": "array" + } + ], "description": "The explanation text just below the header." }, "field": { @@ -8592,6 +8593,33 @@ ], "type": "object" }, + "donate": { + "additionalProperties": false, + "description": "Giving related text", + "properties": { + "content": { + "description": "The content of the page", + "items": { + "$ref": "#/definitions/Template" + }, + "type": "array" + }, + "header": { + "$ref": "#/definitions/Template", + "description": "The label for the link and header" + }, + "prompt": { + "$ref": "#/definitions/Template", + "description": "The explanation of the link" + } + }, + "required": [ + "header", + "prompt", + "content" + ], + "type": "object" + }, "galleries": { "additionalProperties": false, "properties": { @@ -9134,7 +9162,8 @@ "galleries", "about", "login", - "rights" + "rights", + "donate" ], "type": "object" },