Skip to content

Commit 03cc693

Browse files
committed
perf: remove most animations and gradients on prefers-reduced-motion
1 parent d5424f7 commit 03cc693

File tree

4 files changed

+12
-9
lines changed

4 files changed

+12
-9
lines changed

src/Web/CommandPalette/base-dialog.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ const open = defineModel<boolean>('open', { required: true })
1717

1818
<template>
1919
<dialog-root v-model:open="open">
20-
<dialog-overlay class="z-50 fixed inset-0 backdrop-blur-sm data-[state=open]:animate-dialog-open data-[state=closed]:animate-dialog-close" />
21-
<dialog-content :class="contentClass" class="top-[50%] left-[50%] z-50 fixed bg-(--ui-bg) shadow-dialog-shadow shadow-xl p-0 border border-(--ui-border) sm:rounded-lg text-(--ui-text) translate-x-[-50%] translate-y-[-50%] data-[state=open]:animate-dialog-open data-[state=closed]:animate-dialog-close">
20+
<dialog-overlay class="z-50 fixed inset-0 motion-reduce:bg-[black]/90 motion-safe:backdrop-blur-sm motion-safe:data-[state=closed]:animate-dialog-close motion-safe:data-[state=open]:animate-dialog-open" />
21+
<dialog-content :class="contentClass" class="top-[50%] left-[50%] z-50 fixed bg-(--ui-bg) shadow-dialog-shadow shadow-xl p-0 border border-(--ui-border) sm:rounded-lg text-(--ui-text) translate-x-[-50%] translate-y-[-50%] data-[state=closed]:animate-dialog-close data-[state=open]:animate-dialog-open">
2222
<dialog-title class="sr-only">
2323
{{ title }}
2424
</dialog-title>

src/Web/Homepage/leaves.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ document.addEventListener('DOMContentLoaded', () => {
3232
let shouldRemoveLeaves = false
3333

3434
function createLeaf() {
35-
if (activeLeaves >= MAX_LEAVES || shouldRemoveLeaves) {
35+
if (activeLeaves >= MAX_LEAVES || shouldRemoveLeaves || window.matchMedia('(prefers-reduced-motion: reduce)').matches === true) {
3636
return
3737
}
3838

src/Web/Homepage/x-aurora.view.php

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,25 +3,28 @@
33
<div class="
44
[--color-white-gradient:repeating-linear-gradient(100deg,white_0%,white_7%,transparent_10%,transparent_12%,white_16%)]
55
[--color-aurora-gradient:repeating-linear-gradient(100deg,var(--color-aurora-1)_10%,var(--color-aurora-2)_15%,var(--color-aurora-3)_20%,var(--color-aurora-4)_25%,var(--color-aurora-5)_30%)]
6-
[background-image:var(--color-white-gradient),var(--color-aurora-gradient)]
6+
motion-reduce:[background-image:var(--color-aurora-gradient)]
7+
not-motion-reduce:[background-image:var(--color-white-gradient),var(--color-aurora-gradient)]
78
[background-size:300%,_200%]
89
[background-position:50%_50%,50%_50%]
910
filter
10-
motion-safe:blur-[10px]
11+
blur-[10px]
1112
invert
1213
after:content-['']
1314
after:absolute
1415
after:inset-0
15-
after:[background-image:var(--color-white-gradient),var(--color-aurora-gradient)]
16+
motion-reduce:after:[background-image:var(--color-aurora-gradient)]
17+
not-motion-reduce:after:[background-image:var(--color-white-gradient),var(--color-aurora-gradient)]
1618
after:[background-size:200%,_100%]
17-
motion-safe:after:animate-aurora
19+
not-motion-reduce:after:animate-aurora
1820
after:[background-attachment:fixed]
1921
after:mix-blend-difference
2022
pointer-events-none
2123
absolute
2224
inset-0
2325
opacity-50
24-
will-change-transform
26+
after:will-change-auto
27+
will-change-auto
2528
[mask-image:radial-gradient(ellipse_at_100%_0%,black_10%,transparent_70%)]
2629
"></div>
2730
</div>

src/Web/Homepage/x-moonlight.view.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
after:inset-0
1616
after:[background-image:var(--color-white-gradient)]
1717
after:[background-size:200%,_100%]
18-
motion-safe:after:animate-aurora
18+
not-motion-reduce:after:animate-aurora
1919
after:[background-attachment:fixed]
2020
after:mix-blend-difference
2121
pointer-events-none

0 commit comments

Comments
 (0)