diff --git a/src/app.css b/src/app.css index 2c0d16c09..53a4e6520 100644 --- a/src/app.css +++ b/src/app.css @@ -311,6 +311,9 @@ --text-display: clamp(3rem, 7vw, 4rem); --text-display--line-height: clamp(3.125rem, 7.5vw, 4.25rem); --text-display--letter-spacing: var(--tracking-compressed); + --text-hero: clamp(3.25rem, 7vw, 4.5rem); + --text-hero--line-height: clamp(3.125rem, 7.5vw, 4.25rem); + --text-hero--letter-spacing: var(--tracking-compressed); --text-headline: clamp(3.5rem, 8vw, 5.5rem); --text-headline--line-height: clamp(3.5rem, 8.5vw, 5.75rem); --text-headline--letter-spacing: var(--tracking-compressed); diff --git a/src/lib/actions/mouse-position.ts b/src/lib/actions/mouse-position.ts index 4d9dff32f..0cbffe9c3 100644 --- a/src/lib/actions/mouse-position.ts +++ b/src/lib/actions/mouse-position.ts @@ -1,4 +1,4 @@ -import { inView } from 'motion'; +import { hover, inView } from 'motion'; import { type Writable, writable } from 'svelte/store'; export const useMousePosition = () => { @@ -9,19 +9,19 @@ export const useMousePosition = () => { const action = (node: HTMLElement) => { const handleMouseMove = (event: MouseEvent) => { + // Get the bounding rectangle of the element + const rect = node.getBoundingClientRect(); + + // Calculate position relative to the element position.set({ - x: event.clientX, - y: event.clientY + x: event.clientX - rect.left, + y: event.clientY - rect.top }); }; - inView( - node, - () => { - node.addEventListener('mousemove', handleMouseMove); - }, - { amount: 'any' } - ); + hover(node, () => { + node.addEventListener('mousemove', handleMouseMove); + }); return { destroy() { diff --git a/src/lib/components/appwrite-network/map-tooltip.svelte b/src/lib/components/appwrite-network/map-tooltip.svelte index 913e6fabf..b4bf4c012 100644 --- a/src/lib/components/appwrite-network/map-tooltip.svelte +++ b/src/lib/components/appwrite-network/map-tooltip.svelte @@ -27,8 +27,9 @@ {#if $tooltipData.city}