/** * StreamView — scrollable message log */ import { Component, For, createEffect, onMount } from "solid-js"; import { visibleMessages, useJournalStream } from "../stores/journalStream"; import { StreamMessageCard } from "./StreamMessage"; export const StreamView: Component = () => { const stream = useJournalStream(); let containerRef: HTMLDivElement | undefined; // Auto-scroll to bottom on new messages const messages = () => visibleMessages(); createEffect(() => { void messages().length; // track if (!containerRef) return; containerRef.scrollTop = containerRef.scrollHeight; }); return (
{(msg) => }

{stream.connected ? "No messages yet. Start by posting something." : "Connect to a session to see messages."}

); }; import { Show } from "solid-js";