From 9f6cfb145edf2c90186105ec3ac970ccf6027ed4 Mon Sep 17 00:00:00 2001 From: Dominik Polakovics Date: Wed, 23 Apr 2025 08:45:12 +0200 Subject: [PATCH] feat: remove header_link, adjust hero scroll to next, fix some html errors --- .../card_container/templates/frontend.html | 2 +- .../hero/assets/scroll-to-next.js | 32 +++++++++++++++++++ .../ContentElements/hero/config.yaml | 3 -- .../hero/templates/frontend.html | 27 ++++++++-------- .../textimage/templates/frontend.html | 4 +-- .../PageView/Partials/Navigation/Main.html | 4 +-- 6 files changed, 50 insertions(+), 22 deletions(-) create mode 100644 packages/base/ContentBlocks/ContentElements/hero/assets/scroll-to-next.js diff --git a/packages/base/ContentBlocks/ContentElements/card_container/templates/frontend.html b/packages/base/ContentBlocks/ContentElements/card_container/templates/frontend.html index 9d8aa43..78b9a6f 100644 --- a/packages/base/ContentBlocks/ContentElements/card_container/templates/frontend.html +++ b/packages/base/ContentBlocks/ContentElements/card_container/templates/frontend.html @@ -7,7 +7,7 @@
-

{data.header}

+

{data.header}

diff --git a/packages/base/ContentBlocks/ContentElements/hero/assets/scroll-to-next.js b/packages/base/ContentBlocks/ContentElements/hero/assets/scroll-to-next.js new file mode 100644 index 0000000..64f72a2 --- /dev/null +++ b/packages/base/ContentBlocks/ContentElements/hero/assets/scroll-to-next.js @@ -0,0 +1,32 @@ +document.addEventListener('DOMContentLoaded', () => { + document + .querySelectorAll('.hero-down-link') + .forEach(link => link.addEventListener('click', scrollToNext)); +}); + +function scrollToNext(e) { + e.preventDefault(); + const refEl = e.currentTarget; + const isMobile = window.matchMedia('(max-width: 768px)').matches; + + if (isMobile) { + const target = document.getElementById('hero-text'); + if (!target) { + console.warn('scrollToNext: no element with id="hero-text"'); + return; + } + target.scrollIntoView({ behavior: 'smooth', block: 'start' }); + + } else { + const frames = Array.from(document.querySelectorAll('.frame')); + const nextFrame = frames.find(frame => + refEl.compareDocumentPosition(frame) & Node.DOCUMENT_POSITION_FOLLOWING + ); + + if (!nextFrame) { + console.warn('scrollToNext: no .frame found after this link'); + return; + } + nextFrame.scrollIntoView({ behavior: 'smooth', block: 'start' }); + } +} diff --git a/packages/base/ContentBlocks/ContentElements/hero/config.yaml b/packages/base/ContentBlocks/ContentElements/hero/config.yaml index e7b6cd8..4a072f5 100644 --- a/packages/base/ContentBlocks/ContentElements/hero/config.yaml +++ b/packages/base/ContentBlocks/ContentElements/hero/config.yaml @@ -15,9 +15,6 @@ fields: type: Textarea enableRichtext: true useExistingField: true - - identifier: header_link - type: Link - useExistingField: true - identifier: image type: File properties: diff --git a/packages/base/ContentBlocks/ContentElements/hero/templates/frontend.html b/packages/base/ContentBlocks/ContentElements/hero/templates/frontend.html index 97dff0f..b855f38 100644 --- a/packages/base/ContentBlocks/ContentElements/hero/templates/frontend.html +++ b/packages/base/ContentBlocks/ContentElements/hero/templates/frontend.html @@ -8,7 +8,7 @@
-
+
@@ -47,25 +47,23 @@ - -
- - Scroll down - - -
-
+
-
+
-
+ diff --git a/packages/base/ContentBlocks/ContentElements/textimage/templates/frontend.html b/packages/base/ContentBlocks/ContentElements/textimage/templates/frontend.html index a5e70b5..d72920c 100644 --- a/packages/base/ContentBlocks/ContentElements/textimage/templates/frontend.html +++ b/packages/base/ContentBlocks/ContentElements/textimage/templates/frontend.html @@ -15,7 +15,7 @@
-
+ -
+

No image available

diff --git a/packages/base/Resources/Private/PageView/Partials/Navigation/Main.html b/packages/base/Resources/Private/PageView/Partials/Navigation/Main.html index beb3581..f0c073b 100644 --- a/packages/base/Resources/Private/PageView/Partials/Navigation/Main.html +++ b/packages/base/Resources/Private/PageView/Partials/Navigation/Main.html @@ -16,14 +16,14 @@ absolute top-full left-0 right-0 flex-col max-h-0 overflow-hidden bg-white transition-max-height duration-400 ease-in-out group-[.open]:max-h-[500px]" id="navLinks">