diff --git a/config/pretty-routes.php b/config/pretty-routes.php index 76c3421..27e91d3 100644 --- a/config/pretty-routes.php +++ b/config/pretty-routes.php @@ -39,8 +39,15 @@ ], /* - * Set a dark theme. + * Set a light or dark themes. + * + * Available: + * light - always chooses a light theme. + * dark - always chooses a dark theme. + * auto - automatic theme detection from browser. + * + * By default, auto */ - 'dark' => false, + 'color_scheme' => 'auto', ]; diff --git a/resources/views/routes.blade.php b/resources/views/routes.blade.php index dadf5e9..62acacc 100644 --- a/resources/views/routes.blade.php +++ b/resources/views/routes.blade.php @@ -109,11 +109,24 @@ class="deprecated" deprecated: '@lang("Deprecated")' }; + const colorScheme = () => { + let value = "{{ config('pretty-routes.color_scheme', 'auto') }}"; + + switch (value) { + case 'dark': + return true; + case 'light': + return false; + default: + return (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches); + } + }; + new Vue({ el: '#app', vuetify: new Vuetify({ theme: { - dark: {{ config('pretty-routes.dark', false) ? 'true' : 'false' }} + dark: colorScheme() } }),