11<script lang =" ts" >
2- import { AUTO_MODE , DARK_MODE , LIGHT_MODE } from " @constants/constants.ts" ;
2+ import { SYSTEM_MODE , DARK_MODE , LIGHT_MODE } from " @constants/constants.ts" ;
33import I18nKey from " @i18n/i18nKey" ;
44import { i18n } from " @i18n/translation" ;
55import Icon from " @iconify/svelte" ;
@@ -11,8 +11,8 @@ import {
1111import { onMount } from " svelte" ;
1212import type { LIGHT_DARK_MODE } from " @/types/config.ts" ;
1313
14- const seq: LIGHT_DARK_MODE [] = [LIGHT_MODE , DARK_MODE , AUTO_MODE ];
15- let mode: LIGHT_DARK_MODE = $state (AUTO_MODE );
14+ const seq: LIGHT_DARK_MODE [] = [LIGHT_MODE , DARK_MODE , SYSTEM_MODE ];
15+ let mode: LIGHT_DARK_MODE = $state (getStoredTheme () );
1616
1717onMount (() => {
1818 mode = getStoredTheme ();
@@ -59,14 +59,14 @@ function hidePanel() {
5959
6060<!-- z-50 make the panel higher than other float panels -->
6161<div class ="relative z-50" role ="menu" tabindex ="-1" onmouseleave ={hidePanel }>
62- <button aria-label ="Light/Dark Mode" role ="menuitem" class ="relative btn-plain scale-animation rounded-lg h-11 w-11 active:scale-90" id ="scheme-switch" onclick ={toggleScheme } onmouseenter ={showPanel }>
62+ <button aria-label ="Light/Dark/System Mode" role ="menuitem" class ="relative btn-plain scale-animation rounded-lg h-11 w-11 active:scale-90" id ="scheme-switch" onclick ={toggleScheme } onmouseenter ={showPanel }>
6363 <div class ="absolute" class:opacity- 0={mode !== LIGHT _MODE}>
6464 <Icon icon =" material-symbols:wb-sunny-outline-rounded" class =" text-[1.25rem]" ></Icon >
6565 </div >
6666 <div class ="absolute" class:opacity- 0={mode !== DARK _MODE}>
6767 <Icon icon =" material-symbols:dark-mode-outline-rounded" class =" text-[1.25rem]" ></Icon >
6868 </div >
69- <div class ="absolute" class:opacity- 0={mode !== AUTO _MODE }>
69+ <div class ="absolute" class:opacity- 0={mode !== SYSTEM _MODE }>
7070 <Icon icon =" material-symbols:radio-button-partial-outline" class =" text-[1.25rem]" ></Icon >
7171 </div >
7272 </button >
@@ -78,21 +78,21 @@ function hidePanel() {
7878 onclick ={() => switchScheme (LIGHT_MODE )}
7979 >
8080 <Icon icon =" material-symbols:wb-sunny-outline-rounded" class =" text-[1.25rem] mr-3" ></Icon >
81- { i18n (I18nKey .lightMode )}
81+ < span data-i 18n -key ={ I18nKey . lightMode }>{ i18n (I18nKey .lightMode )}</ span >
8282 </button >
8383 <button class =" flex transition whitespace-nowrap items-center !justify-start w-full btn-plain scale-animation rounded-lg h-9 px-3 font-medium active:scale-95 mb-0.5"
8484 class:current-theme-btn ={mode === DARK_MODE }
8585 onclick ={() => switchScheme (DARK_MODE )}
8686 >
8787 <Icon icon =" material-symbols:dark-mode-outline-rounded" class =" text-[1.25rem] mr-3" ></Icon >
88- { i18n (I18nKey .darkMode )}
88+ < span data-i 18n -key ={ I18nKey . darkMode }>{ i18n (I18nKey .darkMode )}</ span >
8989 </button >
9090 <button class =" flex transition whitespace-nowrap items-center !justify-start w-full btn-plain scale-animation rounded-lg h-9 px-3 font-medium active:scale-95"
91- class:current-theme-btn ={mode === AUTO_MODE }
92- onclick ={() => switchScheme (AUTO_MODE )}
91+ class:current-theme-btn ={mode === SYSTEM_MODE }
92+ onclick ={() => switchScheme (SYSTEM_MODE )}
9393 >
9494 <Icon icon =" material-symbols:radio-button-partial-outline" class =" text-[1.25rem] mr-3" ></Icon >
95- { i18n (I18nKey .systemMode )}
95+ < span data-i 18n -key ={ I18nKey . systemMode }>{ i18n (I18nKey .systemMode )}</ span >
9696 </button >
9797 </div >
9898 </div >
0 commit comments