0
Fork 0
mirror of https://codeberg.org/forgejo/forgejo.git synced 2024-12-25 17:04:12 -05:00
forgejo/web_src
wxiaoguang 389e83f7eb
Improve <SvgIcon> to make it output svg node and optimize performance (#23570)
Before, the Vue `<SvgIcon>` always outputs DOM nodes like: 

```html
<span class="outer-class">
    <svg class="class-name-defined" ...></svg>
</span>
```

The `span` is redundant and I guess such layout and the inconsistent
`class/class-name` attributes would cause bugs sooner or later.

This PR makes the `<SvgIcon>` clear, and it's faster than before,
because it doesn't need to parse the whole SVG string.

Before: 

<details>

![image](https://user-images.githubusercontent.com/2114189/226156474-ce2c57cd-b869-486a-b75b-1eebdac8cdf7.png)

</details>

After:

![image](https://user-images.githubusercontent.com/2114189/226155774-108f49ed-7512-40c3-94a2-a6e8da18063d.png)

---------

Co-authored-by: silverwind <me@silverwind.io>
2023-03-23 11:24:16 +08:00
..
css Improve <SvgIcon> to make it output svg node and optimize performance (#23570) 2023-03-23 11:24:16 +08:00
fomantic Fix Fomantic UI's touchstart fastclick, always use click for click events (#23065) 2023-02-27 22:43:04 +08:00
js Improve <SvgIcon> to make it output svg node and optimize performance (#23570) 2023-03-23 11:24:16 +08:00
svg Convert <div class="button"> to <button class="button"> (#23337) 2023-03-14 11:34:09 +08:00