Browse Source

Make time tooltips interactive (#23526)

Fixes https://codeberg.org/forgejo/forgejo/issues/511

<img width="379" alt="Screenshot 2023-03-16 at 20 23 10"
src="https://user-images.githubusercontent.com/115237/225731294-4c6e4f44-bdcc-4c8c-86e2-49f7c03b377d.png">
tags/v1.20.0-rc0
silverwind 1 year ago
parent
commit
272cf6a2a9
No account linked to committer's email address
2 changed files with 3 additions and 2 deletions
  1. 2
    2
      modules/timeutil/since.go
  2. 1
    0
      web_src/js/modules/tippy.js

+ 2
- 2
modules/timeutil/since.go View File

@@ -233,7 +233,7 @@ func TimeSince(then time.Time, lang translation.Locale) template.HTML {
}

func htmlTimeSince(then, now time.Time, lang translation.Locale) template.HTML {
return template.HTML(fmt.Sprintf(`<span class="time-since tooltip" data-content="%s">%s</span>`,
return template.HTML(fmt.Sprintf(`<span class="time-since tooltip" data-content="%s" data-tooltip-interactive="true">%s</span>`,
then.In(setting.DefaultUILocation).Format(GetTimeFormat(lang.Language())),
timeSince(then, now, lang)))
}
@@ -244,7 +244,7 @@ func TimeSinceUnix(then TimeStamp, lang translation.Locale) template.HTML {
}

func htmlTimeSinceUnix(then, now TimeStamp, lang translation.Locale) template.HTML {
return template.HTML(fmt.Sprintf(`<span class="time-since tooltip" data-content="%s">%s</span>`,
return template.HTML(fmt.Sprintf(`<span class="time-since tooltip" data-content="%s" data-tooltip-interactive="true">%s</span>`,
then.FormatInLocation(GetTimeFormat(lang.Language()), setting.DefaultUILocation),
timeSinceUnix(int64(then), int64(now), lang)))
}

+ 1
- 0
web_src/js/modules/tippy.js View File

@@ -33,6 +33,7 @@ export function initTooltip(el, props = {}) {
content,
delay: 100,
role: 'tooltip',
...(el.getAttribute('data-tooltip-interactive') === 'true' ? {interactive: true} : {}),
...props,
});
}

Loading…
Cancel
Save