diff options
author | silverwind <me@silverwind.io> | 2024-03-15 03:05:31 +0100 |
---|---|---|
committer | Earl Warren <contact@earl-warren.org> | 2024-03-20 08:46:29 +0100 |
commit | 5a16c9d9c0fd25b25d5eaf1b0ab00f1c113e6b32 (patch) | |
tree | 5784863125650fd128377e1e73193d2fe71c8435 /webpack.config.js | |
parent | Update JS dependences (#29797) (diff) | |
download | forgejo-5a16c9d9c0fd25b25d5eaf1b0ab00f1c113e6b32.tar.xz forgejo-5a16c9d9c0fd25b25d5eaf1b0ab00f1c113e6b32.zip |
Add `<overflow-menu>`, rename webcomponents (#29400)
1. Add `<overflow-menu>` web component
2. Rename `<gitea-origin-url>` to `<origin-url>` and make filenames
match.
<img width="439" alt="image"
src="https://github.com/go-gitea/gitea/assets/115237/2fbe4ca4-110b-4ad2-8e17-c1e116ccbd74">
<img width="444" alt="Screenshot 2024-03-02 at 21 36 52"
src="https://github.com/go-gitea/gitea/assets/115237/aa8f786e-dc8c-4030-b12d-7cfb74bdfd6e">
<img width="537" alt="Screenshot 2024-03-03 at 03 05 06"
src="https://github.com/go-gitea/gitea/assets/115237/fddd50aa-adf1-4b4b-bd7f-caf30c7b2245">
![image](https://github.com/go-gitea/gitea/assets/115237/0f43770c-834c-4a05-8e3d-d30eb8653786)
![image](https://github.com/go-gitea/gitea/assets/115237/4b4c6bd7-843f-4f49-808f-6b3aed5e9f9a)
TODO:
- [x] Check if removal of `requestAnimationFrame` is possible to avoid
flash of content. Likely needs a `MutationObserver`.
- [x] Hide tippy when button is removed from DOM.
- [x] ~~Implement right-aligned items
(https://github.com/go-gitea/gitea/pull/28976)~~. Not going to do it.
- [x] Clean up CSS so base element has no background and add background
via tailwind instead.
- [x] Use it for org and user page.
---------
Co-authored-by: Giteabot <teabot@gitea.io>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
(cherry picked from commit 256a1eeb9a67b18c62a10f5909b584b7b220848a)
Conflicts:
options/locale/locale_en-US.ini
templates/package/content/cargo.tmpl
templates/package/content/cran.tmpl
templates/package/content/debian.tmpl
templates/package/content/maven.tmpl
Diffstat (limited to 'webpack.config.js')
-rw-r--r-- | webpack.config.js | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/webpack.config.js b/webpack.config.js index a053771d63..883de8bef1 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -43,6 +43,18 @@ if ('ENABLE_SOURCEMAP' in env) { sourceMaps = isProduction ? 'reduced' : 'true'; } +// define which web components we use for Vue to not interpret them as Vue components +const webComponents = new Set([ + // our own, in web_src/js/webcomponents + 'overflow-menu', + 'origin-url', + 'absolute-date', + // from dependencies + 'markdown-toolbar', + 'relative-time', + 'text-expander', +]); + const filterCssImport = (url, ...args) => { const cssFile = args[1] || args[0]; // resourcePath is 2nd argument for url and 3rd for import const importedFile = url.replace(/[?#].+/, '').toLowerCase(); @@ -72,7 +84,7 @@ export default { fileURLToPath(new URL('web_src/css/index.css', import.meta.url)), ], webcomponents: [ - fileURLToPath(new URL('web_src/js/webcomponents/webcomponents.js', import.meta.url)), + fileURLToPath(new URL('web_src/js/webcomponents/index.js', import.meta.url)), ], forgejoswagger: [ // Forgejo swagger is OpenAPI 3.0.0 and has specific parameters fileURLToPath(new URL('web_src/js/standalone/forgejo-swagger.js', import.meta.url)), @@ -125,6 +137,11 @@ export default { test: /\.vue$/i, exclude: /node_modules/, loader: 'vue-loader', + options: { + compilerOptions: { + isCustomElement: (tag) => webComponents.has(tag), + }, + }, }, { test: /\.js$/i, |