mirror of
				https://github.com/Wonderfall/hugo-WonderMod.git
				synced 2025-10-30 19:35:26 +01:00 
			
		
		
		
	header: add Language switch (#54)
* language-switch: init * header: move logo-switches together
This commit is contained in:
		| @@ -7,17 +7,18 @@ | |||||||
|     max-width: calc(var(--nav-width) + var(--gap) * 2); |     max-width: calc(var(--nav-width) + var(--gap) * 2); | ||||||
|     margin-inline-start: auto; |     margin-inline-start: auto; | ||||||
|     margin-inline-end: auto; |     margin-inline-end: auto; | ||||||
|  |     line-height: var(--header-height); | ||||||
| } | } | ||||||
|  |  | ||||||
| .nav a { | .nav a { | ||||||
|     display: block; |     display: block; | ||||||
|     line-height: var(--header-height); |  | ||||||
| } | } | ||||||
|  |  | ||||||
| .logo, | .logo, | ||||||
| .menu { | .menu { | ||||||
|     display: flex; |     display: flex; | ||||||
|     margin: auto var(--gap); |     margin: auto var(--gap); | ||||||
|  |     flex-wrap: inherit; | ||||||
| } | } | ||||||
|  |  | ||||||
| .logo a { | .logo a { | ||||||
| @@ -40,7 +41,7 @@ | |||||||
|     user-select: none; |     user-select: none; | ||||||
| } | } | ||||||
|  |  | ||||||
| body.dark #moon{ | body.dark #moon { | ||||||
|     vertical-align: middle; |     vertical-align: middle; | ||||||
|     display: none; |     display: none; | ||||||
| } | } | ||||||
| @@ -68,3 +69,22 @@ body:not(.dark) #sun { | |||||||
|     font-weight: 500; |     font-weight: 500; | ||||||
|     border-bottom: 2px solid currentColor; |     border-bottom: 2px solid currentColor; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | .lang-switch ul { | ||||||
|  |     display: inline-flex; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .lang-switch a { | ||||||
|  |     font-size: 16px; | ||||||
|  |     font-weight: 500; | ||||||
|  |     margin: 0 8px; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .lang-switch li { | ||||||
|  |     display: inline-flex; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .logo-switches { | ||||||
|  |     display: inline-flex; | ||||||
|  |     flex-wrap: inherit; | ||||||
|  | } | ||||||
|   | |||||||
| @@ -10,6 +10,7 @@ | |||||||
|             document.body.classList.add('dark'); |             document.body.classList.add('dark'); | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  |  | ||||||
| </script> | </script> | ||||||
| {{- end }} | {{- end }} | ||||||
| {{- if (and (.Site.Params.disableThemeToggle) (eq .Site.Params.defaultTheme "auto")) }} | {{- if (and (.Site.Params.disableThemeToggle) (eq .Site.Params.defaultTheme "auto")) }} | ||||||
| @@ -17,6 +18,7 @@ | |||||||
|     if (window.matchMedia('(prefers-color-scheme: dark)').matches) { |     if (window.matchMedia('(prefers-color-scheme: dark)').matches) { | ||||||
|         document.body.classList.add('dark'); |         document.body.classList.add('dark'); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| </script> | </script> | ||||||
| {{- end }} | {{- end }} | ||||||
| <noscript> | <noscript> | ||||||
| @@ -25,11 +27,12 @@ | |||||||
|         .top-link { |         .top-link { | ||||||
|             display: none; |             display: none; | ||||||
|         } |         } | ||||||
|  |  | ||||||
|     </style> |     </style> | ||||||
| </noscript> | </noscript> | ||||||
| <header class="header"> | <header class="header"> | ||||||
|     <nav class="nav"> |     <nav class="nav"> | ||||||
|         <p class="logo"> |         <div class="logo"> | ||||||
|             <a href="{{ "" | absLangURL }}"> |             <a href="{{ "" | absLangURL }}"> | ||||||
|                 {{- if .Site.Params.label.icon }} |                 {{- if .Site.Params.label.icon }} | ||||||
|                 <img src="{{- .Site.Params.label.icon -}}" alt="logo" aria-label="logo" |                 <img src="{{- .Site.Params.label.icon -}}" alt="logo" aria-label="logo" | ||||||
| @@ -37,31 +40,55 @@ | |||||||
|                 {{- end -}} |                 {{- end -}} | ||||||
|                 {{- .Site.Params.label.text | default .Site.Title -}} |                 {{- .Site.Params.label.text | default .Site.Title -}} | ||||||
|             </a> |             </a> | ||||||
|             {{- if (and (not .Site.Params.disableThemeToggle) (not (or (eq .Site.Params.defaultTheme "light") (eq .Site.Params.defaultTheme "dark")))) }} |             <span class="logo-switches"> | ||||||
|             <span class="theme-toggle"> |                 {{- if (and (not .Site.Params.disableThemeToggle) (not (or (eq .Site.Params.defaultTheme "light") (eq .Site.Params.defaultTheme "dark")))) }} | ||||||
|                 <a id="theme-toggle"> |                 <span class="theme-toggle"> | ||||||
|                     <svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" |                     <a id="theme-toggle"> | ||||||
|                         fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" |                         <svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" | ||||||
|                         stroke-linejoin="round"> |                             fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" | ||||||
|                         <path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path> |                             stroke-linejoin="round"> | ||||||
|                     </svg> |                             <path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path> | ||||||
|                     <svg id="sun" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" |                         </svg> | ||||||
|                         fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" |                         <svg id="sun" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" | ||||||
|                         stroke-linejoin="round"> |                             fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" | ||||||
|                         <circle cx="12" cy="12" r="5"></circle> |                             stroke-linejoin="round"> | ||||||
|                         <line x1="12" y1="1" x2="12" y2="3"></line> |                             <circle cx="12" cy="12" r="5"></circle> | ||||||
|                         <line x1="12" y1="21" x2="12" y2="23"></line> |                             <line x1="12" y1="1" x2="12" y2="3"></line> | ||||||
|                         <line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line> |                             <line x1="12" y1="21" x2="12" y2="23"></line> | ||||||
|                         <line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line> |                             <line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line> | ||||||
|                         <line x1="1" y1="12" x2="3" y2="12"></line> |                             <line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line> | ||||||
|                         <line x1="21" y1="12" x2="23" y2="12"></line> |                             <line x1="1" y1="12" x2="3" y2="12"></line> | ||||||
|                         <line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line> |                             <line x1="21" y1="12" x2="23" y2="12"></line> | ||||||
|                         <line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line> |                             <line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line> | ||||||
|                     </svg> |                             <line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line> | ||||||
|                 </a> |                         </svg> | ||||||
|  |                     </a> | ||||||
|  |                 </span> | ||||||
|  |                 {{- end}} | ||||||
|  |                 {{ $lang := .Lang}} | ||||||
|  |                 {{- with $.Site.Home.AllTranslations }} | ||||||
|  |                 <span class="lang-switch"> | ||||||
|  |                     <span>|</span> | ||||||
|  |                     <ul> | ||||||
|  |                         {{- range . -}} | ||||||
|  |                         {{- if ne $lang .Lang }} | ||||||
|  |                         <li> | ||||||
|  |                             <a href="{{- .Permalink -}}" title="{{ .Language.LanguageName | default .Lang | humanize }}" | ||||||
|  |                                 aria-label="{{ .Language.LanguageName | default .Lang | humanize }}"> | ||||||
|  |                                 {{- if (and $.Site.Params.displayFullLangName (.Language.LanguageName)) }} | ||||||
|  |                                 {{- .Language.LanguageName | humanize -}} | ||||||
|  |                                 {{- else }} | ||||||
|  |                                 {{- .Lang | humanize -}} | ||||||
|  |                                 {{- end -}} | ||||||
|  |                             </a> | ||||||
|  |                         </li> | ||||||
|  |                         {{- end -}} | ||||||
|  |                         {{- end}} | ||||||
|  |                     </ul> | ||||||
|  |                 </span> | ||||||
|  |                 {{- end }} | ||||||
|             </span> |             </span> | ||||||
|             {{- end}} |         </div> | ||||||
|         </p> |  | ||||||
|         {{- $currentPage := . }} |         {{- $currentPage := . }} | ||||||
|         <ul class="menu" id="menu" onscroll="menu_on_scroll()"> |         <ul class="menu" id="menu" onscroll="menu_on_scroll()"> | ||||||
|             {{- range .Site.Menus.main }} |             {{- range .Site.Menus.main }} | ||||||
| @@ -75,7 +102,7 @@ | |||||||
|                     </span> |                     </span> | ||||||
|                 </a> |                 </a> | ||||||
|             </li> |             </li> | ||||||
|             {{- end }} |             {{- end -}} | ||||||
|         </ul> |         </ul> | ||||||
|     </nav> |     </nav> | ||||||
| </header> | </header> | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Aditya Telange
					Aditya Telange