summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsilverwind <me@silverwind.io>2022-09-12 11:08:46 +0200
committerGitHub <noreply@github.com>2022-09-12 17:08:46 +0800
commitafdab9d8d495590f215f9a2a54d925ed72ad75d0 (patch)
treedcb46abb69f22c1a85ba4d415c544f084e00f1ba
parentfe73246cf93628cfc7abf096fb540b2f532b4507 (diff)
downloadgitea-afdab9d8d495590f215f9a2a54d925ed72ad75d0.tar.gz
gitea-afdab9d8d495590f215f9a2a54d925ed72ad75d0.zip
Remove fomantic image module (#21145)
Remove this small, but unnecessary [module](https://fomantic-ui.com/elements/image.html) and use `img` selector over previous `.image`. Did a few tests, could not notice any visual regression. Co-authored-by: 6543 <6543@obermui.de> Co-authored-by: Lauris BH <lauris@nix.lv>
-rw-r--r--modules/templates/helper.go6
-rw-r--r--templates/base/head_navbar.tmpl2
-rw-r--r--templates/repo/issue/view_content/attachments.tmpl8
-rw-r--r--templates/repo/release/list.tmpl2
-rw-r--r--templates/repo/settings/tags.tmpl4
-rw-r--r--templates/status/404.tmpl2
-rw-r--r--templates/status/500.tmpl2
-rw-r--r--tests/e2e/example.test.e2e.js2
-rw-r--r--tests/e2e/utils_e2e.js4
-rw-r--r--web_src/fomantic/build/semantic.css342
-rw-r--r--web_src/fomantic/semantic.json1
-rw-r--r--web_src/less/_base.less15
-rw-r--r--web_src/less/_explore.less2
-rw-r--r--web_src/less/_repository.less14
-rw-r--r--web_src/less/_review.less6
-rw-r--r--web_src/less/features/gitgraph.less2
16 files changed, 32 insertions, 382 deletions
diff --git a/modules/templates/helper.go b/modules/templates/helper.go
index 48b62403a0..fd7018a39d 100644
--- a/modules/templates/helper.go
+++ b/modules/templates/helper.go
@@ -631,7 +631,7 @@ func SVG(icon string, others ...interface{}) template.HTML {
// Avatar renders user avatars. args: user, size (int), class (string)
func Avatar(item interface{}, others ...interface{}) template.HTML {
- size, class := parseOthers(avatars.DefaultAvatarPixelSize, "ui avatar image vm", others...)
+ size, class := parseOthers(avatars.DefaultAvatarPixelSize, "ui avatar vm", others...)
switch t := item.(type) {
case *user_model.User:
@@ -662,7 +662,7 @@ func AvatarByAction(action *activities_model.Action, others ...interface{}) temp
// RepoAvatar renders repo avatars. args: repo, size(int), class (string)
func RepoAvatar(repo *repo_model.Repository, others ...interface{}) template.HTML {
- size, class := parseOthers(avatars.DefaultAvatarPixelSize, "ui avatar image", others...)
+ size, class := parseOthers(avatars.DefaultAvatarPixelSize, "ui avatar", others...)
src := repo.RelAvatarLink()
if src != "" {
@@ -673,7 +673,7 @@ func RepoAvatar(repo *repo_model.Repository, others ...interface{}) template.HTM
// AvatarByEmail renders avatars by email address. args: email, name, size (int), class (string)
func AvatarByEmail(email, name string, others ...interface{}) template.HTML {
- size, class := parseOthers(avatars.DefaultAvatarPixelSize, "ui avatar image", others...)
+ size, class := parseOthers(avatars.DefaultAvatarPixelSize, "ui avatar", others...)
src := avatars.GenerateEmailAvatarFastLink(email, size*setting.Avatar.RenderedSizeFactor)
if src != "" {
diff --git a/templates/base/head_navbar.tmpl b/templates/base/head_navbar.tmpl
index 459beb5515..8cd3b0a4ae 100644
--- a/templates/base/head_navbar.tmpl
+++ b/templates/base/head_navbar.tmpl
@@ -5,7 +5,7 @@
{{end}}
<div class="item brand" style="justify-content: space-between;">
<a href="{{AppSubUrl}}/" aria-label="{{if .IsSigned}}{{.locale.Tr "dashboard"}}{{else}}{{.locale.Tr "home"}}{{end}}">
- <img class="ui mini image" width="30" height="30" src="{{AssetUrlPrefix}}/img/logo.svg" alt="{{.locale.Tr "logo"}}" aria-hidden="true">
+ <img width="30" height="30" src="{{AssetUrlPrefix}}/img/logo.svg" alt="{{.locale.Tr "logo"}}" aria-hidden="true">
</a>
{{if .IsSigned}}
<a href="{{AppSubUrl}}/notifications" class="tooltip mobile-only" data-content='{{.locale.Tr "notifications"}}'>
diff --git a/templates/repo/issue/view_content/attachments.tmpl b/templates/repo/issue/view_content/attachments.tmpl
index 150779531d..86696ec62b 100644
--- a/templates/repo/issue/view_content/attachments.tmpl
+++ b/templates/repo/issue/view_content/attachments.tmpl
@@ -11,9 +11,9 @@
{{if not (containGeneric $.Content .UUID)}}
{{$hasThumbnails = true}}
{{end}}
- <span class="ui image">{{svg "octicon-file"}}</span>
+ {{svg "octicon-file"}}
{{else}}
- <span class="ui image">{{svg "octicon-desktop-download"}}</span>
+ {{svg "octicon-desktop-download"}}
{{end}}
<span><strong>{{.Name}}</strong></span>
</a>
@@ -26,12 +26,12 @@
{{if $hasThumbnails}}
<div class="ui clearing divider"></div>
- <div class="ui small images thumbnails">
+ <div class="ui small thumbnails">
{{- range .Attachments -}}
{{if FilenameIsImage .Name}}
{{if not (containGeneric $.Content .UUID)}}
<a target="_blank" rel="noopener noreferrer" href="{{.DownloadURL}}">
- <img class="ui image" src="{{.DownloadURL}}" title='{{$.ctx.locale.Tr "repo.issues.attachment.open_tab" .Name}}'>
+ <img src="{{.DownloadURL}}" title='{{$.ctx.locale.Tr "repo.issues.attachment.open_tab" .Name}}'>
</a>
{{end}}
{{end}}
diff --git a/templates/repo/release/list.tmpl b/templates/repo/release/list.tmpl
index 1f04743eaf..d87d51f26c 100644
--- a/templates/repo/release/list.tmpl
+++ b/templates/repo/release/list.tmpl
@@ -168,7 +168,7 @@
</span>
</span>
<a target="_blank" rel="noopener noreferrer" href="{{.DownloadURL}}">
- <strong><span class="ui image" title='{{.Name}}'>{{svg "octicon-package" 16 "mr-2"}}</span>{{.Name}}</strong>
+ <strong>{{svg "octicon-package" 16 "mr-2"}}{{.Name}}</strong>
</a>
</li>
{{end}}
diff --git a/templates/repo/settings/tags.tmpl b/templates/repo/settings/tags.tmpl
index 1c7e915c66..56ce278e58 100644
--- a/templates/repo/settings/tags.tmpl
+++ b/templates/repo/settings/tags.tmpl
@@ -94,14 +94,14 @@
{{$userIDs := .AllowlistUserIDs}}
{{range $.Users}}
{{if contain $userIDs .ID}}
- <a class="ui basic image label" href="{{.HomeLink}}">{{avatar . 26}} {{.GetDisplayName}}</a>
+ <a class="ui basic label" href="{{.HomeLink}}">{{avatar . 26}} {{.GetDisplayName}}</a>
{{end}}
{{end}}
{{if $.Owner.IsOrganization}}
{{$teamIDs := .AllowlistTeamIDs}}
{{range $.Teams}}
{{if contain $teamIDs .ID}}
- <a class="ui basic image label" href="{{$.Owner.OrganisationLink}}/teams/{{PathEscape .LowerName}}">{{.Name}}</a>
+ <a class="ui basic label" href="{{$.Owner.OrganisationLink}}/teams/{{PathEscape .LowerName}}">{{.Name}}</a>
{{end}}
{{end}}
{{end}}
diff --git a/templates/status/404.tmpl b/templates/status/404.tmpl
index 571124016b..8dd4cfb8ae 100644
--- a/templates/status/404.tmpl
+++ b/templates/status/404.tmpl
@@ -2,7 +2,7 @@
<div class="page-content ui container center full-screen-width {{if .IsRepo}}repository{{end}}">
{{if .IsRepo}}{{template "repo/header" .}}{{end}}
<div class="ui container center">
- <p style="margin-top: 100px"><img class="ui centered image" src="{{AssetUrlPrefix}}/img/404.png" alt="404"/></p>
+ <p style="margin-top: 100px"><img src="{{AssetUrlPrefix}}/img/404.png" alt="404"/></p>
<div class="ui divider"></div>
<br>
<p>{{.locale.Tr "error404" | Safe}}
diff --git a/templates/status/500.tmpl b/templates/status/500.tmpl
index 4aaf8f50f0..cdedd947a0 100644
--- a/templates/status/500.tmpl
+++ b/templates/status/500.tmpl
@@ -1,6 +1,6 @@
{{template "base/head" .}}
<div class="page-content ui container full-screen-width center">
- <p style="margin-top: 100px"><img class="ui centered image" src="{{AssetUrlPrefix}}/img/500.png" alt="500"/></p>
+ <p style="margin-top: 100px"><img src="{{AssetUrlPrefix}}/img/500.png" alt="500"/></p>
<div class="ui divider"></div>
<br>
{{if .ErrorMsg}}
diff --git a/tests/e2e/example.test.e2e.js b/tests/e2e/example.test.e2e.js
index bd19ceb8fc..b0aa2b7a65 100644
--- a/tests/e2e/example.test.e2e.js
+++ b/tests/e2e/example.test.e2e.js
@@ -23,7 +23,7 @@ test('Test Register Form', async ({page}, workerInfo) => {
await page.click('form button.ui.green.button:visible');
// Make sure we routed to the home page. Else login failed.
await expect(page.url()).toBe(`${workerInfo.project.use.baseURL}/`);
- await expect(page.locator('.dashboard-navbar span>img.ui.avatar.image')).toBeVisible();
+ await expect(page.locator('.dashboard-navbar span>img.ui.avatar')).toBeVisible();
await expect(page.locator('.ui.positive.message.flash-success')).toHaveText('Account was successfully created.');
save_visual(page);
diff --git a/tests/e2e/utils_e2e.js b/tests/e2e/utils_e2e.js
index b5b9ce2751..50806f851f 100644
--- a/tests/e2e/utils_e2e.js
+++ b/tests/e2e/utils_e2e.js
@@ -52,8 +52,8 @@ export async function save_visual(page) {
fullPage: true,
timeout: 20000,
mask: [
- page.locator('.dashboard-navbar span>img.ui.avatar.image'),
- page.locator('.ui.dropdown.jump.item.tooltip span>img.ui.avatar.image'),
+ page.locator('.dashboard-navbar span>img.ui.avatar'),
+ page.locator('.ui.dropdown.jump.item.tooltip span>img.ui.avatar'),
],
});
}
diff --git a/web_src/fomantic/build/semantic.css b/web_src/fomantic/build/semantic.css
index 6ea20c3a8c..dd6637981b 100644
--- a/web_src/fomantic/build/semantic.css
+++ b/web_src/fomantic/build/semantic.css
@@ -24348,348 +24348,6 @@ i.icon.youtube.play:before {
Site Overrides
*******************************/
/*!
- * # Fomantic-UI - Image
- * http://github.com/fomantic/Fomantic-UI/
- *
- *
- * Released under the MIT license
- * http://opensource.org/licenses/MIT
- *
- */
-
-/*******************************
- Image
-*******************************/
-
-.ui.image {
- position: relative;
- display: inline-block;
- vertical-align: middle;
- max-width: 100%;
- background-color: transparent;
-}
-
-img.ui.image {
- display: block;
-}
-
-.ui.image svg,
-.ui.image img {
- display: block;
- max-width: 100%;
- height: auto;
-}
-
-/*******************************
- States
-*******************************/
-
-.ui.hidden.images,
-.ui.ui.hidden.image {
- display: none;
-}
-
-.ui.hidden.transition.images,
-.ui.hidden.transition.image {
- display: block;
- visibility: hidden;
-}
-
-.ui.images > .hidden.transition {
- display: inline-block;
- visibility: hidden;
-}
-
-.ui.disabled.images,
-.ui.disabled.image {
- cursor: default;
- opacity: var(--opacity-disabled);
-}
-
-/*******************************
- Variations
-*******************************/
-
-/*--------------
- Inline
- ---------------*/
-
-.ui.inline.image,
-.ui.inline.image svg,
-.ui.inline.image img {
- display: inline-block;
-}
-
-/*------------------
- Vertical Aligned
- -------------------*/
-
-.ui.top.aligned.image,
-.ui.top.aligned.image svg,
-.ui.top.aligned.image img {
- display: inline-block;
- vertical-align: top;
-}
-
-.ui.middle.aligned.image,
-.ui.middle.aligned.image svg,
-.ui.middle.aligned.image img {
- display: inline-block;
- vertical-align: middle;
-}
-
-.ui.bottom.aligned.image,
-.ui.bottom.aligned.image svg,
-.ui.bottom.aligned.image img {
- display: inline-block;
- vertical-align: bottom;
-}
-
-.ui.top.aligned.images .image,
-.ui.images .ui.top.aligned.image {
- align-self: flex-start;
-}
-
-.ui.middle.aligned.images .image,
-.ui.images .ui.middle.aligned.image {
- align-self: center;
-}
-
-.ui.bottom.aligned.images .image,
-.ui.images .ui.bottom.aligned.image {
- align-self: flex-end;
-}
-
-/*--------------
- Rounded
- ---------------*/
-
-.ui.rounded.images .image,
-.ui.rounded.image,
-.ui.rounded.images .image > *,
-.ui.rounded.image > * {
- border-radius: 0.3125em;
-}
-
-/*--------------
- Bordered
- ---------------*/
-
-.ui.bordered.images .image,
-.ui.bordered.images img,
-.ui.bordered.images svg,
-.ui.bordered.image img,
-.ui.bordered.image svg,
-img.ui.bordered.image {
- border: 1px solid rgba(0, 0, 0, 0.1);
-}
-
-/*--------------
- Circular
- ---------------*/
-
-.ui.circular.images,
-.ui.circular.image {
- overflow: hidden;
-}
-
-.ui.circular.images .image,
-.ui.circular.image,
-.ui.circular.images .image > *,
-.ui.circular.image > * {
- border-radius: 500rem;
-}
-
-/*--------------
- Fluid
- ---------------*/
-
-.ui.fluid.images,
-.ui.fluid.image,
-.ui.fluid.images img,
-.ui.fluid.images svg,
-.ui.fluid.image svg,
-.ui.fluid.image img {
- display: block;
- width: 100%;
- height: auto;
-}
-
-/*--------------
- Avatar
- ---------------*/
-
-.ui.avatar.images .image,
-.ui.avatar.images img,
-.ui.avatar.images svg,
-.ui.avatar.image img,
-.ui.avatar.image svg,
-.ui.avatar.image {
- margin-right: 0.25em;
- display: inline-block;
- width: 2em;
- height: 2em;
- border-radius: 500rem;
-}
-
-/*-------------------
- Spaced
- --------------------*/
-
-.ui.spaced.image {
- display: inline-block !important;
- margin-left: 0.5em;
- margin-right: 0.5em;
-}
-
-.ui[class*="left spaced"].image {
- margin-left: 0.5em;
- margin-right: 0;
-}
-
-.ui[class*="right spaced"].image {
- margin-left: 0;
- margin-right: 0.5em;
-}
-
-/*-------------------
- Floated
- --------------------*/
-
-.ui.floated.image,
-.ui.floated.images {
- float: left;
- margin-right: 1em;
- margin-bottom: 1em;
-}
-
-.ui.right.floated.images,
-.ui.right.floated.image {
- float: right;
- margin-right: 0;
- margin-bottom: 1em;
- margin-left: 1em;
-}
-
-.ui.floated.images:last-child,
-.ui.floated.image:last-child {
- margin-bottom: 0;
-}
-
-.ui.centered.image {
- display: block;
- margin-left: auto;
- margin-right: auto;
-}
-
-.ui.centered.images {
- display: flex;
- flex-direction: row;
- flex-wrap: wrap;
- align-items: stretch;
- justify-content: center;
-}
-
-/*--------------
- Sizes
----------------*/
-
-.ui.medium.images .image,
-.ui.medium.images img,
-.ui.medium.images svg,
-.ui.medium.image {
- width: 300px;
- height: auto;
- font-size: 1rem;
-}
-
-.ui.mini.images .image,
-.ui.mini.images img,
-.ui.mini.images svg,
-.ui.mini.image {
- width: 35px;
- height: auto;
- font-size: 0.78571429rem;
-}
-
-.ui.tiny.images .image,
-.ui.tiny.images img,
-.ui.tiny.images svg,
-.ui.tiny.image {
- width: 80px;
- height: auto;
- font-size: 0.85714286rem;
-}
-
-.ui.small.images .image,
-.ui.small.images img,
-.ui.small.images svg,
-.ui.small.image {
- width: 150px;
- height: auto;
- font-size: 0.92857143rem;
-}
-
-.ui.large.images .image,
-.ui.large.images img,
-.ui.large.images svg,
-.ui.large.image {
- width: 450px;
- height: auto;
- font-size: 1.14285714rem;
-}
-
-.ui.big.images .image,
-.ui.big.images img,
-.ui.big.images svg,
-.ui.big.image {
- width: 600px;
- height: auto;
- font-size: 1.28571429rem;
-}
-
-.ui.huge.images .image,
-.ui.huge.images img,
-.ui.huge.images svg,
-.ui.huge.image {
- width: 800px;
- height: auto;
- font-size: 1.42857143rem;
-}
-
-.ui.massive.images .image,
-.ui.massive.images img,
-.ui.massive.images svg,
-.ui.massive.image {
- width: 960px;
- height: auto;
- font-size: 1.71428571rem;
-}
-
-/*******************************
- Groups
- *******************************/
-
-.ui.images {
- font-size: 0;
- margin: 0 -0.25rem 0;
-}
-
-.ui.images .image,
-.ui.images > img,
-.ui.images > svg {
- display: inline-block;
- margin: 0 0.25rem 0.5rem;
-}
-
-/*******************************
- Theme Overrides
-*******************************/
-
-/*******************************
- Site Overrides
-*******************************/
-/*!
* # Fomantic-UI - Input
* http://github.com/fomantic/Fomantic-UI/
*
diff --git a/web_src/fomantic/semantic.json b/web_src/fomantic/semantic.json
index a94adab85c..3c6f3b7435 100644
--- a/web_src/fomantic/semantic.json
+++ b/web_src/fomantic/semantic.json
@@ -35,7 +35,6 @@
"grid",
"header",
"icon",
- "image",
"input",
"item",
"label",
diff --git a/web_src/less/_base.less b/web_src/less/_base.less
index bed672a35a..31f71d3c00 100644
--- a/web_src/less/_base.less
+++ b/web_src/less/_base.less
@@ -692,12 +692,9 @@ a.ui.card:hover,
border-color: var(--color-secondary);
}
-.ui.avatar.images .image,
-.ui.avatar.images img,
-.ui.avatar.images svg,
-.ui.avatar.image img,
-.ui.avatar.image svg,
-.ui.avatar.image,
+.ui.avatar img,
+.ui.avatar svg,
+.ui.avatar.img,
.ui.cards > .card img.avatar,
.ui.cards > .card .avatar img,
.ui.card img.avatar,
@@ -758,10 +755,6 @@ a.ui.card:hover,
padding-left: 0;
}
- .brand .ui.mini.image {
- width: 30px;
- }
-
.top.menu a.item:hover,
.top.menu .dropdown.item:hover,
.top.menu .dropdown.item.active {
@@ -1686,7 +1679,7 @@ a.ui.label:hover {
}
}
- .ui.avatar.image {
+ .ui.avatar {
height: 18px;
width: 18px;
display: block;
diff --git a/web_src/less/_explore.less b/web_src/less/_explore.less
index 3a31fe44d8..b07b33461e 100644
--- a/web_src/less/_explore.less
+++ b/web_src/less/_explore.less
@@ -75,7 +75,7 @@
padding-top: 25px;
}
- .ui.avatar.image {
+ img.ui.avatar {
width: 40px;
height: 40px;
}
diff --git a/web_src/less/_repository.less b/web_src/less/_repository.less
index 219597190d..f5be0b34e6 100644
--- a/web_src/less/_repository.less
+++ b/web_src/less/_repository.less
@@ -846,8 +846,8 @@
display: none;
}
- .avatar.image,
- .avatar.image img {
+ img.avatar,
+ .avatar img {
width: 20px;
height: 20px;
margin: 0 .25rem;
@@ -908,8 +908,8 @@
line-height: 34px; /* this must be same as .badge height, to avoid overflow */
clear: both; // reset the "float right shabox", in the future, use flexbox instead
- > .avatar.image,
- > .avatar.image img {
+ > img.avatar,
+ > .avatar img {
position: relative;
top: -2px;
}
@@ -1125,7 +1125,7 @@
margin-left: 36px;
}
- .avatar.image {
+ img.avatar {
width: 28px;
height: 28px;
}
@@ -2497,7 +2497,7 @@
#search-user-box {
.results {
.result {
- .image {
+ img {
float: left;
margin-right: 8px;
width: 2em;
@@ -3305,7 +3305,7 @@ td.blob-excerpt {
display: flex;
margin-bottom: auto;
- img.avatar.image {
+ img.avatar {
height: 24px;
width: 24px;
}
diff --git a/web_src/less/_review.less b/web_src/less/_review.less
index 2fa8efd67e..e3b88ed928 100644
--- a/web_src/less/_review.less
+++ b/web_src/less/_review.less
@@ -90,10 +90,10 @@
float: none;
margin: 0 .5rem 0 0;
flex-shrink: 0;
+ }
- &.image {
- margin: 0 !important;
- }
+ img.avatar {
+ margin: 0 !important;
}
.comment-content {
diff --git a/web_src/less/features/gitgraph.less b/web_src/less/features/gitgraph.less
index efb6071e49..f6b1be5ba6 100644
--- a/web_src/less/features/gitgraph.less
+++ b/web_src/less/features/gitgraph.less
@@ -134,7 +134,7 @@
padding-bottom: 1px;
}
- .author .ui.avatar.image {
+ .author img.ui.avatar {
width: auto;
height: 18px;
max-width: none;