From f1113cfb1a58624b8202eb80f6639f260546754d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Wed, 18 Feb 2026 18:21:04 -0500 Subject: [PATCH] add highlight to scrolled chat message --- public/scss/generics.scss | 17 +++++++++++++++++ public/src/client/chats.js | 6 ++++++ 2 files changed, 23 insertions(+) diff --git a/public/scss/generics.scss b/public/scss/generics.scss index e76b8d0989..ff6e3c1d25 100644 --- a/public/scss/generics.scss +++ b/public/scss/generics.scss @@ -194,4 +194,21 @@ $hidden-elements-for-first-last-child: br, hr; img.emoji { height: $font-size-lg; +} + +.highlight-pulse { + animation: pulse-grow 1.5s ease-in-out 3; + transform-origin: center; + z-index: 10; +} + +@keyframes pulse-grow { + 0%, 100% { + transform: scale(1); + background-color: transparent; + } + 50% { + transform: scale(1.005); + background-color: var(--bs-tertiary-bg); + } } \ No newline at end of file diff --git a/public/src/client/chats.js b/public/src/client/chats.js index f418753e38..4614eea474 100644 --- a/public/src/client/chats.js +++ b/public/src/client/chats.js @@ -75,6 +75,12 @@ define('forum/chats', [ messages.toggleScrollUpAlert(chatContentEl); const scrollToEl = chatContentEl.find(`[data-index="${ajaxify.data.scrollToIndex - 1}"]`); messages.scrollToMessageAfterImageLoad(chatContentEl, scrollToEl); + if (scrollToEl) { + scrollToEl.addClass('highlight-pulse'); + setTimeout(() => { + scrollToEl.removeClass('highlight-pulse'); + }, 5000); + } } else { messages.scrollToBottomAfterImageLoad(chatContentEl); }