crunchit
Version:
Autotrack the events from your users
45 lines (38 loc) • 1.27 kB
JavaScript
function getUserPreferences() {
const preferenceQueries = [
{ name: "prefers-color-scheme", media: "(prefers-color-scheme: dark)" },
{
name: "prefers-reduced-motion",
media: "(prefers-reduced-motion: reduce)",
},
{
name: "prefers-reduced-transparency",
media: "(prefers-reduced-transparency: reduce)",
},
{ name: "prefers-contrast", media: "(prefers-contrast: more)" },
{ name: "prefers-reduced-data", media: "(prefers-reduced-data: reduce)" },
{
name: "prefers-reduced-font-sizes",
media: "(prefers-reduced-font-sizes: reduce)",
},
{ name: "prefers-geolocation", media: "(prefers-geolocation: none)" },
{
name: "prefers-inverted-colors",
media: "(prefers-inverted-colors: inverted)",
},
{ name: "prefers-light-level", media: "(prefers-light-level: dim)" },
{
name: "prefers-reduced-motion",
media: "(prefers-reduced-motion: reduce)",
},
// Add more preference queries as needed
];
const preferences = {};
for (const query of preferenceQueries) {
const { name, media } = query;
const match = window.matchMedia(media);
preferences[name] = match.matches;
}
return preferences;
}
module.exports = getUserPreferences;