diff --git a/src/app/(home)/page.tsx b/src/app/(home)/page.tsx
index a6360241..4187e3c4 100644
--- a/src/app/(home)/page.tsx
+++ b/src/app/(home)/page.tsx
@@ -214,7 +214,7 @@ async function Home() {
{feature.subfeatures.map((item) => (
-
{item.screenshot?.src && (
diff --git a/src/hooks/useDarkMode.ts b/src/hooks/useDarkMode.ts
index 6915f0f9..0b36c93f 100644
--- a/src/hooks/useDarkMode.ts
+++ b/src/hooks/useDarkMode.ts
@@ -3,7 +3,7 @@ import { create } from "zustand"
import { noop } from "~/lib/noop"
import { delStorage, getStorage, setStorage } from "~/lib/storage"
-import { isServerSide, isViewTransition } from "~/lib/utils"
+import { isServerSide } from "~/lib/utils"
import { useGetState } from "./useGetState"
@@ -183,7 +183,9 @@ export const useDarkMode = () => {
storageKey: darkModeKey,
element: (globalThis.document && document.documentElement) || mockElement,
transition:
- !isServerSide() && isViewTransition() // @ts-ignore
+ !isServerSide() &&
+ !!document.startViewTransition &&
+ !window.matchMedia(`(prefers-reduced-motion: reduce)`).matches
? document.startViewTransition()
: undefined,
})
diff --git a/src/lib/utils.ts b/src/lib/utils.ts
index 938223b7..e100112a 100644
--- a/src/lib/utils.ts
+++ b/src/lib/utils.ts
@@ -26,11 +26,6 @@ export function pick(obj: T, keys: K[]): Pick {
export const isServerSide = () => typeof window === "undefined"
-export const isViewTransition = () =>
- // @ts-ignore
- !!document.startViewTransition &&
- !window.matchMedia(`(prefers-reduced-motion: reduce)`).matches
-
export const throttle = (func: Function, limit: number) => {
let inThrottle: boolean
return function () {
diff --git a/types/global.d.ts b/types/global.d.ts
index aa550b75..4a6b454c 100644
--- a/types/global.d.ts
+++ b/types/global.d.ts
@@ -11,4 +11,8 @@ declare global {
}
var prisma: PrismaClient | undefined
+
+ interface Document {
+ startViewTransition(): void
+ }
}