From 326a900e2fbe2ccc5a94dd498bfee05ea0913f22 Mon Sep 17 00:00:00 2001 From: Jonas Piterek Date: Tue, 25 Feb 2025 10:31:31 +0100 Subject: [PATCH 1/8] chore: add make command to run backend in daemon mode --- Makefile | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Makefile b/Makefile index 98de7696..45c8b113 100644 --- a/Makefile +++ b/Makefile @@ -105,6 +105,11 @@ backend-docker-start: ## Starts a Docker-based backend for development @echo "$(GREEN)==> Start Docker-based Plone Backend$(RESET)" docker run -it --rm --name=backend -p 8080:8080 -e SITE=Plone $(DOCKER_IMAGE) +.PHONY: backend-docker-detached-start +backend-docker-detached-start: ## Starts a Docker-based backend for development + @echo "$(GREEN)==> Start Docker-based Plone Backend$(RESET)" + docker run -d -it --rm --name=backend -p 8080:8080 -e SITE=Plone $(DOCKER_IMAGE) + ## Storybook .PHONY: storybook-start storybook-start: ## Start Storybook server on port 6006 From 7ea9d6845dd07c0bf84ff7d2104178cba45b36f1 Mon Sep 17 00:00:00 2001 From: Jonas Piterek Date: Tue, 25 Feb 2025 10:34:12 +0100 Subject: [PATCH 2/8] chore: move toast error message for easier shadowing --- .../locales/de/LC_MESSAGES/volto.po | 3 ++- .../locales/en/LC_MESSAGES/volto.po | 3 ++- .../locales/es/LC_MESSAGES/volto.po | 3 ++- .../locales/pt_BR/LC_MESSAGES/volto.po | 3 ++- packages/volto-iframe-block/locales/volto.pot | 5 +++-- .../volto-iframe-block/src/components/Edit.jsx | 13 ++++++------- .../volto-iframe-block/src/helpers/isValidUrl.js | 16 ++++++++++++++++ 7 files changed, 33 insertions(+), 13 deletions(-) diff --git a/packages/volto-iframe-block/locales/de/LC_MESSAGES/volto.po b/packages/volto-iframe-block/locales/de/LC_MESSAGES/volto.po index 15a8f62f..0af79f65 100644 --- a/packages/volto-iframe-block/locales/de/LC_MESSAGES/volto.po +++ b/packages/volto-iframe-block/locales/de/LC_MESSAGES/volto.po @@ -23,6 +23,7 @@ msgstr "Beschreibung" #. Default: "Error" #: components/Edit +#: helpers/isValidUrl msgid "Error" msgstr "Fehler" @@ -38,7 +39,7 @@ msgid "Iframe" msgstr "Iframe" #. Default: "Invalid url" -#: components/Edit +#: helpers/isValidUrl msgid "Invalid url" msgstr "Ungültige Url" diff --git a/packages/volto-iframe-block/locales/en/LC_MESSAGES/volto.po b/packages/volto-iframe-block/locales/en/LC_MESSAGES/volto.po index 200c0826..c35869c1 100644 --- a/packages/volto-iframe-block/locales/en/LC_MESSAGES/volto.po +++ b/packages/volto-iframe-block/locales/en/LC_MESSAGES/volto.po @@ -23,6 +23,7 @@ msgstr "" #. Default: "Error" #: components/Edit +#: helpers/isValidUrl msgid "Error" msgstr "" @@ -38,7 +39,7 @@ msgid "Iframe" msgstr "" #. Default: "Invalid url" -#: components/Edit +#: helpers/isValidUrl msgid "Invalid url" msgstr "" diff --git a/packages/volto-iframe-block/locales/es/LC_MESSAGES/volto.po b/packages/volto-iframe-block/locales/es/LC_MESSAGES/volto.po index f1c69dc9..b5dd453f 100644 --- a/packages/volto-iframe-block/locales/es/LC_MESSAGES/volto.po +++ b/packages/volto-iframe-block/locales/es/LC_MESSAGES/volto.po @@ -30,6 +30,7 @@ msgstr "" #. Default: "Error" #: components/Edit +#: helpers/isValidUrl msgid "Error" msgstr "" @@ -45,7 +46,7 @@ msgid "Iframe" msgstr "" #. Default: "Invalid url" -#: components/Edit +#: helpers/isValidUrl msgid "Invalid url" msgstr "" diff --git a/packages/volto-iframe-block/locales/pt_BR/LC_MESSAGES/volto.po b/packages/volto-iframe-block/locales/pt_BR/LC_MESSAGES/volto.po index 50061474..57e159d5 100644 --- a/packages/volto-iframe-block/locales/pt_BR/LC_MESSAGES/volto.po +++ b/packages/volto-iframe-block/locales/pt_BR/LC_MESSAGES/volto.po @@ -28,6 +28,7 @@ msgstr "" #. Default: "Error" #: components/Edit +#: helpers/isValidUrl msgid "Error" msgstr "" @@ -43,7 +44,7 @@ msgid "Iframe" msgstr "" #. Default: "Invalid url" -#: components/Edit +#: helpers/isValidUrl msgid "Invalid url" msgstr "" diff --git a/packages/volto-iframe-block/locales/volto.pot b/packages/volto-iframe-block/locales/volto.pot index 39a5ff15..af93bbae 100644 --- a/packages/volto-iframe-block/locales/volto.pot +++ b/packages/volto-iframe-block/locales/volto.pot @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: Plone\n" -"POT-Creation-Date: 2025-02-18T09:54:00.232Z\n" +"POT-Creation-Date: 2025-02-25T09:33:36.629Z\n" "Last-Translator: Plone i18n \n" "Language-Team: Plone i18n \n" "Content-Type: text/plain; charset=utf-8\n" @@ -25,6 +25,7 @@ msgstr "" #. Default: "Error" #: components/Edit +#: helpers/isValidUrl msgid "Error" msgstr "" @@ -40,7 +41,7 @@ msgid "Iframe" msgstr "" #. Default: "Invalid url" -#: components/Edit +#: helpers/isValidUrl msgid "Invalid url" msgstr "" diff --git a/packages/volto-iframe-block/src/components/Edit.jsx b/packages/volto-iframe-block/src/components/Edit.jsx index cb87fc82..4d2dad1f 100644 --- a/packages/volto-iframe-block/src/components/Edit.jsx +++ b/packages/volto-iframe-block/src/components/Edit.jsx @@ -8,7 +8,10 @@ import React, { useState } from 'react'; import { defineMessages } from 'react-intl'; import { toast } from 'react-toastify'; -import { isValidUrl } from '@kitconcept/volto-iframe-block/helpers/isValidUrl'; +import { + isValidUrl, + toastError, +} from '@kitconcept/volto-iframe-block/helpers/isValidUrl'; import IframeSidebar from '@kitconcept/volto-iframe-block/components/Data'; import IframeView from '@kitconcept/volto-iframe-block/components/View'; @@ -17,10 +20,6 @@ const messages = defineMessages({ id: 'Type a Iframe URL', defaultMessage: 'Type a Iframe URL', }, - IncorrectUrl: { - id: 'Invalid url', - defaultMessage: 'Invalid url', - }, Error: { id: 'Error', defaultMessage: 'Error', @@ -51,8 +50,8 @@ const IframeEdit = (props) => { toast.error( , ); }; diff --git a/packages/volto-iframe-block/src/helpers/isValidUrl.js b/packages/volto-iframe-block/src/helpers/isValidUrl.js index 049aaeac..5074fd3e 100644 --- a/packages/volto-iframe-block/src/helpers/isValidUrl.js +++ b/packages/volto-iframe-block/src/helpers/isValidUrl.js @@ -1,5 +1,21 @@ import config from '@plone/volto/registry'; import { isEmpty } from 'lodash'; +import { defineMessages } from 'react-intl'; + +/** + * Error messages for displaying toast notifications when an invalid URL + * is submitted. + */ +export const toastError = defineMessages({ + Title: { + id: 'Error', + defaultMessage: 'Error', + }, + Content: { + id: 'Invalid url', + defaultMessage: 'Invalid url', + }, +}); export function isValidUrl(url) { const patterns = config.blocks.blocksConfig.iframe.validUrls; From dfeec6ef6ed22153399fea76794f179503cc7dd5 Mon Sep 17 00:00:00 2001 From: Jonas Piterek Date: Tue, 25 Feb 2025 10:37:39 +0100 Subject: [PATCH 3/8] fix: only display figure if we have a valid url --- .../src/components/View.jsx | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/packages/volto-iframe-block/src/components/View.jsx b/packages/volto-iframe-block/src/components/View.jsx index 91a9bfd0..d8f78781 100644 --- a/packages/volto-iframe-block/src/components/View.jsx +++ b/packages/volto-iframe-block/src/components/View.jsx @@ -15,28 +15,28 @@ const IframeView = (props) => { return (
-
- {data.src && isValidUrl(data.src) && ( + {data.src && isValidUrl(data.src) && ( +