diff --git a/frontend/src/views/reel/Reel.vue b/frontend/src/views/reel/Reel.vue index ac466d59c9fbf7e6462f4d1a16af52c22ef167ab..2b84d1deed2eb8a601177fb5015c1a80d0bdb868 100644 --- a/frontend/src/views/reel/Reel.vue +++ b/frontend/src/views/reel/Reel.vue @@ -19,6 +19,7 @@ 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 MultipleColorPicker from "../../components/inputs/colors/MultipleColorPicker.vue"; import ReloadButton from "../../components/reload/ReloadButton.vue"; import AutoReloadCheckbox from "../../components/reload/AutoReloadCheckbox.vue"; </script> @@ -38,8 +39,8 @@ export default { }, data() { const predefinedColors = { - blackBackground: { - name: "Černý boxík, bílý text", + whiteText: { + name: "Bílý text", colors: { background: COLORS.black, mainText: COLORS.white, @@ -47,6 +48,15 @@ export default { contractedByText: COLORS.white }, }, + blackText: { + name: "Černý text", + colors: { + background: COLORS.white, + mainText: COLORS.black, + highlightedText: COLORS.yellow1, + contractedByText: COLORS.black + }, + }, }; return { @@ -59,7 +69,7 @@ export default { background: "Pozadí", }, predefinedColors: predefinedColors, - colors: predefinedColors.blackBackground.colors, + colors: predefinedColors.whiteText.colors, autoRedraw: false, }; }, @@ -162,6 +172,16 @@ export default { :important="false" zIndex="4" /> + + <MultipleColorPicker + name="Barvy" + v-model="colors" + :important="false" + :colorLabels="colorLabels" + :predefinedColors="predefinedColors" + :defaultPredefinedColors="predefinedColors.base" + zIndex="5" + ></MultipleColorPicker> </template> </MainContainer> </main> diff --git a/frontend/src/views/reel/canvas.js b/frontend/src/views/reel/canvas.js index 153c8de6d2f482067225d1e64f1cef88a6fa6cd0..36b9e4f5605dfdc98ce5706e9e204e26e65a79b5 100644 --- a/frontend/src/views/reel/canvas.js +++ b/frontend/src/views/reel/canvas.js @@ -8,11 +8,13 @@ import { import COLORS from "../../colors"; import { PaddedHighlightingTextbox } from "../../components/canvas/textbox"; -import logoImageSource from "../../assets/logos/default-light.png"; +import lightLogoImageSource from "../../assets/logos/default-light.png"; +import darkLogoImageSource from "../../assets/logos/default-dark.png"; let mainImage = null; let logoImage = null; let mainImageSource = null; +let previousLogoImageSource = null; let contractedByTextbox = null; let mainTextBox = null; let nameText = null; @@ -86,7 +88,7 @@ const redraw = async (canvas, options) => { top: nameTextMarginTop, fontFamily: "Bebas Neue", fontSize: nameTextSize, - fill: "#fff", + fill: options.colors.mainText.value, selectable: false, zIndex: 40, }); @@ -131,7 +133,20 @@ const redraw = async (canvas, options) => { /* BEGIN Logo render */ - if (logoImage === null) { + let logoImageSource = null; + + if (options.colors.mainText.value == COLORS.black.value) { + logoImageSource = darkLogoImageSource; + } else { + logoImageSource = lightLogoImageSource; + } + + if ( + logoImage === null + || previousLogoImageSource != logoImageSource + ) { + previousLogoImageSource = logoImageSource; + if (logoImage !== null) { canvas.remove(logoImage); }