mirror of
https://github.com/jason5ng32/MyIP.git
synced 2026-11-04 08:55:47 +00:00
A pass over every file the branch touched, after the iOS animation hunt left tries and reverts behind it. Removed what nothing reaches: the view-transition rule for a transition no code starts, an unreachable guard in the transition hook, a no-op KeepAlive key branch, a sign-in guard the menu already enforces, usage-dialog wrappers that only forwarded to the store, a duplicated modifier-click check and card filter (isPlainClick / listedTools), a test that hand-rolled listedTools, a drawer-era fixture parameter. auth-flow.js folded into auth-redirect.js. Comments cut to what the code cannot say itself — file headers of a few lines, the measured iOS reasons, non-obvious orderings — and stale ones fixed (Nav under KeepAlive, Home.vue reusing DEFAULT_META, "from Nav", enabledCards). AGENTS.md sections tightened to the code as it is now. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013GbLTGMZ45MV78qd2tHoco
12 lines
503 B
JavaScript
12 lines
503 B
JavaScript
// Smooth scroll to specified element (supports passing element or id string).
|
|
|
|
// Every homepage section scroll (nav, breadcrumb, shortcuts): the fixed Nav (h-14) plus air.
|
|
export const SECTION_SCROLL_OFFSET = 70;
|
|
|
|
export function scrollToElement(el, offset = 0) {
|
|
const element = typeof el === 'string' ? document.getElementById(el) : el;
|
|
if (!element) return;
|
|
const y = element.getBoundingClientRect().top + window.scrollY - offset;
|
|
window.scrollTo({ top: y, behavior: 'smooth' });
|
|
}
|