diff --git a/src/main/java/de/assecutor/votianlt/pages/view/MessageDetailsView.java b/src/main/java/de/assecutor/votianlt/pages/view/MessageDetailsView.java index c35bbfe..7433b38 100644 --- a/src/main/java/de/assecutor/votianlt/pages/view/MessageDetailsView.java +++ b/src/main/java/de/assecutor/votianlt/pages/view/MessageDetailsView.java @@ -204,6 +204,8 @@ public class MessageDetailsView extends Main implements BeforeEnterObserver { return; } + // Reset anchor so a fresh one can be attached after re-rendering + scrollAnchor = null; messagesContainer.removeAll(); LocalDate currentDate = null; @@ -658,12 +660,19 @@ public class MessageDetailsView extends Main implements BeforeEnterObserver { * Ensure scroll anchor exists at the bottom of messages container */ private void ensureScrollAnchor() { - if (scrollAnchor == null && messagesContainer != null) { + if (messagesContainer == null) { + return; + } + + if (scrollAnchor == null) { scrollAnchor = new Div(); scrollAnchor.setId("scroll-anchor"); scrollAnchor.getStyle() .set("height", "1px") .set("width", "100%"); + } + + if (scrollAnchor.getParent().isEmpty()) { messagesContainer.add(scrollAnchor); } }