From cf5b61ad95eda4a233913c86554a98bdaed37ae3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexa=20Valentov=C3=A1?= <git@imaniti.org> Date: Tue, 15 Apr 2025 12:22:41 +0200 Subject: [PATCH] update version, update templates --- VERSION | 2 +- frontend/src/templates.js | 16 +-- .../back_in_full_force_tour_social/canvas.js | 107 +++++++------- .../canvas.js | 111 +++++++------- .../views/make_a_wish_tour_social/canvas.js | 107 +++++++------- .../make_a_wish_tour_social_A2/canvas.js | 135 +++++++++++------- 6 files changed, 253 insertions(+), 225 deletions(-) diff --git a/VERSION b/VERSION index ef0f38a..b8e248f 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.19.0 +2.19.1 diff --git a/frontend/src/templates.js b/frontend/src/templates.js index be91b76..86227e2 100644 --- a/frontend/src/templates.js +++ b/frontend/src/templates.js @@ -68,21 +68,21 @@ const TEMPLATES = { }, }, make_a_wish_tour_social_a2: { - name: "A2 - Máte přání tour banner na soc. sítě", + name: "A2 - Máte přání tour plakát", image: makeawishTourSocialImage, path: "/make-a-wish-tour-social-a2", component: () => import("./views/make_a_wish_tour_social_A2/MakeAWishTourSocialA2.vue"), meta: { - title: "A2 - Máte přání tour banner na soc. sítě", + title: "A2 - Máte přání tour plakát", }, }, make_a_wish_tour_social_wide: { - name: "Široký banner - Máte přání tour banner na soc. sítě", + name: "Široký banner - Máte přání tour", image: makeawishTourSocialImage, path: "/make-a-wish-tour-social-wide", component: () => import("./views/make_a_wish_tour_social_wide/MakeAWishTourSocialWide.vue"), meta: { - title: "Široký banner - Máte přání tour banner na soc. sítě", + title: "Široký banner - Máte přání tour", }, }, back_in_full_force_banner: { @@ -104,21 +104,21 @@ const TEMPLATES = { }, }, back_in_full_force_tour_social_A2: { - name: "A2 - Zpátky v plné síle tour banner na soc. sítě", + name: "A2 - Zpátky v plné síle tour plakát", image: backInFullForceTourSocialImage, path: "/back-in-full-force-tour-social-a2", component: () => import("./views/back_in_full_force_tour_social_A2/BackInFullForceTourSocialA2.vue"), meta: { - title: "A2 - Zpátky v plné síle tour banner na soc. sítě", + title: "A2 - Zpátky v plné síle tour plakát", }, }, back_in_full_force_tour_social_wide: { - name: "Široký banner - Zpátky v plné síle tour na soc. sítě", + name: "Široký banner - Zpátky v plné síle", image: backInFullForceTourSocialImage, path: "/back-in-full-force-tour-social-wide", component: () => import("./views/back_in_full_force_tour_social_wide/BackInFullForceTourSocialWide.vue"), meta: { - title: "Široký banner - Zpátky v plné síle tour na soc. sítě", + title: "Široký banner - Zpátky v plné síle", }, }, urgent_text_banner: { diff --git a/frontend/src/views/back_in_full_force_tour_social/canvas.js b/frontend/src/views/back_in_full_force_tour_social/canvas.js index b3fd775..50862e7 100644 --- a/frontend/src/views/back_in_full_force_tour_social/canvas.js +++ b/frontend/src/views/back_in_full_force_tour_social/canvas.js @@ -70,7 +70,7 @@ const redraw = async (canvas, options) => { const attendeesTextBoxMarginBottom = Math.ceil(canvas.height * 0.1) + Math.ceil(canvas.height * 0.11); const mainTextSize = Math.ceil(canvas.height * 0.185); - const mainTextLineHeight = 1; + const mainTextLineHeight = 0.8; const dateTextSize = Math.ceil(canvas.height * 0.055); const timeTextSize = Math.ceil(canvas.height * 0.05); @@ -180,56 +180,6 @@ const redraw = async (canvas, options) => { /* END Time text render */ } - if (options.locationText !== null) { - /* BEGIN Location text render */ - - const locationTextWidth = canvas.width - textMarginLeft - textMarginRight; - - const highlightedData = transformHighlightedText( - options.locationText, - locationTextSize, - locationTextWidth, - "Bebas Neue", - options.colors.highlightedText.value, - options.colors.highlight.value, - { padWhenDiacritics: false, invertHighlight: true }, - ); - - locationTextBox = new PaddedHighlightingTextbox(highlightedData.text, { - width: canvas.width, - left: 0, - textAlign: "right", - fontFamily: "Bebas Neue", - fontSize: locationTextSize, - fill: options.colors.baseText.value, - styles: highlightedData.styles, - lineHeight: locationTextLineHeight, - selectable: false, - highlightPadding: canvas.height * 0.003, - zIndex: 20, - }); - - checkTextBoxHeight(locationTextBox, 2); - - canvas.add(locationTextBox); - - canvas.renderAll(); - - const locationTextBoxTop = - canvas.height - locationTextBox.height - locationTextBoxMarginBottom + (locationTextSize * locationTextLineHeight * (locationTextBox.textLines.length - 1)); - - locationTextBox.top = locationTextBoxTop - highlightedData.paddingBottom; - - const locationTextBoxLeft = - canvas.width - locationTextBox.width - textMarginRight; - - locationTextBox.left = locationTextBoxLeft; - - canvas.renderAll(); - - /* END Location text render */ - } - if (options.attendeesText !== null) { /* BEGIN Attendees text render */ @@ -339,12 +289,12 @@ const redraw = async (canvas, options) => { zIndex: 20, }); - checkTextBoxHeight(mainTextBox, 1); + checkTextBoxHeight(mainTextBox, 2); canvas.add(mainTextBox); const mainTextBoxTop = - canvas.height - mainTextBox.height - mainTextMarginBottom; + canvas.height - mainTextBox.height - mainTextMarginBottom + (mainTextSize * (mainTextBox._textLines.length - 1) * 0.9 * mainTextLineHeight); mainTextBox.top = mainTextBoxTop - highlightedData.paddingBottom; @@ -356,6 +306,57 @@ const redraw = async (canvas, options) => { canvas.renderAll(); /* END Main text render */ + + if (options.locationText !== null) { + /* BEGIN Location text render */ + + const locationTextWidth = canvas.width - textMarginLeft - textMarginRight; + + const highlightedData = transformHighlightedText( + options.locationText, + locationTextSize, + locationTextWidth, + "Bebas Neue", + options.colors.highlightedText.value, + options.colors.highlight.value, + { padWhenDiacritics: false, invertHighlight: true }, + ); + + locationTextBox = new PaddedHighlightingTextbox(highlightedData.text, { + width: canvas.width, + left: 0, + textAlign: "right", + fontFamily: "Bebas Neue", + fontSize: locationTextSize, + fill: options.colors.baseText.value, + styles: highlightedData.styles, + lineHeight: locationTextLineHeight, + selectable: false, + highlightPadding: canvas.height * 0.003, + zIndex: 20, + }); + + checkTextBoxHeight(locationTextBox, 2); + + canvas.add(locationTextBox); + + canvas.renderAll(); + + const locationTextBoxTop = + canvas.height - locationTextBox.height - locationTextBoxMarginBottom + (locationTextSize * locationTextLineHeight * (locationTextBox.textLines.length - 1)) + + (mainTextSize * (mainTextBox._textLines.length - 1) * 0.9 * mainTextLineHeight); + + locationTextBox.top = locationTextBoxTop - highlightedData.paddingBottom; + + const locationTextBoxLeft = + canvas.width - locationTextBox.width - textMarginRight; + + locationTextBox.left = locationTextBoxLeft; + + canvas.renderAll(); + + /* END Location text render */ + } } /* BEGIN Contracted by render */ diff --git a/frontend/src/views/back_in_full_force_tour_social_A2/canvas.js b/frontend/src/views/back_in_full_force_tour_social_A2/canvas.js index 4062c73..cc5fe2d 100644 --- a/frontend/src/views/back_in_full_force_tour_social_A2/canvas.js +++ b/frontend/src/views/back_in_full_force_tour_social_A2/canvas.js @@ -67,10 +67,10 @@ const redraw = async (canvas, options) => { const dateTextMarginBottom = Math.ceil(canvas.height * 0.605) + Math.ceil(canvas.height * 0.305); const timeTextBoxMarginBottom = Math.ceil(canvas.height * 0.535) + Math.ceil(canvas.height * 0.312); const locationTextBoxMarginBottom = Math.ceil(canvas.height * 0.27) + Math.ceil(canvas.height * 0.12); - const attendeesTextBoxMarginBottom = Math.ceil(canvas.height * 0.09) + Math.ceil(canvas.height * 0.065); + const attendeesTextBoxMarginBottom = Math.ceil(canvas.height * 0.09) + Math.ceil(canvas.height * 0.075); const mainTextSize = Math.ceil(canvas.height * 0.175); - const mainTextLineHeight = 1; + const mainTextLineHeight = 0.8; const dateTextSize = Math.ceil(canvas.height * 0.046); const timeTextSize = Math.ceil(canvas.height * 0.04); @@ -180,56 +180,6 @@ const redraw = async (canvas, options) => { /* END Time text render */ } - if (options.locationText !== null) { - /* BEGIN Location text render */ - - const locationTextWidth = canvas.width - textMarginLeft - textMarginRight; - - const highlightedData = transformHighlightedText( - options.locationText, - locationTextSize, - locationTextWidth, - "Bebas Neue", - options.colors.highlightedText.value, - options.colors.highlight.value, - { padWhenDiacritics: false, invertHighlight: true }, - ); - - locationTextBox = new PaddedHighlightingTextbox(highlightedData.text, { - width: canvas.width, - left: 0, - textAlign: "right", - fontFamily: "Bebas Neue", - fontSize: locationTextSize, - fill: options.colors.baseText.value, - styles: highlightedData.styles, - lineHeight: locationTextLineHeight, - selectable: false, - highlightPadding: canvas.height * 0.003, - zIndex: 20, - }); - - checkTextBoxHeight(locationTextBox, 2); - - canvas.add(locationTextBox); - - canvas.renderAll(); - - const locationTextBoxTop = - canvas.height - locationTextBox.height - locationTextBoxMarginBottom + (locationTextSize * locationTextLineHeight * (locationTextBox.textLines.length - 1)); - - locationTextBox.top = locationTextBoxTop - highlightedData.paddingBottom; - - const locationTextBoxLeft = - canvas.width - locationTextBox.width - textMarginRight; - - locationTextBox.left = locationTextBoxLeft; - - canvas.renderAll(); - - /* END Location text render */ - } - if (options.attendeesText !== null) { /* BEGIN Attendees text render */ @@ -297,7 +247,7 @@ const redraw = async (canvas, options) => { backgroundImage = new fabric.Image(backgroundImage, { top: 0, - left: -50, + left: 0, zIndex: 10, selectable: false, }); @@ -339,12 +289,12 @@ const redraw = async (canvas, options) => { zIndex: 20, }); - checkTextBoxHeight(mainTextBox, 1); + checkTextBoxHeight(mainTextBox, 2); canvas.add(mainTextBox); const mainTextBoxTop = - canvas.height - mainTextBox.height - mainTextMarginBottom; + canvas.height - mainTextBox.height - mainTextMarginBottom + (mainTextSize * (mainTextBox._textLines.length - 1) * 0.9 * mainTextLineHeight); mainTextBox.top = mainTextBoxTop - highlightedData.paddingBottom; @@ -356,6 +306,57 @@ const redraw = async (canvas, options) => { canvas.renderAll(); /* END Main text render */ + + if (options.locationText !== null) { + /* BEGIN Location text render */ + + const locationTextWidth = canvas.width - textMarginLeft - textMarginRight; + + const highlightedData = transformHighlightedText( + options.locationText, + locationTextSize, + locationTextWidth, + "Bebas Neue", + options.colors.highlightedText.value, + options.colors.highlight.value, + { padWhenDiacritics: false, invertHighlight: true }, + ); + + locationTextBox = new PaddedHighlightingTextbox(highlightedData.text, { + width: canvas.width, + left: 0, + textAlign: "right", + fontFamily: "Bebas Neue", + fontSize: locationTextSize, + fill: options.colors.baseText.value, + styles: highlightedData.styles, + lineHeight: locationTextLineHeight, + selectable: false, + highlightPadding: canvas.height * 0.003, + zIndex: 20, + }); + + checkTextBoxHeight(locationTextBox, 2); + + canvas.add(locationTextBox); + + canvas.renderAll(); + + const locationTextBoxTop = + canvas.height - locationTextBox.height - locationTextBoxMarginBottom + (locationTextSize * locationTextLineHeight * (locationTextBox.textLines.length - 1)) + + (mainTextSize * (mainTextBox._textLines.length - 1) * 0.9 * mainTextLineHeight); + + locationTextBox.top = locationTextBoxTop - highlightedData.paddingBottom; + + const locationTextBoxLeft = + canvas.width - locationTextBox.width - textMarginRight; + + locationTextBox.left = locationTextBoxLeft; + + canvas.renderAll(); + + /* END Location text render */ + } } /* BEGIN Contracted by render */ diff --git a/frontend/src/views/make_a_wish_tour_social/canvas.js b/frontend/src/views/make_a_wish_tour_social/canvas.js index 83f50ab..32a5bb4 100644 --- a/frontend/src/views/make_a_wish_tour_social/canvas.js +++ b/frontend/src/views/make_a_wish_tour_social/canvas.js @@ -70,7 +70,7 @@ const redraw = async (canvas, options) => { const attendeesTextBoxMarginBottom = Math.ceil(canvas.height * 0.1); const mainTextSize = Math.ceil(canvas.height * 0.185); - const mainTextLineHeight = 1; + const mainTextLineHeight = 0.8; const dateTextSize = Math.ceil(canvas.height * 0.05); const timeTextSize = Math.ceil(canvas.height * 0.04); @@ -180,56 +180,6 @@ const redraw = async (canvas, options) => { /* END Time text render */ } - if (options.locationText !== null) { - /* BEGIN Location text render */ - - const locationTextWidth = canvas.width - textMarginLeft - textMarginRight; - - const highlightedData = transformHighlightedText( - options.locationText, - locationTextSize, - locationTextWidth, - "Bebas Neue", - options.colors.highlightedText.value, - options.colors.highlight.value, - { padWhenDiacritics: false, invertHighlight: true }, - ); - - locationTextBox = new PaddedHighlightingTextbox(highlightedData.text, { - width: canvas.width, - left: 0, - textAlign: "right", - fontFamily: "Bebas Neue", - fontSize: locationTextSize, - fill: options.colors.baseText.value, - styles: highlightedData.styles, - lineHeight: locationTextLineHeight, - selectable: false, - highlightPadding: canvas.height * 0.003, - zIndex: 20, - }); - - checkTextBoxHeight(locationTextBox, 2); - - canvas.add(locationTextBox); - - canvas.renderAll(); - - const locationTextBoxTop = - canvas.height - locationTextBox.height - locationTextBoxMarginBottom + (locationTextSize * locationTextLineHeight * (locationTextBox.textLines.length - 1)); - - locationTextBox.top = locationTextBoxTop - highlightedData.paddingBottom; - - const locationTextBoxLeft = - canvas.width - locationTextBox.width - textMarginRight; - - locationTextBox.left = locationTextBoxLeft; - - canvas.renderAll(); - - /* END Location text render */ - } - if (options.attendeesText !== null) { /* BEGIN Attendees text render */ @@ -339,12 +289,12 @@ const redraw = async (canvas, options) => { zIndex: 20, }); - checkTextBoxHeight(mainTextBox, 1); + checkTextBoxHeight(mainTextBox, 2); canvas.add(mainTextBox); const mainTextBoxTop = - canvas.height - mainTextBox.height - mainTextMarginBottom; + canvas.height - mainTextBox.height - mainTextMarginBottom + (mainTextSize * (mainTextBox._textLines.length - 1) * 0.9 * mainTextLineHeight); mainTextBox.top = mainTextBoxTop - highlightedData.paddingBottom; @@ -356,6 +306,57 @@ const redraw = async (canvas, options) => { canvas.renderAll(); /* END Main text render */ + + if (options.locationText !== null) { + /* BEGIN Location text render */ + + const locationTextWidth = canvas.width - textMarginLeft - textMarginRight; + + const highlightedData = transformHighlightedText( + options.locationText, + locationTextSize, + locationTextWidth, + "Bebas Neue", + options.colors.highlightedText.value, + options.colors.highlight.value, + { padWhenDiacritics: false, invertHighlight: true }, + ); + + locationTextBox = new PaddedHighlightingTextbox(highlightedData.text, { + width: canvas.width, + left: 0, + textAlign: "right", + fontFamily: "Bebas Neue", + fontSize: locationTextSize, + fill: options.colors.baseText.value, + styles: highlightedData.styles, + lineHeight: locationTextLineHeight, + selectable: false, + highlightPadding: canvas.height * 0.003, + zIndex: 20, + }); + + checkTextBoxHeight(locationTextBox, 2); + + canvas.add(locationTextBox); + + canvas.renderAll(); + + const locationTextBoxTop = + canvas.height - locationTextBox.height - locationTextBoxMarginBottom + (locationTextSize * locationTextLineHeight * (locationTextBox.textLines.length - 1)) + + (mainTextSize * (mainTextBox._textLines.length - 1) * 0.9 * mainTextLineHeight); + + locationTextBox.top = locationTextBoxTop - highlightedData.paddingBottom; + + const locationTextBoxLeft = + canvas.width - locationTextBox.width - textMarginRight; + + locationTextBox.left = locationTextBoxLeft; + + canvas.renderAll(); + + /* END Location text render */ + } } /* BEGIN Contracted by render */ diff --git a/frontend/src/views/make_a_wish_tour_social_A2/canvas.js b/frontend/src/views/make_a_wish_tour_social_A2/canvas.js index 4a43671..968d490 100644 --- a/frontend/src/views/make_a_wish_tour_social_A2/canvas.js +++ b/frontend/src/views/make_a_wish_tour_social_A2/canvas.js @@ -69,8 +69,8 @@ const redraw = async (canvas, options) => { const locationTextBoxMarginBottom = Math.ceil(canvas.height * 0.27); const attendeesTextBoxMarginBottom = Math.ceil(canvas.height * 0.09); - const mainTextSize = Math.ceil(canvas.height * 0.175); - const mainTextLineHeight = 1; + let mainTextSize = Math.ceil(canvas.height * 0.175); + const mainTextLineHeight = 0.8; const dateTextSize = Math.ceil(canvas.height * 0.046); const timeTextSize = Math.ceil(canvas.height * 0.04); @@ -180,56 +180,6 @@ const redraw = async (canvas, options) => { /* END Time text render */ } - if (options.locationText !== null) { - /* BEGIN Location text render */ - - const locationTextWidth = canvas.width - textMarginLeft - textMarginRight; - - const highlightedData = transformHighlightedText( - options.locationText, - locationTextSize, - locationTextWidth, - "Bebas Neue", - options.colors.highlightedText.value, - options.colors.highlight.value, - { padWhenDiacritics: false, invertHighlight: true }, - ); - - locationTextBox = new PaddedHighlightingTextbox(highlightedData.text, { - width: canvas.width, - left: 0, - textAlign: "right", - fontFamily: "Bebas Neue", - fontSize: locationTextSize, - fill: options.colors.baseText.value, - styles: highlightedData.styles, - lineHeight: locationTextLineHeight, - selectable: false, - highlightPadding: canvas.height * 0.003, - zIndex: 20, - }); - - checkTextBoxHeight(locationTextBox, 2); - - canvas.add(locationTextBox); - - canvas.renderAll(); - - const locationTextBoxTop = - canvas.height - locationTextBox.height - locationTextBoxMarginBottom + (locationTextSize * locationTextLineHeight * (locationTextBox.textLines.length - 1)); - - locationTextBox.top = locationTextBoxTop - highlightedData.paddingBottom; - - const locationTextBoxLeft = - canvas.width - locationTextBox.width - textMarginRight; - - locationTextBox.left = locationTextBoxLeft; - - canvas.renderAll(); - - /* END Location text render */ - } - if (options.attendeesText !== null) { /* BEGIN Attendees text render */ @@ -297,7 +247,7 @@ const redraw = async (canvas, options) => { backgroundImage = new fabric.Image(backgroundImage, { top: 0, - left: -50, + left: 0, zIndex: 10, selectable: false, }); @@ -339,12 +289,36 @@ const redraw = async (canvas, options) => { zIndex: 20, }); - checkTextBoxHeight(mainTextBox, 1); + checkTextBoxHeight(mainTextBox, 2); canvas.add(mainTextBox); + if (mainTextBox._textLines.length == 2) { + canvas.remove(mainTextBox); + + mainTextSize = mainTextSize * 0.8; + + mainTextBox = new PaddedHighlightingTextbox(highlightedData.text, { + width: canvas.width, + left: 0, + textAlign: "right", + fontFamily: "Bebas Neue", + fontSize: mainTextSize, + lineHeight: mainTextLineHeight, + fill: options.colors.highlight.value, + styles: highlightedData.styles, + selectable: false, + highlightPadding: canvas.height * 0.003, + zIndex: 20, + }); + + checkTextBoxHeight(mainTextBox, 2); + + canvas.add(mainTextBox); + } + const mainTextBoxTop = - canvas.height - mainTextBox.height - mainTextMarginBottom; + canvas.height - mainTextBox.height - mainTextMarginBottom + (mainTextSize * (mainTextBox._textLines.length - 1) * 0.9 * mainTextLineHeight); mainTextBox.top = mainTextBoxTop - highlightedData.paddingBottom; @@ -356,6 +330,57 @@ const redraw = async (canvas, options) => { canvas.renderAll(); /* END Main text render */ + + if (options.locationText !== null) { + /* BEGIN Location text render */ + + const locationTextWidth = canvas.width - textMarginLeft - textMarginRight; + + const highlightedData = transformHighlightedText( + options.locationText, + locationTextSize, + locationTextWidth, + "Bebas Neue", + options.colors.highlightedText.value, + options.colors.highlight.value, + { padWhenDiacritics: false, invertHighlight: true }, + ); + + locationTextBox = new PaddedHighlightingTextbox(highlightedData.text, { + width: canvas.width, + left: 0, + textAlign: "right", + fontFamily: "Bebas Neue", + fontSize: locationTextSize, + fill: options.colors.baseText.value, + styles: highlightedData.styles, + lineHeight: locationTextLineHeight, + selectable: false, + highlightPadding: canvas.height * 0.003, + zIndex: 20, + }); + + checkTextBoxHeight(locationTextBox, 2); + + canvas.add(locationTextBox); + + canvas.renderAll(); + + const locationTextBoxTop = + canvas.height - locationTextBox.height - locationTextBoxMarginBottom + (locationTextSize * locationTextLineHeight * (locationTextBox.textLines.length - 1)) + + (mainTextSize * (mainTextBox._textLines.length - 1) * 0.9 * mainTextLineHeight); + + locationTextBox.top = locationTextBoxTop - highlightedData.paddingBottom; + + const locationTextBoxLeft = + canvas.width - locationTextBox.width - textMarginRight; + + locationTextBox.left = locationTextBoxLeft; + + canvas.renderAll(); + + /* END Location text render */ + } } /* BEGIN Contracted by render */ -- GitLab