Skip to content

Commit a55cc85

Browse files
committed
refactor: ♻️ use component instead of action
remove use-viewport-action.ts
1 parent a53dd31 commit a55cc85

File tree

2 files changed

+20
-43
lines changed

2 files changed

+20
-43
lines changed

src/lib/components/general-observer.svelte

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,22 +6,31 @@
66
import { onDestroy, onMount } from 'svelte'
77
import { fade } from 'svelte/transition'
88
9-
let loaded = false
9+
export let threshold = 0.5
10+
export let disable_observer = false
11+
12+
let loaded = disable_observer
1013
let root: HTMLElement
1114
12-
// check if IntersectionObserver is available
1315
const hasIntersectionObserver =
1416
typeof IntersectionObserver !== 'undefined'
15-
let observer = hasIntersectionObserver
16-
? new IntersectionObserver(entries => {
17-
entries.forEach(entry => {
18-
if (entry.isIntersecting) {
19-
loaded = true
20-
observer.disconnect()
17+
let observer =
18+
hasIntersectionObserver && !disable_observer
19+
? new IntersectionObserver(
20+
entries => {
21+
entries.forEach(entry => {
22+
if (entry.intersectionRatio >= threshold) {
23+
loaded = true
24+
observer.disconnect()
25+
}
26+
})
27+
},
28+
{
29+
rootMargin: '0px',
30+
threshold,
2131
}
22-
})
23-
})
24-
: null
32+
)
33+
: null
2534
2635
onMount(() => {
2736
if (observer) {

src/lib/utils/use-viewport-action.ts

Lines changed: 0 additions & 32 deletions
This file was deleted.

0 commit comments

Comments
 (0)