diff options
author | wxiaoguang <wxiaoguang@gmail.com> | 2023-08-18 17:27:11 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-18 17:27:11 +0800 |
commit | e5b3f53d36b69ce73cf2870cddd13cd15a799424 (patch) | |
tree | 15e97880f368e10b92ae28e4130a7b0a2e4902dd | |
parent | 445dbda2768500d2eb08382d2adf0798d67c1a6e (diff) | |
download | gitea-e5b3f53d36b69ce73cf2870cddd13cd15a799424.tar.gz gitea-e5b3f53d36b69ce73cf2870cddd13cd15a799424.zip |
Add minimum polyfill to support "relative-time-element" in PaleMoon (#26575)
Close #26525
-rw-r--r-- | web_src/js/webcomponents/polyfill.js | 17 | ||||
-rw-r--r-- | web_src/js/webcomponents/webcomponents.js | 2 |
2 files changed, 19 insertions, 0 deletions
diff --git a/web_src/js/webcomponents/polyfill.js b/web_src/js/webcomponents/polyfill.js new file mode 100644 index 0000000000..88c7276881 --- /dev/null +++ b/web_src/js/webcomponents/polyfill.js @@ -0,0 +1,17 @@ +try { + // some browsers like PaleMoon don't have full support for Intl.NumberFormat, so do the minimum polyfill to support "relative-time-element" + // https://repo.palemoon.org/MoonchildProductions/UXP/issues/2289 + new Intl.NumberFormat('en', {style: 'unit', unit: 'minute'}).format(1); +} catch { + const intlNumberFormat = Intl.NumberFormat; + Intl.NumberFormat = function(locales, options) { + if (options.style === 'unit') { + return { + format(value) { + return ` ${value} ${options.unit}`; + } + }; + } + return intlNumberFormat(locales, options); + }; +} diff --git a/web_src/js/webcomponents/webcomponents.js b/web_src/js/webcomponents/webcomponents.js index 123607282b..b17a4a832f 100644 --- a/web_src/js/webcomponents/webcomponents.js +++ b/web_src/js/webcomponents/webcomponents.js @@ -1,3 +1,5 @@ import '@webcomponents/custom-elements'; // polyfill for some browsers like Pale Moon +import './polyfill.js'; + import '@github/relative-time-element'; import './GiteaOriginUrl.js'; |