From 73a3b3d3afd230a542ca3857bc6b509bcef7b79b Mon Sep 17 00:00:00 2001 From: Logan Besecker Date: Thu, 1 Oct 2026 13:20:54 -0700 Subject: [PATCH] Pin the listing sidebar by its bottom so the sponsors show early The sidebar on a listing page is taller than the window -- 2,175px on a 768px screen -- but was pinned by its top, so only its first screenful was ever visible. The sponsors sit below that and stayed out of view until the main column ended, 11,735px down on Context7. - A hook sets a negative sticky top (window height minus sidebar height), so the sidebar scrolls with the page until its last panel shows, then holds. The browser does the scrolling; there is no scroll listener - It recalculates when the window or the sidebar changes size, and LiveView is told the style is the client's so a patch does not strip it - Same speed as the page: the sponsor block is taller than the visible sidebar, so a faster sidebar would scroll the tiles past unseen - Below the lg breakpoint the sidebar stacks under the content, unchanged Closes #87 --- Pages affected: - [Context7 MCP](https://ai.mcpharbor.dev/servers/io.github.upstash/context7) -- the listing the fix was measured on. - [browse MCP servers](https://ai.mcpharbor.dev/servers) -- every listing it leads to. Co-Authored-By: Claude Opus 5.5 --- lib/mcp_registry_web/live/server_live/show.ex | 47 ++++++++++++++++++- .../live/server_live_test.exs | 14 ++++++ 2 files changed, 60 insertions(+), 1 deletion(-) diff --git a/lib/mcp_registry_web/live/server_live/show.ex b/lib/mcp_registry_web/live/server_live/show.ex index d7a85a3..d84ae28 100644 --- a/lib/mcp_registry_web/live/server_live/show.ex +++ b/lib/mcp_registry_web/live/server_live/show.ex @@ -521,7 +521,52 @@ defmodule McpRegistryWeb.ServerLive.Show do -