Skip to content

Commit a9ce0db

Browse files
chore: blur contents on line hover
1 parent 84f7c86 commit a9ce0db

File tree

3 files changed

+32
-1
lines changed

3 files changed

+32
-1
lines changed

apps/sim/app/(landing)/blog/[slug]/page.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ export default async function Page({ params }: { params: Promise<{ slug: string
5757
/>
5858

5959
<div className='mx-auto flex w-full max-w-[1500px] flex-col items-start gap-2 pb-24 pt-16 xl:flex-row'>
60-
<div className='max-w-5xl flex-grow mx-auto'>
60+
<div data-blog-main-content className='max-w-5xl flex-grow mx-auto'>
6161
<Link
6262
href='/blog'
6363
className='group mb-8 inline-flex items-center gap-2 border border-[#2A2A2A] bg-[#232323] px-4 py-2 font-season text-[11px] uppercase tracking-widest text-[#999] transition-colors hover:text-[#ECECEC]'

apps/sim/app/(landing)/blog/[slug]/prose-studio.css

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -220,8 +220,24 @@
220220
color: #ffcc02;
221221
}
222222

223+
[data-blog-main-content] {
224+
transition:
225+
filter 180ms ease-out,
226+
opacity 180ms ease-out;
227+
will-change: filter, opacity;
228+
}
229+
230+
body[data-toc-rail-hover="true"] [data-blog-main-content] {
231+
filter: blur(2.5px);
232+
opacity: 0.58;
233+
}
234+
223235
/* Reduced motion */
224236
@media (prefers-reduced-motion: reduce) {
237+
[data-blog-main-content] {
238+
transition: none;
239+
}
240+
225241
.prose-studio a {
226242
transition: none;
227243
}

apps/sim/app/(landing)/blog/[slug]/table-of-contents.tsx

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -431,6 +431,21 @@ export function TableOfContents({ headings }: TableOfContentsProps) {
431431
return () => observerRef.current?.disconnect()
432432
}, [headings])
433433

434+
useEffect(() => {
435+
if (isLineRailHovering) {
436+
document.body.dataset.tocRailHover = 'true'
437+
return () => {
438+
document.body.removeAttribute('data-toc-rail-hover')
439+
}
440+
}
441+
442+
document.body.removeAttribute('data-toc-rail-hover')
443+
444+
return () => {
445+
document.body.removeAttribute('data-toc-rail-hover')
446+
}
447+
}, [isLineRailHovering])
448+
434449
const onPointerMove = useCallback(
435450
(event: React.PointerEvent<HTMLElement>) => {
436451
const nav = navRef.current

0 commit comments

Comments
 (0)