forgejo_backup/web_src/js/webcomponents
Benedikt Straub 9b6e3b61cf Make relative-time a self-maintaining custom element (#8134)
Fixes #8124
Replaces #8130

Use a custom element for relative-time. Thanks to @Beowulf for suggesting this approach.

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8134
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Reviewed-by: Beowulf <beowulf@beocode.eu>
Co-authored-by: Benedikt Straub <benedikt-straub@web.de>
Co-committed-by: Benedikt Straub <benedikt-straub@web.de>
2025-06-10 20:12:21 +02:00
..
absolute-date.js [PORT] Fix toAbsoluteLocaleDate and add more tests (gitea#32387) 2024-11-03 15:55:05 +01:00
absolute-date.test.js fix(tests): prevent frontend test dependency on system locale (#6649) 2025-01-22 03:56:36 +00:00
i18n.js Replace the 'relative-time' element scripting with custom, translatable rewrite (#6154) 2025-05-03 14:11:01 +00:00
index.js Replace the 'relative-time' element scripting with custom, translatable rewrite (#6154) 2025-05-03 14:11:01 +00:00
origin-url.js Add <overflow-menu>, rename webcomponents (#29400) 2024-03-20 08:46:29 +01:00
origin-url.test.js [PORT] Fix a number of typescript issues (gitea#32308) 2024-11-04 09:15:06 +01:00
overflow-menu.js Add typescript 2024-10-29 18:15:09 +01:00
polyfills.js Enforce trailing comma in JS on multiline (#30002) 2024-03-26 19:04:27 +01:00
README.md Add <overflow-menu>, rename webcomponents (#29400) 2024-03-20 08:46:29 +01:00
relative-time.js Make relative-time a self-maintaining custom element (#8134) 2025-06-10 20:12:21 +02:00
relative-time.test.js Make relative-time a self-maintaining custom element (#8134) 2025-06-10 20:12:21 +02:00

Web Components

This webcomponents directory contains the source code for the web components used in the Gitea Web UI.

https://developer.mozilla.org/en-US/docs/Web/Web_Components

Guidelines

  • These components are loaded in <head> (before DOM body) in a separate entry point, they need to be lightweight to not affect the page loading time too much.
  • Do not import svg.js into a web component because that file is currently not tree-shakeable, import svg files individually insteat.
  • All our components must be added to webpack.config.js so they work correctly in Vue.