19de52e0f4
Follow #21429 & #22861 Use `<gitea-locale-number>` instead of backend `PrettyNumber`. All old `PrettyNumber` related functions are removed. A lot of code could be simplified. And some functions haven't been used for long time (dead code), so they are also removed by the way (eg: `SplitStringAtRuneN`, `Dedent`) This PR only tries to improve the `PrettyNumber` rendering problem, it doesn't touch the "plural" problem. Screenshot: ![image](https://user-images.githubusercontent.com/2114189/229290804-1f63db65-1e34-4a54-84ba-e00b44331b17.png) ![image](https://user-images.githubusercontent.com/2114189/229290911-c88dea00-b11d-48dd-accb-9f52edd73ce4.png)
17 lines
695 B
JavaScript
17 lines
695 B
JavaScript
// Convert an absolute or relative URL to an absolute URL with the current origin
|
|
window.customElements.define('gitea-origin-url', class extends HTMLElement {
|
|
connectedCallback() {
|
|
const urlStr = this.getAttribute('data-url');
|
|
try {
|
|
// only process absolute HTTP/HTTPS URL or relative URLs ('/xxx' or '//host/xxx')
|
|
if (urlStr.startsWith('http://') || urlStr.startsWith('https://') || urlStr.startsWith('/')) {
|
|
const url = new URL(urlStr, window.origin);
|
|
url.protocol = window.location.protocol;
|
|
url.host = window.location.host;
|
|
this.textContent = url.toString();
|
|
return;
|
|
}
|
|
} catch {}
|
|
this.textContent = urlStr;
|
|
}
|
|
});
|