create-sveltekit-electron-app
Version:
Createk Desktop app with Sveltekit and Electron.
24 lines (19 loc) • 723 B
text/typescript
import { browser } from '$app/environment'
import { readable } from 'svelte/store'
const reduced_motion_query = '(prefers-reduced-motion: reduce)'
const get_initial_motion_preference = () => {
if (!browser) return false
return window.matchMedia(reduced_motion_query).matches
}
export const reduced_motion = readable(get_initial_motion_preference(), (set) => {
if (browser) {
const set_reduced_motion = (event: MediaQueryListEvent) => {
set(event.matches)
}
const media_query_list = window.matchMedia(reduced_motion_query)
media_query_list.addEventListener('change', set_reduced_motion)
return () => {
media_query_list.removeEventListener('change', set_reduced_motion)
}
}
})