mirror of
				https://github.com/go-gitea/gitea
				synced 2025-10-31 11:28:24 +00:00 
			
		
		
		
	Set user's 24h preference from their current OS locale (#29651)
Fixes: https://github.com/go-gitea/gitea/issues/28371 Fixed by using a JS solution that formats according to `lang`, but alters the 24h format setting as per user's locale. This will work for all tooltips: <img width="243" alt="Screenshot 2024-03-07 at 23 03 35" src="https://github.com/go-gitea/gitea/assets/115237/6d16c71c-6786-4eda-8cdc-50ec68ba62c6"> <img width="250" alt="Screenshot 2024-03-07 at 23 03 17" src="https://github.com/go-gitea/gitea/assets/115237/4e26bbb7-12df-4b81-bd37-14705e87e8f7"> <img width="310" alt="Screenshot 2024-03-07 at 23 14 34" src="https://github.com/go-gitea/gitea/assets/115237/1ef599f0-6401-4e19-b1da-59cdfc09b0f6"> I think there is only one other place in the UI where we render such absolute dates, which is in the actions view and which I've also fixed: <img width="275" alt="Screenshot 2024-03-07 at 23 04 00" src="https://github.com/go-gitea/gitea/assets/115237/df0fbe1f-96ee-4338-ab5e-2b10e215005d">
This commit is contained in:
		| @@ -1,5 +1,6 @@ | ||||
| import tippy, {followCursor} from 'tippy.js'; | ||||
| import {isDocumentFragmentOrElementNode} from '../utils/dom.js'; | ||||
| import {formatDatetime} from '../utils/time.js'; | ||||
|  | ||||
| const visibleInstances = new Set(); | ||||
|  | ||||
| @@ -93,8 +94,15 @@ function attachTooltip(target, content = null) { | ||||
| } | ||||
|  | ||||
| function switchTitleToTooltip(target) { | ||||
|   const title = target.getAttribute('title'); | ||||
|   let title = target.getAttribute('title'); | ||||
|   if (title) { | ||||
|     // apply custom formatting to relative-time's tooltips | ||||
|     if (target.tagName.toLowerCase() === 'relative-time') { | ||||
|       const datetime = target.getAttribute('datetime'); | ||||
|       if (datetime) { | ||||
|         title = formatDatetime(new Date(datetime)); | ||||
|       } | ||||
|     } | ||||
|     target.setAttribute('data-tooltip-content', title); | ||||
|     target.setAttribute('aria-label', title); | ||||
|     // keep the attribute, in case there are some other "[title]" selectors | ||||
|   | ||||
		Reference in New Issue
	
	Block a user