From 5d33eaa6b6ed0dc9101e3776389292b13691a7e2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tomi=20Valentov=C3=A1?= <git@imaniti.org>
Date: Mon, 22 Jul 2024 10:27:32 +0200
Subject: [PATCH] add contractedBy to regional success template

---
 VERSION                                       |  2 +-
 .../regional_success/RegionalSuccess.vue      | 12 +++++++-
 frontend/src/views/regional_success/canvas.js | 30 +++++++++++++++++++
 3 files changed, 42 insertions(+), 2 deletions(-)

diff --git a/VERSION b/VERSION
index dbe59006..c8e38b61 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-2.8.1
+2.9.0
diff --git a/frontend/src/views/regional_success/RegionalSuccess.vue b/frontend/src/views/regional_success/RegionalSuccess.vue
index e8424822..36f47ac3 100644
--- a/frontend/src/views/regional_success/RegionalSuccess.vue
+++ b/frontend/src/views/regional_success/RegionalSuccess.vue
@@ -83,7 +83,7 @@ export default {
       fourthRow: null,
       fourthEmoji: null,
 
-      //contractedBy: DEFAULT_CONTRACTOR,
+      contractedBy: DEFAULT_CONTRACTOR,
 
       logoImage: null,
       logoPosition: LOGO_POSITIONS.top_right,
@@ -126,6 +126,7 @@ export default {
         logoImage: this.logoImage,
         nameText: this.nameText,
         nameTextDesc: this.nameTextDesc,
+        contractedBy: this.contractedBy,
         colors: this.colors,
       };
 
@@ -158,6 +159,7 @@ export default {
         vm.logoImage,
         vm.nameText,
         vm.nameTextDesc,
+        vm.contractedBy,
         vm.colors,
       ],
       async (value) => {
@@ -300,6 +302,14 @@ export default {
           v-model="logoPosition"
           zIndex="6"
         />
+
+        <ShortTextInput
+          name="Zadavatel a zpracovatel"
+          v-model="contractedBy"
+          :defaultValue="DEFAULT_CONTRACTOR"
+          :important="false"
+          zIndex="5"
+        />
       </template>
     </MainContainer>
   </main>
diff --git a/frontend/src/views/regional_success/canvas.js b/frontend/src/views/regional_success/canvas.js
index 3d0432c4..47131c63 100644
--- a/frontend/src/views/regional_success/canvas.js
+++ b/frontend/src/views/regional_success/canvas.js
@@ -12,6 +12,7 @@ import backgroundArrowsImageURL from "../../assets/template/regional_success/arr
 //import overlayURL from '../../assets/template/poster/overlay.png'
 
 let mainTextBox = null;
+let contractedByTextbox = null;
 
 let logoImage = null;
 let mainImage = null;
@@ -58,6 +59,7 @@ const redraw = async (canvas, options) => {
       fourthEmoji,
       nameText,
       nameTextDesc,
+      contractedByTextbox,
       gradientRect,
     ],
     canvas,
@@ -79,6 +81,11 @@ const redraw = async (canvas, options) => {
     headerHeight + (rowHeightBg - emojiHeight) / 2,
   );
 
+  const contractedByTextSize = Math.ceil(canvas.height * 0.013);
+  const contractedByTextMaxWidth = Math.ceil(canvas.width * 0.9);
+  const contractedByTextSideMargin = Math.ceil(canvas.width * 0.068);
+  const contractedByTextBottomMargin = Math.ceil(canvas.height * 0.023)
+
   const rowsMaxWidth = 425;
   const rowsTextSize = 38;
   const rowsLineHeight = 0.9;
@@ -463,6 +470,29 @@ const redraw = async (canvas, options) => {
   }
   /* END Name text description render */
 
+  /* BEGIN Contracted by render */
+
+  if (options.contractedBy !== null) {
+    contractedByTextbox = new fabric.Textbox(options.contractedBy, {
+      left:
+        canvas.width - contractedByTextMaxWidth - contractedByTextSideMargin,
+      top: canvas.height - contractedByTextBottomMargin - contractedByTextSize,
+      width: contractedByTextMaxWidth,
+      fontFamily: "Roboto Condensed",
+      fontSize: contractedByTextSize,
+      textAlign: "right",
+      fill: "#505050",
+      selectable: false,
+      zIndex: 40,
+    });
+
+    checkTextBoxHeight(contractedByTextbox, 1);
+
+    canvas.add(contractedByTextbox);
+  }
+
+  /* END Contracted by render */
+
   sortObjects(canvas);
 
   if (!pointerDownEventAssigned) {
-- 
GitLab