The root cause of the hover-clipping we kept band-aiding with larger
track-heights: a scroll container with overflow-x: auto implicitly
clips on the perpendicular axis too. Explicit overflow-y: visible
lets cards expand above and below the track freely.
Implementation matches the spec's belt-and-braces pattern. New layered
markup:
.rr-wrap → position: relative, anchors fades
.rr-scroll → overflow-x: auto + overflow-y: visible,
padding 60/60/80, scroll-padding 60/60 sides
.rr-scroll-inner → structural, no layout effect
.rr-track → positioned at the inner wrapper
The padding-top: 60px / padding-bottom: 80px on .rr-scroll gives cards
room to grow above and below the track without ever hitting a clip
boundary, even on browsers that mis-handle the overflow-x/y mix.
Edge fades reposition: top: 60px / bottom: 80px (was 0 / 16) so they
only cover the track itself, not the overflow padding zones above and
below where hover-expanded cards now live.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
52 lines
3 KiB
JSON
52 lines
3 KiB
JSON
{
|
|
"permissions": {
|
|
"allow": [
|
|
"WebFetch(domain:api.anthropic.com)",
|
|
"Bash(pnpm --version)",
|
|
"Bash(git init *)",
|
|
"Bash(git add *)",
|
|
"Bash(git commit *)",
|
|
"Bash(export PATH=\"$HOME/.nvm/versions/node/v22.22.2/bin:$HOME/.local/share/pnpm:$PATH\")",
|
|
"Bash(pnpm install *)",
|
|
"Bash(node scripts/migrate.js)",
|
|
"Bash(node scripts/seed.js)",
|
|
"Bash(pnpm typecheck *)",
|
|
"Bash(pnpm build *)",
|
|
"Bash(identify /home/jonathan/Documents/DEV/Project-Bifrost/public/innofounder-logo.png)",
|
|
"Bash(pnpm dev *)",
|
|
"Bash(awk '{print $1}')",
|
|
"Bash(pnpm db:migrate *)",
|
|
"Bash(sqlite3 bifrost.db \".schema users\")",
|
|
"Bash(sqlite3 bifrost.db \".schema attendance\")",
|
|
"Bash(sqlite3 bifrost.db \"SELECT name FROM sqlite_master WHERE type='table' ORDER BY name;\")",
|
|
"Bash(sqlite3 bifrost.db \"SELECT id, name, slug FROM users;\")",
|
|
"Bash(node *)",
|
|
"Bash(pnpm db:seed:roadmap)",
|
|
"Bash(pnpm test *)",
|
|
"Bash(curl -sI http://localhost:4321/pulse -b \"bifrost_session=test\")",
|
|
"Bash(curl -sI http://localhost:4321/admin)",
|
|
"Bash(pnpm db:seed:demo *)",
|
|
"Bash(curl -s -c /tmp/jar.txt -b /tmp/jar.txt -d \"email=lars@rigspolitiet.dk&password=cab123\" http://localhost:4321/login -i)",
|
|
"Bash(curl -sI -b /tmp/jar.txt http://localhost:4321/)",
|
|
"Bash(curl -s -b /tmp/jar.txt http://localhost:4321/pulse)",
|
|
"Bash(curl -s -c /tmp/jonjar.txt -b /tmp/jonjar.txt -d \"email=jonathan@fenja.ai&password=fenja123\" http://localhost:4321/login -i)",
|
|
"Bash(curl -s -b /tmp/jonjar.txt \"http://localhost:4321/admin?tab=pulses\")",
|
|
"Bash(curl -s -b /tmp/jonjar.txt \"http://localhost:4321/admin?tab=roadmap\")",
|
|
"Bash(curl -s -b /tmp/jonjar.txt \"http://localhost:4321/admin?tab=events\")",
|
|
"Bash(curl -s -b /tmp/jonjar.txt \"http://localhost:4321/admin?tab=activity\")",
|
|
"Bash(awk NR>=107 && NR<=117 *)",
|
|
"Bash(awk 'NR==111' src/lib/format.ts)",
|
|
"Bash(curl -s -c /tmp/jar.txt -d \"email=lars@rigspolitiet.dk&password=cab123\" http://localhost:4321/login -o /dev/null -i)",
|
|
"Bash(curl -sI -b /tmp/jar.txt http://localhost:4321/pulse)",
|
|
"Bash(curl -s -b /tmp/jar.txt http://localhost:4321/members)",
|
|
"Bash(curl -s -b /tmp/jar.txt http://localhost:4321/events)",
|
|
"Bash(curl -s -b /tmp/jar.txt http://localhost:4321/dispatches)",
|
|
"Bash(curl -s -b /tmp/jar.txt http://localhost:4321/dispatches/1-we-are-deprioritising-public-cloud-parity-for-q3)",
|
|
"Bash(pnpm db:seed)",
|
|
"Bash(curl -s -c /tmp/jar.txt -d \"email=lars@virk2.dk&password=cab123\" http://localhost:4321/login -o /dev/null -i)",
|
|
"Bash(curl -s -c /tmp/jar.txt -d \"email=lars@virk2.dk&password=cab123\" http://localhost:4321/login -o /dev/null)",
|
|
"Bash(curl -s -b /tmp/jar.txt http://localhost:4321/roadmap)",
|
|
"Bash(grep -nE \"\\\\.rr-fade-left, \\\\.rr-fade-right|rr-fade-left \\\\{|rr-fade-right \\\\{\" src/components/RoadmapRoute.astro)"
|
|
]
|
|
}
|
|
}
|