Migrate border and margin classes to Tailwind (#29828)

Used all existing css vars, other migrations are 1:1.

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
(cherry picked from commit 34290a00c4501ffeba26db267be71ab68e3ec97f)

Conflicts:
	templates/repo/issue/filter_list.tmpl
	web_src/js/components/DashboardRepoList.vue
	trivial context conflicts
This commit is contained in:
silverwind 2024-03-18 15:47:05 +01:00 committed by Earl Warren
parent fbf0b3d661
commit 4711d3311b
No known key found for this signature in database
GPG key ID: 0579CB2928A78A00
17 changed files with 43 additions and 48 deletions

View file

@ -55,5 +55,16 @@ export default {
current: 'currentcolor', current: 'currentcolor',
transparent: 'transparent', transparent: 'transparent',
}, },
borderRadius: {
'none': '0',
'sm': '2px',
'DEFAULT': 'var(--border-radius)', // 4px
'md': 'var(--border-radius-medium)', // 6px
'lg': '8px',
'xl': '12px',
'2xl': '16px',
'3xl': '24px',
'full': 'var(--border-radius-circle)', // 50%
},
}, },
}; };

View file

@ -104,7 +104,7 @@
</div> </div>
<h1>If parent provides the padding/margin space:</h1> <h1>If parent provides the padding/margin space:</h1>
<div class="gt-border-secondary gt-py-4"> <div class="tw-border tw-border-secondary gt-py-4">
<div class="flex-list flex-space-fitted"> <div class="flex-list flex-space-fitted">
<div class="flex-item">item 1 (no padding top)</div> <div class="flex-item">item 1 (no padding top)</div>
<div class="flex-item">item 2 (no padding bottom)</div> <div class="flex-item">item 2 (no padding bottom)</div>

View file

@ -95,8 +95,8 @@
<div> <div>
<h1>Loading</h1> <h1>Loading</h1>
<div class="is-loading small-loading-icon gt-border-secondary gt-py-2"><span>loading ...</span></div> <div class="is-loading small-loading-icon tw-border tw-border-secondary gt-py-2"><span>loading ...</span></div>
<div class="is-loading gt-border-secondary gt-py-4"> <div class="is-loading tw-border tw-border-secondary gt-py-4">
<p>loading ...</p> <p>loading ...</p>
<p>loading ...</p> <p>loading ...</p>
<p>loading ...</p> <p>loading ...</p>

View file

@ -7,7 +7,7 @@
{{if .Org.Visibility.IsLimited}}<span class="ui large basic horizontal label">{{ctx.Locale.Tr "org.settings.visibility.limited_shortname"}}</span>{{end}} {{if .Org.Visibility.IsLimited}}<span class="ui large basic horizontal label">{{ctx.Locale.Tr "org.settings.visibility.limited_shortname"}}</span>{{end}}
{{if .Org.Visibility.IsPrivate}}<span class="ui large basic horizontal label">{{ctx.Locale.Tr "org.settings.visibility.private_shortname"}}</span>{{end}} {{if .Org.Visibility.IsPrivate}}<span class="ui large basic horizontal label">{{ctx.Locale.Tr "org.settings.visibility.private_shortname"}}</span>{{end}}
</span> </span>
<span class="gt-df gt-ac gt-gap-2 gt-ml-auto gt-font-16 tw-whitespace-nowrap"> <span class="gt-df gt-ac gt-gap-2 tw-ml-auto gt-font-16 tw-whitespace-nowrap">
{{if .EnableFeed}} {{if .EnableFeed}}
<a class="ui basic label button gt-mr-0" href="{{.Org.HomeLink}}.rss" data-tooltip-content="{{ctx.Locale.Tr "rss_feed"}}"> <a class="ui basic label button gt-mr-0" href="{{.Org.HomeLink}}.rss" data-tooltip-content="{{ctx.Locale.Tr "rss_feed"}}">
{{svg "octicon-rss" 24}} {{svg "octicon-rss" 24}}

View file

@ -43,7 +43,7 @@
{{end}} {{end}}
{{end}} {{end}}
{{RenderLabel $.Context .}} {{RenderLabel $.Context .}}
<p class="gt-ml-auto">{{template "repo/issue/labels/label_archived" .}}</p> <p class="tw-ml-auto">{{template "repo/issue/labels/label_archived" .}}</p>
</a> </a>
{{end}} {{end}}
</div> </div>
@ -108,7 +108,7 @@
</div> </div>
{{range .OpenProjects}} {{range .OpenProjects}}
<a rel="nofollow" class="{{if $.ProjectID}}{{if eq $.ProjectID .ID}}active selected{{end}}{{end}} item gt-df" href="{{$.Link}}?type={{$.ViewType}}&sort={{$.SortType}}&state={{$.State}}&labels={{$.SelectLabels}}&milestone={{$.MilestoneID}}&project={{.ID}}&assignee={{$.AssigneeID}}&poster={{$.PosterID}}{{if $.ShowArchivedLabels}}&archived=true{{end}}"> <a rel="nofollow" class="{{if $.ProjectID}}{{if eq $.ProjectID .ID}}active selected{{end}}{{end}} item gt-df" href="{{$.Link}}?type={{$.ViewType}}&sort={{$.SortType}}&state={{$.State}}&labels={{$.SelectLabels}}&milestone={{$.MilestoneID}}&project={{.ID}}&assignee={{$.AssigneeID}}&poster={{$.PosterID}}{{if $.ShowArchivedLabels}}&archived=true{{end}}">
{{svg .IconName 18 "gt-mr-3 gt-shrink-0"}}<span class="gt-ellipsis">{{.Title}}</span> {{svg .IconName 18 "gt-mr-3 tw-shrink-0"}}<span class="gt-ellipsis">{{.Title}}</span>
</a> </a>
{{end}} {{end}}
{{end}} {{end}}

View file

@ -44,7 +44,7 @@
</div> </div>
<div class="label-operation gt-df"> <div class="label-operation gt-df">
{{template "repo/issue/labels/label_archived" .}} {{template "repo/issue/labels/label_archived" .}}
<div class="gt-df gt-ml-auto"> <div class="gt-df tw-ml-auto">
{{if and (not $.PageIsOrgSettingsLabels) (not $.Repository.IsArchived) (or $.CanWriteIssues $.CanWritePulls)}} {{if and (not $.PageIsOrgSettingsLabels) (not $.Repository.IsArchived) (or $.CanWriteIssues $.CanWritePulls)}}
<a class="edit-label-button" href="#" data-id="{{.ID}}" data-title="{{.Name}}" {{if .Exclusive}}data-exclusive{{end}} {{if gt .ArchivedUnix 0}}data-is-archived{{end}} data-num-issues="{{.NumIssues}}" data-description="{{.Description}}" data-color={{.Color}}>{{svg "octicon-pencil"}} {{ctx.Locale.Tr "repo.issues.label_edit"}}</a> <a class="edit-label-button" href="#" data-id="{{.ID}}" data-title="{{.Name}}" {{if .Exclusive}}data-exclusive{{end}} {{if gt .ArchivedUnix 0}}data-is-archived{{end}} data-num-issues="{{.NumIssues}}" data-description="{{.Description}}" data-color={{.Color}}>{{svg "octicon-pencil"}} {{ctx.Locale.Tr "repo.issues.label_edit"}}</a>
<a class="delete-button" href="#" data-url="{{$.Link}}/delete" data-id="{{.ID}}">{{svg "octicon-trash"}} {{ctx.Locale.Tr "repo.issues.label_delete"}}</a> <a class="delete-button" href="#" data-url="{{$.Link}}/delete" data-id="{{.ID}}">{{svg "octicon-trash"}} {{ctx.Locale.Tr "repo.issues.label_delete"}}</a>

View file

@ -15,7 +15,7 @@
{{ctx.Locale.Tr "repo.pulls.tab_files"}} {{ctx.Locale.Tr "repo.pulls.tab_files"}}
<span class="ui small label">{{if .NumFiles}}{{.NumFiles}}{{else}}-{{end}}</span> <span class="ui small label">{{if .NumFiles}}{{.NumFiles}}{{else}}-{{end}}</span>
</a> </a>
<span class="item gt-ml-auto gt-pr-0 gt-font-bold gt-df gt-ac gt-gap-3"> <span class="item tw-ml-auto gt-pr-0 gt-font-bold gt-df gt-ac gt-gap-3">
<span><span class="text green">{{if .Diff.TotalAddition}}+{{.Diff.TotalAddition}}{{end}}</span> <span class="text red">{{if .Diff.TotalDeletion}}-{{.Diff.TotalDeletion}}{{end}}</span></span> <span><span class="text green">{{if .Diff.TotalAddition}}+{{.Diff.TotalAddition}}{{end}}</span> <span class="text red">{{if .Diff.TotalDeletion}}-{{.Diff.TotalDeletion}}{{end}}</span></span>
<span class="diff-stats-bar"> <span class="diff-stats-bar">
<div class="diff-stats-add-bar" style="width: {{Eval 100 "*" .Diff.TotalAddition "/" "(" .Diff.TotalAddition "+" .Diff.TotalDeletion "+" 0.0 ")"}}%"></div> <div class="diff-stats-add-bar" style="width: {{Eval 100 "*" .Diff.TotalAddition "/" "(" .Diff.TotalAddition "+" .Diff.TotalDeletion "+" 0.0 ")"}}%"></div>

View file

@ -116,13 +116,12 @@
<th></th> <th></th>
</tr> </tr>
</thead> </thead>
{{end}}
{{if $modifyBrokenPullMirror}} {{if $modifyBrokenPullMirror}}
{{/* even if a repo is a pull mirror (IsMirror=true), the PullMirror might still be nil if the mirror migration is broken */}} {{/* even if a repo is a pull mirror (IsMirror=true), the PullMirror might still be nil if the mirror migration is broken */}}
<tbody> <tbody>
<tr> <tr>
<td colspan="4"> <td colspan="4">
<div class="text red gt-py-4 gt-border-secondary-bottom">{{ctx.Locale.Tr "repo.settings.mirror_settings.direction.pull"}}: {{ctx.Locale.Tr "error.occurred"}}</div> <div class="text red gt-py-4">{{ctx.Locale.Tr "repo.settings.mirror_settings.direction.pull"}}: {{ctx.Locale.Tr "error.occurred"}}</div>
</td> </td>
</tr> </tr>
</tbody> </tbody>
@ -201,8 +200,9 @@
</td> </td>
</tr> </tr>
</tbody> </tbody>
{{end}}{{/* end if: $modifyBrokenPullMirror / $isWorkingPullMirror */}}
</table> </table>
{{end}}{{/* end if: IsMirror */}} {{end}}{{/* end if .Repository.IsMirror */}}
<table class="ui table"> <table class="ui table">
<thead> <thead>

View file

@ -16,7 +16,7 @@
</head> </head>
<body> <body>
<div class="full height"> <div class="full height">
<nav class="ui secondary menu gt-border-secondary-bottom"> <nav class="ui secondary menu">
<div class="ui container gt-df"> <div class="ui container gt-df">
<div class="item gt-f1"> <div class="item gt-f1">
<a href="{{AppSubUrl}}/" aria-label="{{ctx.Locale.Tr "home"}}"> <a href="{{AppSubUrl}}/" aria-label="{{ctx.Locale.Tr "home"}}">
@ -28,6 +28,7 @@
</div> </div>
</div> </div>
</nav> </nav>
<div class="divider gt-my-0"></div>
<div role="main" class="page-content status-page-500"> <div role="main" class="page-content status-page-500">
<div class="ui container" > <div class="ui container" >
<style> .ui.message.flash-message { text-align: left; } </style> <style> .ui.message.flash-message { text-align: left; } </style>

View file

@ -78,7 +78,7 @@
{{if .ContextUser.IsOrganization}} {{if .ContextUser.IsOrganization}}
<div class="right menu"> <div class="right menu">
<a class="{{if .PageIsNews}}active {{end}}item gt-ml-auto" href="{{.ContextUser.DashboardLink}}{{if .Team}}/{{PathEscape .Team.Name}}{{end}}"> <a class="{{if .PageIsNews}}active {{end}}item tw-ml-auto" href="{{.ContextUser.DashboardLink}}{{if .Team}}/{{PathEscape .Team.Name}}{{end}}">
{{svg "octicon-rss"}}&nbsp;{{ctx.Locale.Tr "activities"}} {{svg "octicon-rss"}}&nbsp;{{ctx.Locale.Tr "activities"}}
</a> </a>
{{if not .UnitIssuesGlobalDisabled}} {{if not .UnitIssuesGlobalDisabled}}

View file

@ -52,18 +52,6 @@ Gitea's private styles use `g-` prefix.
.gt-font-semibold { font-weight: var(--font-weight-semibold) !important; } .gt-font-semibold { font-weight: var(--font-weight-semibold) !important; }
.gt-font-bold { font-weight: var(--font-weight-bold) !important; } .gt-font-bold { font-weight: var(--font-weight-bold) !important; }
.gt-rounded { border-radius: var(--border-radius) !important; }
.gt-rounded-top { border-radius: var(--border-radius) var(--border-radius) 0 0 !important; }
.gt-rounded-bottom { border-radius: 0 0 var(--border-radius) var(--border-radius) !important; }
.gt-rounded-left { border-radius: var(--border-radius) 0 0 var(--border-radius) !important; }
.gt-rounded-right { border-radius: 0 var(--border-radius) var(--border-radius) 0 !important; }
.gt-border-secondary { border: 1px solid var(--color-secondary) !important; }
.gt-border-secondary-top { border-top: 1px solid var(--color-secondary) !important; }
.gt-border-secondary-bottom { border-bottom: 1px solid var(--color-secondary) !important; }
.gt-border-secondary-left { border-left: 1px solid var(--color-secondary) !important; }
.gt-border-secondary-right { border-right: 1px solid var(--color-secondary) !important; }
.interact-fg { color: inherit !important; } .interact-fg { color: inherit !important; }
.interact-fg:hover { color: var(--color-primary) !important; } .interact-fg:hover { color: var(--color-primary) !important; }
.interact-fg:active { color: var(--color-primary-active) !important; } .interact-fg:active { color: var(--color-primary-active) !important; }
@ -121,14 +109,6 @@ Gitea's private styles use `g-` prefix.
.gt-my-4 { margin-top: 1rem !important; margin-bottom: 1rem !important; } .gt-my-4 { margin-top: 1rem !important; margin-bottom: 1rem !important; }
.gt-my-5 { margin-top: 2rem !important; margin-bottom: 2rem !important; } .gt-my-5 { margin-top: 2rem !important; margin-bottom: 2rem !important; }
.gt-m-auto { margin: auto !important; }
.gt-mx-auto { margin-left: auto !important; margin-right: auto !important; }
.gt-my-auto { margin-top: auto !important; margin-bottom: auto !important; }
.gt-mt-auto { margin-top: auto !important; }
.gt-mr-auto { margin-right: auto !important; }
.gt-mb-auto { margin-bottom: auto !important; }
.gt-ml-auto { margin-left: auto !important; }
.gt-p-0 { padding: 0 !important; } .gt-p-0 { padding: 0 !important; }
.gt-p-1 { padding: .125rem !important; } .gt-p-1 { padding: .125rem !important; }
.gt-p-2 { padding: .25rem !important; } .gt-p-2 { padding: .25rem !important; }
@ -199,8 +179,6 @@ Gitea's private styles use `g-` prefix.
.gt-gap-y-4 { row-gap: 1rem !important; } .gt-gap-y-4 { row-gap: 1rem !important; }
.gt-gap-y-5 { row-gap: 2rem !important; } .gt-gap-y-5 { row-gap: 2rem !important; }
.gt-shrink-0 { flex-shrink: 0 !important; }
.gt-font-12 { font-size: 12px !important } .gt-font-12 { font-size: 12px !important }
.gt-font-13 { font-size: 13px !important } .gt-font-13 { font-size: 13px !important }
.gt-font-14 { font-size: 14px !important } .gt-font-14 { font-size: 14px !important }

View file

@ -405,7 +405,7 @@ export default sfc; // activate the IDE's Vue plugin
</div> </div>
</overflow-menu> </overflow-menu>
</div> </div>
<div v-if="repos.length" class="ui attached table segment gt-rounded-bottom"> <div v-if="repos.length" class="ui attached table segment tw-rounded-b">
<ul class="repo-owner-name-list"> <ul class="repo-owner-name-list">
<li class="gt-df gt-ac gt-py-3" v-for="repo, index in repos" :class="{'active': index === activeIndex}" :key="repo.id"> <li class="gt-df gt-ac gt-py-3" v-for="repo, index in repos" :class="{'active': index === activeIndex}" :key="repo.id">
<a class="repo-list-link muted" :href="repo.link"> <a class="repo-list-link muted" :href="repo.link">
@ -421,8 +421,9 @@ export default sfc; // activate the IDE's Vue plugin
</a> </a>
</li> </li>
</ul> </ul>
<div v-if="showMoreReposLink" class="center gt-py-3 gt-border-secondary-top"> <div v-if="showMoreReposLink" class="tw-text-center">
<div class="ui borderless pagination menu narrow"> <div class="divider gt-my-0"/>
<div class="ui borderless pagination menu narrow gt-my-3">
<a <a
class="item navigation gt-py-2" :class="{'disabled': page === 1}" class="item navigation gt-py-2" :class="{'disabled': page === 1}"
@click="changePage(1)" :title="textFirstPage" @click="changePage(1)" :title="textFirstPage"
@ -453,7 +454,7 @@ export default sfc; // activate the IDE's Vue plugin
</div> </div>
</div> </div>
<div v-if="!isOrganization" v-show="tab === 'organizations'" class="ui tab active list dashboard-orgs"> <div v-if="!isOrganization" v-show="tab === 'organizations'" class="ui tab active list dashboard-orgs">
<div v-if="organizations.length" class="ui attached table segment gt-rounded"> <div v-if="organizations.length" class="ui attached table segment tw-rounded-b">
<ul class="repo-owner-name-list"> <ul class="repo-owner-name-list">
<li class="gt-df gt-ac gt-py-3" v-for="org in organizations" :key="org.name"> <li class="gt-df gt-ac gt-py-3" v-for="org in organizations" :key="org.name">
<a class="repo-list-link muted" :href="subUrl + '/' + encodeURIComponent(org.name)"> <a class="repo-list-link muted" :href="subUrl + '/' + encodeURIComponent(org.name)">

View file

@ -204,7 +204,7 @@ export default {
</button> </button>
<div class="menu left transition" id="diff-commit-selector-menu" :class="{visible: menuVisible}" v-show="menuVisible" v-cloak :aria-expanded="menuVisible ? 'true': 'false'"> <div class="menu left transition" id="diff-commit-selector-menu" :class="{visible: menuVisible}" v-show="menuVisible" v-cloak :aria-expanded="menuVisible ? 'true': 'false'">
<div class="loading-indicator is-loading" v-if="isLoading"/> <div class="loading-indicator is-loading" v-if="isLoading"/>
<div v-if="!isLoading" class="vertical item gt-df gt-fc gt-gap-2" id="diff-commit-list-show-all" role="menuitem" @keydown.enter="showAllChanges()" @click="showAllChanges()"> <div v-if="!isLoading" class="vertical item" id="diff-commit-list-show-all" role="menuitem" @keydown.enter="showAllChanges()" @click="showAllChanges()">
<div class="gt-ellipsis"> <div class="gt-ellipsis">
{{ locale.show_all_commits }} {{ locale.show_all_commits }}
</div> </div>
@ -215,7 +215,7 @@ export default {
<!-- only show the show changes since last review if there is a review AND we are commits ahead of the last review --> <!-- only show the show changes since last review if there is a review AND we are commits ahead of the last review -->
<div <div
v-if="lastReviewCommitSha != null" role="menuitem" v-if="lastReviewCommitSha != null" role="menuitem"
class="vertical item gt-df gt-fc gt-gap-2 gt-border-secondary-top" class="vertical item"
:class="{disabled: commitsSinceLastReview === 0}" :class="{disabled: commitsSinceLastReview === 0}"
@keydown.enter="changesSinceLastReviewClick()" @keydown.enter="changesSinceLastReviewClick()"
@click="changesSinceLastReviewClick()" @click="changesSinceLastReviewClick()"
@ -227,10 +227,10 @@ export default {
{{ commitsSinceLastReview }} commits {{ commitsSinceLastReview }} commits
</div> </div>
</div> </div>
<span v-if="!isLoading" class="info gt-border-secondary-top text light-2">{{ locale.select_commit_hold_shift_for_range }}</span> <span v-if="!isLoading" class="info text light-2">{{ locale.select_commit_hold_shift_for_range }}</span>
<template v-for="commit in commits" :key="commit.id"> <template v-for="commit in commits" :key="commit.id">
<div <div
class="vertical item gt-df gt-gap-2 gt-border-secondary-top" role="menuitem" class="vertical item" role="menuitem"
:class="{selection: commit.selected, hovered: commit.hovered}" :class="{selection: commit.selected, hovered: commit.hovered}"
@keydown.enter.exact="commitClicked(commit.id)" @keydown.enter.exact="commitClicked(commit.id)"
@keydown.enter.shift.exact="commitClickedShift(commit)" @keydown.enter.shift.exact="commitClickedShift(commit)"
@ -285,10 +285,14 @@ export default {
width: 350px; width: 350px;
} }
#diff-commit-selector-menu .item { #diff-commit-selector-menu .item,
#diff-commit-selector-menu .info {
display: flex !important;
flex-direction: row; flex-direction: row;
line-height: 1.4; line-height: 1.4;
padding: 7px 14px !important; padding: 7px 14px !important;
border-top: 1px solid var(--color-secondary) !important;
gap: 0.25em;
} }
#diff-commit-selector-menu .item:focus { #diff-commit-selector-menu .item:focus {

View file

@ -148,7 +148,7 @@ export default {
{{ isLoading ? locale.loadingTitle : errorText ? locale.loadingTitleFailed: `Code frequency over the history of ${repoLink.slice(1)}` }} {{ isLoading ? locale.loadingTitle : errorText ? locale.loadingTitleFailed: `Code frequency over the history of ${repoLink.slice(1)}` }}
</div> </div>
<div class="gt-df ui segment main-graph"> <div class="gt-df ui segment main-graph">
<div v-if="isLoading || errorText !== ''" class="gt-tc gt-m-auto"> <div v-if="isLoading || errorText !== ''" class="gt-tc tw-m-auto">
<div v-if="isLoading"> <div v-if="isLoading">
<SvgIcon name="octicon-sync" class="gt-mr-3 job-status-rotate"/> <SvgIcon name="octicon-sync" class="gt-mr-3 job-status-rotate"/>
{{ locale.loadingInfo }} {{ locale.loadingInfo }}

View file

@ -353,7 +353,7 @@ export default {
</div> </div>
</div> </div>
<div class="gt-df ui segment main-graph"> <div class="gt-df ui segment main-graph">
<div v-if="isLoading || errorText !== ''" class="gt-tc gt-m-auto"> <div v-if="isLoading || errorText !== ''" class="gt-tc tw-m-auto">
<div v-if="isLoading"> <div v-if="isLoading">
<SvgIcon name="octicon-sync" class="gt-mr-3 job-status-rotate"/> <SvgIcon name="octicon-sync" class="gt-mr-3 job-status-rotate"/>
{{ locale.loadingInfo }} {{ locale.loadingInfo }}

View file

@ -125,7 +125,7 @@ export default {
{{ isLoading ? locale.loadingTitle : errorText ? locale.loadingTitleFailed: "Number of commits in the past year" }} {{ isLoading ? locale.loadingTitle : errorText ? locale.loadingTitleFailed: "Number of commits in the past year" }}
</div> </div>
<div class="gt-df ui segment main-graph"> <div class="gt-df ui segment main-graph">
<div v-if="isLoading || errorText !== ''" class="gt-tc gt-m-auto"> <div v-if="isLoading || errorText !== ''" class="gt-tc tw-m-auto">
<div v-if="isLoading"> <div v-if="isLoading">
<SvgIcon name="octicon-sync" class="gt-mr-3 job-status-rotate"/> <SvgIcon name="octicon-sync" class="gt-mr-3 job-status-rotate"/>
{{ locale.loadingInfo }} {{ locale.loadingInfo }}

View file

@ -39,7 +39,7 @@ function addLink(parent, href, text, tooltip) {
link.href = href; link.href = href;
link.textContent = text; link.textContent = text;
if (tooltip) { if (tooltip) {
link.classList.add('gt-border-secondary', 'gt-rounded'); link.classList.add('tw-border', 'tw-border-secondary', 'tw-rounded');
link.setAttribute('data-tooltip-content', tooltip); link.setAttribute('data-tooltip-content', tooltip);
} }
parent.append(link); parent.append(link);