From 3f4a7594eb0bd84b0fbb4801699619d9fced5172 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Silva?= Date: Fri, 2 Oct 2020 09:58:13 -0300 Subject: [PATCH] Add fallback for event listener in Media Query List --- src/index.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/index.ts b/src/index.ts index 820eb99..67ceedc 100644 --- a/src/index.ts +++ b/src/index.ts @@ -38,6 +38,12 @@ export function setDark(isDark: boolean) { export function onUpdate(cb: (isDark: boolean) => void) { updateCallbacks.push(cb); - window.matchMedia('(prefers-color-scheme: dark)') - .addEventListener('change', () => cb(isDark())); + try { + window.matchMedia('(prefers-color-scheme: dark)') + .addEventListener('change', () => cb(isDark())); + } catch (e) { + // Fallback for Safari < 14 and older browsers + window.matchMedia('(prefers-color-scheme: dark)') + .addListener(() => cb(isDark())); + } }