mirror of
1
Fork 0
forgejo/templates/projects
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
..
list.tmpl Use `project.IconName` instead of repeated unreadable `if-else` chains (#23538) 2023-03-19 14:44:48 +02:00
new.tmpl Redirect to project again after editing it (#23326) 2023-03-09 08:38:29 -06:00
view.tmpl Improve `<SvgIcon>` to make it output `svg` node and optimize performance (#23570) 2023-03-23 11:24:16 +08:00