mirror of
				https://github.com/firefly-iii/firefly-iii.git
				synced 2025-10-31 10:47:00 +00:00 
			
		
		
		
	Dark mode button
This commit is contained in:
		| @@ -29,6 +29,7 @@ | ||||
|  | ||||
|     {# the theme #} | ||||
|     <link href="v1/lib/adminlte/css/AdminLTE.min.css?v={{ FF_VERSION }}" rel="stylesheet" type="text/css" nonce="{{ JS_NONCE }}"> | ||||
|     {% if 'browser' == darkMode %} | ||||
|     <script nonce="{{ JS_NONCE }}"> | ||||
|         // If `prefers-color-scheme` is not supported, fall back to light mode. | ||||
|         // In this case, light.css will be downloaded with `highest` priority. | ||||
| @@ -40,9 +41,15 @@ | ||||
|             ); | ||||
|         } | ||||
|     </script> | ||||
|     <link href="v1/lib/adminlte/css/skins/skin-light.min.css?v={{ FF_VERSION }}" rel="stylesheet" type="text/css" nonce="{{ JS_NONCE }}" media="(prefers-color-scheme: light)"> | ||||
|     <link href="v1/lib/adminlte/css/skins/skin-dark.min.css?v={{ FF_VERSION }}" rel="stylesheet" type="text/css" nonce="{{ JS_NONCE }}"  media="(prefers-color-scheme: dark)"> | ||||
|  | ||||
|         <link href="v1/lib/adminlte/css/skins/skin-dark.min.css?v={{ FF_VERSION }}" rel="stylesheet" type="text/css" nonce="{{ JS_NONCE }}"  media="(prefers-color-scheme: dark)"> | ||||
|         <link href="v1/lib/adminlte/css/skins/skin-light.min.css?v={{ FF_VERSION }}" rel="stylesheet" type="text/css" nonce="{{ JS_NONCE }}" media="(prefers-color-scheme: light)"> | ||||
|     {% endif %} | ||||
|     {% if 'dark' == darkMode %} | ||||
|         <link href="v1/lib/adminlte/css/skins/skin-dark.min.css?v={{ FF_VERSION }}" rel="stylesheet" type="text/css" nonce="{{ JS_NONCE }}"> | ||||
|     {% endif %} | ||||
|     {% if 'light' == darkMode %} | ||||
|         <link href="v1/lib/adminlte/css/skins/skin-light.min.css?v={{ FF_VERSION }}" rel="stylesheet" type="text/css" nonce="{{ JS_NONCE }}"> | ||||
|     {% endif %} | ||||
|     {# Firefly III customisations #} | ||||
|     <link href="v1/css/firefly.css?v={{ FF_VERSION }}" rel="stylesheet" type="text/css" nonce="{{ JS_NONCE }}"> | ||||
|  | ||||
|   | ||||
| @@ -20,19 +20,27 @@ | ||||
|  | ||||
|     {# the theme #} | ||||
|     <link href="v1/lib/adminlte/css/AdminLTE.min.css?v={{ FF_VERSION }}" rel="stylesheet" type="text/css" nonce="{{ JS_NONCE }}"> | ||||
|     <script nonce="{{ JS_NONCE }}"> | ||||
|         // If `prefers-color-scheme` is not supported, fall back to light mode. | ||||
|         // In this case, light.css will be downloaded with `highest` priority. | ||||
|         if (window.matchMedia('(prefers-color-scheme: dark)').media === 'not all') { | ||||
|             document.documentElement.style.display = 'none'; | ||||
|             document.head.insertAdjacentHTML( | ||||
|                 'beforeend', | ||||
|                 '<link rel="stylesheet" href="v1/lib/adminlte/css/skins/skin-light.min.css?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}" onload="document.documentElement.style.display = \'\'">', | ||||
|             ); | ||||
|         } | ||||
|     </script> | ||||
|     <link href="v1/lib/adminlte/css/skins/skin-light.min.css?v={{ FF_VERSION }}" rel="stylesheet" type="text/css" nonce="{{ JS_NONCE }}" media="(prefers-color-scheme: light)"> | ||||
|     <link href="v1/lib/adminlte/css/skins/skin-dark.min.css?v={{ FF_VERSION }}" rel="stylesheet" type="text/css" nonce="{{ JS_NONCE }}"  media="(prefers-color-scheme: dark)"> | ||||
|     {% if 'browser' == darkMode %} | ||||
|         <script nonce="{{ JS_NONCE }}"> | ||||
|             // If `prefers-color-scheme` is not supported, fall back to light mode. | ||||
|             // In this case, light.css will be downloaded with `highest` priority. | ||||
|             if (window.matchMedia('(prefers-color-scheme: dark)').media === 'not all') { | ||||
|                 document.documentElement.style.display = 'none'; | ||||
|                 document.head.insertAdjacentHTML( | ||||
|                     'beforeend', | ||||
|                     '<link rel="stylesheet" href="v1/lib/adminlte/css/skins/skin-light.min.css?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}" onload="document.documentElement.style.display = \'\'">', | ||||
|                 ); | ||||
|             } | ||||
|         </script> | ||||
|         <link href="v1/lib/adminlte/css/skins/skin-dark.min.css?v={{ FF_VERSION }}" rel="stylesheet" type="text/css" nonce="{{ JS_NONCE }}"  media="(prefers-color-scheme: dark)"> | ||||
|         <link href="v1/lib/adminlte/css/skins/skin-light.min.css?v={{ FF_VERSION }}" rel="stylesheet" type="text/css" nonce="{{ JS_NONCE }}" media="(prefers-color-scheme: light)"> | ||||
|     {% endif %} | ||||
|     {% if 'dark' == darkMode %} | ||||
|         <link href="v1/lib/adminlte/css/skins/skin-dark.min.css?v={{ FF_VERSION }}" rel="stylesheet" type="text/css" nonce="{{ JS_NONCE }}"> | ||||
|     {% endif %} | ||||
|     {% if 'light' == darkMode %} | ||||
|         <link href="v1/lib/adminlte/css/skins/skin-light.min.css?v={{ FF_VERSION }}" rel="stylesheet" type="text/css" nonce="{{ JS_NONCE }}"> | ||||
|     {% endif %} | ||||
|  | ||||
|     {# Firefly III customisations #} | ||||
|     <link href="v1/css/firefly.css?v={{ FF_VERSION }}" rel="stylesheet" type="text/css" nonce="{{ JS_NONCE }}"> | ||||
|   | ||||
| @@ -30,19 +30,27 @@ | ||||
|  | ||||
|     {# the theme #} | ||||
|     <link href="v1/lib/adminlte/css/AdminLTE.min.css?v={{ FF_VERSION }}" rel="stylesheet" type="text/css" nonce="{{ JS_NONCE }}"> | ||||
|     <script nonce="{{ JS_NONCE }}"> | ||||
|         // If `prefers-color-scheme` is not supported, fall back to light mode. | ||||
|         // In this case, light.css will be downloaded with `highest` priority. | ||||
|         if (window.matchMedia('(prefers-color-scheme: dark)').media === 'not all') { | ||||
|             document.documentElement.style.display = 'none'; | ||||
|             document.head.insertAdjacentHTML( | ||||
|                 'beforeend', | ||||
|                 '<link rel="stylesheet" href="v1/lib/adminlte/css/skins/skin-light.css?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}" onload="document.documentElement.style.display = \'\'">', | ||||
|             ); | ||||
|         } | ||||
|     </script> | ||||
|     <link href="v1/lib/adminlte/css/skins/skin-light.min.css?v={{ FF_VERSION }}" rel="stylesheet" type="text/css" nonce="{{ JS_NONCE }}" media="(prefers-color-scheme: light)"> | ||||
|     <link href="v1/lib/adminlte/css/skins/skin-dark.min.css?v={{ FF_VERSION }}" rel="stylesheet" type="text/css" nonce="{{ JS_NONCE }}"  media="(prefers-color-scheme: dark)"> | ||||
|     {% if 'browser' == darkMode %} | ||||
|         <script nonce="{{ JS_NONCE }}"> | ||||
|             // If `prefers-color-scheme` is not supported, fall back to light mode. | ||||
|             // In this case, light.css will be downloaded with `highest` priority. | ||||
|             if (window.matchMedia('(prefers-color-scheme: dark)').media === 'not all') { | ||||
|                 document.documentElement.style.display = 'none'; | ||||
|                 document.head.insertAdjacentHTML( | ||||
|                     'beforeend', | ||||
|                     '<link rel="stylesheet" href="v1/lib/adminlte/css/skins/skin-light.min.css?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}" onload="document.documentElement.style.display = \'\'">', | ||||
|                 ); | ||||
|             } | ||||
|         </script> | ||||
|         <link href="v1/lib/adminlte/css/skins/skin-dark.min.css?v={{ FF_VERSION }}" rel="stylesheet" type="text/css" nonce="{{ JS_NONCE }}"  media="(prefers-color-scheme: dark)"> | ||||
|         <link href="v1/lib/adminlte/css/skins/skin-light.min.css?v={{ FF_VERSION }}" rel="stylesheet" type="text/css" nonce="{{ JS_NONCE }}" media="(prefers-color-scheme: light)"> | ||||
|     {% endif %} | ||||
|     {% if 'dark' == darkMode %} | ||||
|         <link href="v1/lib/adminlte/css/skins/skin-dark.min.css?v={{ FF_VERSION }}" rel="stylesheet" type="text/css" nonce="{{ JS_NONCE }}"> | ||||
|     {% endif %} | ||||
|     {% if 'light' == darkMode %} | ||||
|         <link href="v1/lib/adminlte/css/skins/skin-light.min.css?v={{ FF_VERSION }}" rel="stylesheet" type="text/css" nonce="{{ JS_NONCE }}"> | ||||
|     {% endif %} | ||||
|  | ||||
|     {# Firefly III customisations #} | ||||
|     <link href="v1/css/firefly.css?v={{ FF_VERSION }}" rel="stylesheet" type="text/css" nonce="{{ JS_NONCE }}"> | ||||
|   | ||||
| @@ -283,6 +283,19 @@ | ||||
|                                         <p class="text-info">{{ 'list_page_size_help'|_ }}</p> | ||||
|                                         {{ ExpandedForm.integer('listPageSize',listPageSize,{'label' : 'list_page_size_label'|_}) }} | ||||
|                                     </div> | ||||
|                                     <div class="preferences-box"> | ||||
|                                         <h3>{{ 'dark_mode_preference'|_ }}</h3> | ||||
|                                         <p class="text-info">{{ 'dark_mode_preference_help'|_ }}</p> | ||||
|                                         {% for mode in availableDarkModes %} | ||||
|                                         <div class="radio"> | ||||
|                                             <label> | ||||
|                                                 <input type="radio" name="darkMode" | ||||
|                                                        value="{{ mode }}" {% if darkMode == mode %} checked {% endif %}> | ||||
|                                                 {{ ('dark_mode_option_'~mode)|_ }} | ||||
|                                             </label> | ||||
|                                         </div> | ||||
|                                         {% endfor %} | ||||
|                                     </div> | ||||
|                                 </div> | ||||
|                             </div> | ||||
|                         </div> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user