From 65ce763f7d653bcd6eb50b187d28dd3ecb12edc6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomi=20Valentov=C3=A1?= <git@imaniti.org> Date: Sun, 25 Aug 2024 22:09:37 +0200 Subject: [PATCH] add (WIP) reel template --- frontend/src/assets/previews/reel.png | Bin 0 -> 52230 bytes frontend/src/components/canvas/utils.js | 16 ++- frontend/src/templates.js | 11 ++ frontend/src/views/reel/Reel.vue | 163 ++++++++++++++++++++++++ frontend/src/views/reel/canvas.js | 137 ++++++++++++++++++++ 5 files changed, 324 insertions(+), 3 deletions(-) create mode 100644 frontend/src/assets/previews/reel.png create mode 100644 frontend/src/views/reel/Reel.vue create mode 100644 frontend/src/views/reel/canvas.js diff --git a/frontend/src/assets/previews/reel.png b/frontend/src/assets/previews/reel.png new file mode 100644 index 0000000000000000000000000000000000000000..092322e17ecf6ce1d002522421a428380803651f GIT binary patch literal 52230 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 literal 0 HcmV?d00001 diff --git a/frontend/src/components/canvas/utils.js b/frontend/src/components/canvas/utils.js index 49bc1877..333a9d63 100644 --- a/frontend/src/components/canvas/utils.js +++ b/frontend/src/components/canvas/utils.js @@ -170,14 +170,24 @@ const transformHighlightedText = ( if (characterIsStar) { highlightIsActive = !highlightIsActive; - text = setCharAt(text, positionWithinString, " "); + text = setCharAt(text, positionWithinString, ( + (!options.invertHighlight) ? + // For now, just put an empty Unicode character that still registers + // as one. To do this properly, we would have to adjust the code so that + // it goes back one character. But I don't feel like doing that. + " " : "" + )); } let style = {}; if (highlightIsActive || characterIsStar) { - style.textBackgroundColor = highlightColor; - style.fill = highlightedTextColor; + if (!options.invertHighlight) { + style.textBackgroundColor = highlightColor; + style.fill = highlightedTextColor; + } else { + style.fill = highlightColor; + } } if ( diff --git a/frontend/src/templates.js b/frontend/src/templates.js index 1a7c5d43..c59610d4 100644 --- a/frontend/src/templates.js +++ b/frontend/src/templates.js @@ -10,6 +10,7 @@ import posterImage from "./assets/previews/poster.png"; import eventPosterImage from "./assets/previews/event_poster.png"; import regionalSuccessImage from "./assets/previews/regional_success.png"; import socialCoverLargeTextImage from "./assets/previews/social_cover_large_text.png"; +import reelImage from "./assets/previews/reel.png"; import baseEventImage from "./assets/previews/base_event.png"; import rightEventImage from "./assets/previews/right_event.png"; @@ -174,6 +175,16 @@ const TEMPLATES = { }, }, + reel: { + name: "Reel na sociální sítě", + image: reelImage, + path: "/reel", + component: () => import("./views/reel/Reel.vue"), + meta: { + title: "Reel na sociální sítě", + }, + }, + // NOTE: The following 2 templates have been disabled on request. // https://zulip.pirati.cz/#narrow/stream/1545-MoTo/topic/gener.C3.A1tor/near/3390404 // diff --git a/frontend/src/views/reel/Reel.vue b/frontend/src/views/reel/Reel.vue new file mode 100644 index 00000000..e63f4199 --- /dev/null +++ b/frontend/src/views/reel/Reel.vue @@ -0,0 +1,163 @@ +<script setup> +import { watch, ref } from "vue"; + +import COLORS from "../../colors"; +import TEMPLATES from "../../templates"; +import DEFAULT_CONTRACTOR from "../../contractors"; +import { + loadFonts, + loadCanvasStorage, + setCanvasStorage, + updateAutoRedrawStorage, +} from "../../utils"; + +import Canvas from "../../components/canvas/Canvas.vue"; +import redraw from "./canvas"; + +import Navbar from "../../components/Navbar.vue"; +import MainContainer from "../../components/MainContainer.vue"; +import ImageInput from "../../components/inputs/ImageInput.vue"; +import LongTextInput from "../../components/inputs/text/LongTextInput.vue"; +import ShortTextInput from "../../components/inputs/text/ShortTextInput.vue"; +import ReloadButton from "../../components/reload/ReloadButton.vue"; +import AutoReloadCheckbox from "../../components/reload/AutoReloadCheckbox.vue"; +</script> + +<script> +await loadFonts(["12px Bebas Neue", "12px Roboto Condensed"]); + +export default { + components: { + Canvas, + Navbar, + MainContainer, + LongTextInput, + ShortTextInput, + AutoReloadCheckbox, + ReloadButton, + }, + data() { + const predefinedColors = { + blackBackground: { + name: "Černý boxík, bílý text", + colors: { + background: COLORS.black, + mainText: COLORS.white, + highlightedText: COLORS.yellow1, + contractedByText: COLORS.black + }, + }, + }; + + return { + mainText: null, + mainImage: null, + contractedBy: DEFAULT_CONTRACTOR, + gradientHeightMultiplier: 1, + colorLabels: { + background: "Pozadí", + }, + predefinedColors: predefinedColors, + colors: predefinedColors.blackBackground.colors, + autoRedraw: false, + }; + }, + async created() { + await loadCanvasStorage(this); + }, + methods: { + async reloadCanvasProperties() { + const canvasProperties = { + mainImage: this.mainImage, + mainText: this.mainText, + contractedBy: this.contractedBy, + colors: this.colors, + }; + + if (canvasProperties.mainText) { + window.fileName = canvasProperties.mainText; + } + + await this.$refs.canvas.redraw(canvasProperties); + + delete canvasProperties.colors; + setCanvasStorage(canvasProperties); + }, + }, + mounted() { + this.$watch( + (vm) => [vm.mainText, vm.contractedBy, vm.colors], + async (value) => { + if (this.autoRedraw) { + await this.reloadCanvasProperties(); + } + }, + { + immediate: true, + deep: true, + }, + ); + + this.$watch( + (vm) => [vm.autoRedraw], + async (value) => { + updateAutoRedrawStorage(this.autoRedraw); + + if (this.autoRedraw) { + await this.reloadCanvasProperties(); + } + }, + ); + }, +}; +</script> + +<template> + <header> + <Navbar :defaultTemplate="TEMPLATES.reel"></Navbar> + </header> + <main> + <MainContainer> + <template v-slot:left> + <Canvas + ref="canvas" + :redrawFunction="redraw" + width="1080" + height="1920" + /> + </template> + + <template v-slot:right> + <ReloadButton :parentRefs="$refs" @click="reloadCanvasProperties" /> + <AutoReloadCheckbox v-model="autoRedraw" /> + + <ImageInput + name="Obrázek" + v-model="mainImage" + :important="true" + zIndex="10" + /> + + <LongTextInput + name="Text" + v-model="mainText" + :important="true" + :highlightable="true" + zIndex="9" + /> + + <ShortTextInput + name="Zadavatel a zpracovatel" + v-model="contractedBy" + :defaultValue="DEFAULT_CONTRACTOR" + :important="false" + zIndex="4" + /> + </template> + </MainContainer> + </main> +</template> + +<style> +@import "vue-select/dist/vue-select.css"; +</style> diff --git a/frontend/src/views/reel/canvas.js b/frontend/src/views/reel/canvas.js new file mode 100644 index 00000000..33dfd31b --- /dev/null +++ b/frontend/src/views/reel/canvas.js @@ -0,0 +1,137 @@ +import { fabric } from "fabric"; +import { + clearObjects, + sortObjects, + transformHighlightedText, + checkTextBoxHeight, +} from "../../components/canvas/utils"; +import COLORS from "../../colors"; +import { PaddedHighlightingTextbox } from "../../components/canvas/textbox"; + +import bgImageSource from "../../assets/template/social_cover_large_text/background.png"; + +let mainImage = null; +let mainImageSource = null; +let contractedByTextbox = null; +let mainTextBox = null; + +const redraw = async (canvas, options) => { + clearObjects([contractedByTextbox, mainTextBox], canvas); + + const contractedByTextSize = Math.ceil(canvas.height * 0.01); + const contractedByTextMaxWidth = Math.ceil(canvas.width * 0.9); + const contractedByTextBottomMargin = Math.ceil(canvas.width * 0.02); + const contractedByTextSideMargin = Math.ceil(canvas.width * 0.03); + + const mainTextMarginTop = Math.ceil(canvas.height * 0.15); + const mainTextMarginLeft = Math.ceil(canvas.width * 0.05); + const mainTextWidth = Math.ceil(canvas.width * 0.9); + const mainTextSize = Math.ceil(canvas.height * 0.1); + const mainTextMaxLines = 7; + const mainTextLineHeight = 0.85; + + canvas.preserveObjectStacking = true; + + /* BEGIN Main image render */ + + if ( + options.mainImage !== null && + (!canvas.contains(mainImage) || + mainImage === null || + options.mainImage.src !== mainImageSource) + ) { + if (mainImage !== null) { + canvas.remove(mainImage); + } + + mainImage = new fabric.Image(options.mainImage, { + left: 0, + top: 0, + zIndex: 0, + }); + + mainImage.controls = { + ...fabric.Image.prototype.controls, + mtr: new fabric.Control({ visible: false }), + }; + + if (mainImage.width >= mainImage.height) { + mainImage.scaleToHeight(canvas.height); + } else { + mainImage.scaleToWidth(canvas.width); + } + + canvas.add(mainImage); + mainImageSource = options.mainImage.src; + // canvas.centerObject(mainImage) + } else if (mainImage !== null && options.mainImage === null) { + canvas.remove(mainImage); + } + + /* END Main image render */ + + /* BEGIN Main text render */ + + if (options.mainText !== null) { + const highlightedData = transformHighlightedText( + options.mainText, + mainTextSize, + mainTextWidth, + "Bebas Neue", + "#fec900", + "#000000", + { padWhenDiacritics: false, invertHighlight: true }, + ); + + mainTextBox = new PaddedHighlightingTextbox(highlightedData.text, { + width: mainTextWidth, + top: mainTextMarginTop, + left: mainTextMarginLeft, + textAlign: "left", + fontFamily: "Bebas Neue", + fontSize: mainTextSize, + lineHeight: mainTextLineHeight, + fill: options.colors.mainText.value, + styles: highlightedData.styles, + selectable: false, + highlightPadding: canvas.height * 0.003, + zIndex: 10, + }); + + checkTextBoxHeight(mainTextBox, mainTextMaxLines); + + canvas.add(mainTextBox); + } + + /* END Main text render */ + + /* BEGIN Contracted by render */ + + if (options.contractedBy !== null) { + contractedByTextbox = new fabric.Text(options.contractedBy, { + left: canvas.width - contractedByTextSideMargin, + top: canvas.height - contractedByTextBottomMargin - contractedByTextSize, + fontFamily: "Roboto Condensed", + fontSize: contractedByTextSize, + textAlign: "right", + fill: options.colors.contractedByText.value, + selectable: false, + zIndex: 10, + }); + + checkTextBoxHeight(contractedByTextbox, 1); + + canvas.add(contractedByTextbox); + + contractedByTextbox.set({ + left: contractedByTextbox.left - contractedByTextbox.width + }); + canvas.renderAll(); + } + + /* END Contracted by render */ + + sortObjects(canvas); +}; + +export default redraw; -- GitLab