Repository navigation
fix: resolve mobile container shrinking on links page (v2) - #7
Merged
renarin-kholin merged 1 commit intoAug 30, 2026
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #2 — Mobile Container Shrinking on Links Page
Problem
On mobile screen sizes, the main container on the
/linkspage progressively shrank until it became invisible, especially when the page had many links loaded.Root Cause
In
MainPanel.tsx, aResizeObserverwatched the content'sscrollWidth/scrollHeightand fed those values directly into GSAP animations on every resize event. On mobile, table content and staggered row animations causedscrollWidthto fluctuate rapidly, triggering repeated, overlapping GSAP tweens on the panel'swidth. This created a feedback loop that visually shrank the container over time.Changes Made
frontend/src/components/layouts/utils/MainPanel.tsxwidthfrom the GSAP animation driven by theResizeObserver— width is now handled purely by CSS instead of being recalculated fromscrollWidthResizeObservercallback to prevent it from firing excessively during rapid layout changes (e.g. staggered row animations)gsap.killTweensOf(mainRef.current, "height")before starting a new height tween, to prevent overlapping/competing animations from compoundingoverflow-hiddenfrom themainelement's className (was conflicting withoverflow-y-autoand clipping content)md:w-fulltow-fullso width behaves consistently across all breakpointsfrontend/src/routes/links.tsxpx-4 sm:px-6horizontal padding to the outer container for proper mobile spacingmin-w-0 w-fullto the table wrapper to prevent the table from forcing overflow that could retrigger the resize loopTesting