Replace some gt- classes with tw- (#29570)

Replace 18 `gt-` prefixes with `tw-` with perl replacement. I manually
checked them all with `rg` afterwards.

(cherry picked from commit a2e90014ec20a1085449a66061389cfe0d12260f)

Conflicts:
	templates/repo/header.tmpl
	because some of the header moved to header_fork.tmpl
This commit is contained in:
silverwind 2024-03-04 04:33:20 +01:00 committed by Earl Warren
parent 4dbf2d7c11
commit 2e9ca0597d
No known key found for this signature in database
GPG key ID: 0579CB2928A78A00
41 changed files with 50 additions and 70 deletions

View file

@ -31,7 +31,7 @@
<tr> <tr>
<th></th> <th></th>
<th colspan="5"> <th colspan="5">
<form class="gt-float-right" method="post" action="{{AppSubUrl}}/admin/notices/empty"> <form class="tw-float-right" method="post" action="{{AppSubUrl}}/admin/notices/empty">
{{.CsrfTokenHtml}} {{.CsrfTokenHtml}}
<button type="submit" class="ui red small button">{{ctx.Locale.Tr "admin.notices.delete_all"}}</button> <button type="submit" class="ui red small button">{{ctx.Locale.Tr "admin.notices.delete_all"}}</button>
</form> </form>

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 gt-whitespace-nowrap"> <span class="gt-df gt-ac gt-gap-2 gt-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

@ -87,7 +87,7 @@
{{end}} {{end}}
<div class="divider"></div> <div class="divider"></div>
<strong>{{ctx.Locale.Tr "packages.versions"}} ({{.TotalVersionCount}})</strong> <strong>{{ctx.Locale.Tr "packages.versions"}} ({{.TotalVersionCount}})</strong>
<a class="gt-float-right" href="{{$.PackageDescriptor.PackageWebLink}}/versions">{{ctx.Locale.Tr "packages.versions.view_all"}}</a> <a class="tw-float-right" href="{{$.PackageDescriptor.PackageWebLink}}/versions">{{ctx.Locale.Tr "packages.versions.view_all"}}</a>
<div class="ui relaxed list"> <div class="ui relaxed list">
{{range .LatestVersions}} {{range .LatestVersions}}
<div class="item gt-df"> <div class="item gt-df">

View file

@ -10,7 +10,7 @@
{{ctx.Locale.PrettyNumber .ClosedCount}}&nbsp;{{ctx.Locale.Tr "repo.issues.closed_title"}} {{ctx.Locale.PrettyNumber .ClosedCount}}&nbsp;{{ctx.Locale.Tr "repo.issues.closed_title"}}
</a> </a>
</div> </div>
<div class="gt-text-right"> <div class="tw-text-right">
<a class="ui small primary button" href="{{$.Link}}/new">{{ctx.Locale.Tr "repo.projects.new"}}</a> <a class="ui small primary button" href="{{$.Link}}/new">{{ctx.Locale.Tr "repo.projects.new"}}</a>
</div> </div>
</div> </div>

View file

@ -55,7 +55,7 @@
</div> </div>
</div> </div>
<div class="divider"></div> <div class="divider"></div>
<div class="gt-text-right"> <div class="tw-text-right">
<a class="ui cancel button" href="{{$.CancelLink}}"> <a class="ui cancel button" href="{{$.CancelLink}}">
{{ctx.Locale.Tr "repo.milestones.cancel"}} {{ctx.Locale.Tr "repo.milestones.cancel"}}
</a> </a>

View file

@ -165,9 +165,9 @@
<div class="divider"></div> <div class="divider"></div>
<div class="ui cards {{if and $canWriteProject (ne .ID 0)}}{{/* ID 0 is default column which cannot be moved */}}gt-cursor-grab{{end}}" data-url="{{$.Link}}/{{.ID}}" data-project="{{$.Project.ID}}" data-board="{{.ID}}" id="board_{{.ID}}"> <div class="ui cards {{if and $canWriteProject (ne .ID 0)}}{{/* ID 0 is default column which cannot be moved */}}tw-cursor-grab{{end}}" data-url="{{$.Link}}/{{.ID}}" data-project="{{$.Project.ID}}" data-board="{{.ID}}" id="board_{{.ID}}">
{{range (index $.IssuesMap .ID)}} {{range (index $.IssuesMap .ID)}}
<div class="issue-card gt-word-break {{if $canWriteProject}}gt-cursor-grab{{end}}" data-issue="{{.ID}}"> <div class="issue-card gt-word-break {{if $canWriteProject}}tw-cursor-grab{{end}}" data-issue="{{.ID}}">
{{template "repo/issue/card" (dict "Issue" . "Page" $)}} {{template "repo/issue/card" (dict "Issue" . "Page" $)}}
</div> </div>
{{end}} {{end}}

View file

@ -72,7 +72,7 @@
<div class="gt-df gt-ac"> <div class="gt-df gt-ac">
{{ctx.Locale.Tr "repo.branches"}} {{ctx.Locale.Tr "repo.branches"}}
</div> </div>
<div class="gt-whitespace-nowrap"> <div class="tw-whitespace-nowrap">
<form class="ignore-dirty" method="get"> <form class="ignore-dirty" method="get">
<div class="ui tiny search input"> <div class="ui tiny search input">
<input name="q" placeholder="{{ctx.Locale.Tr "repo.branch.search"}}" value="{{.Keyword}}" autofocus> <input name="q" placeholder="{{ctx.Locale.Tr "repo.branch.search"}}" value="{{.Keyword}}" autofocus>

View file

@ -184,7 +184,7 @@
</div> </div>
</div> </div>
{{if .Commit.Signature}} {{if .Commit.Signature}}
<div class="ui bottom attached message gt-text-left gt-df gt-ac gt-sb commit-header-row gt-fw gt-mb-0 {{$class}}"> <div class="ui bottom attached message tw-text-left gt-df gt-ac gt-sb commit-header-row gt-fw gt-mb-0 {{$class}}">
<div class="gt-df gt-ac"> <div class="gt-df gt-ac">
{{if .Verification.Verified}} {{if .Verification.Verified}}
{{if ne .Verification.SigningUser.ID 0}} {{if ne .Verification.SigningUser.ID 0}}

View file

@ -13,7 +13,7 @@
{{$commitLink:= printf "%s/commit/%s" $.comment.Issue.PullRequest.BaseRepo.Link (PathEscape .ID.String)}} {{$commitLink:= printf "%s/commit/%s" $.comment.Issue.PullRequest.BaseRepo.Link (PathEscape .ID.String)}}
<span class="shabox gt-df gt-ac gt-float-right"> <span class="shabox gt-df gt-ac tw-float-right">
{{template "repo/commit_statuses" dict "Status" .Status "Statuses" .Statuses}} {{template "repo/commit_statuses" dict "Status" .Status "Statuses" .Statuses}}
{{$class := "ui sha label"}} {{$class := "ui sha label"}}
{{if .Signature}} {{if .Signature}}

View file

@ -8,7 +8,7 @@
{{ctx.Locale.Tr "repo.commits.no_commits" $.BaseBranch $.HeadBranch}} {{ctx.Locale.Tr "repo.commits.no_commits" $.BaseBranch $.HeadBranch}}
{{end}} {{end}}
</div> </div>
<div class="commits-table-right gt-whitespace-nowrap"> <div class="commits-table-right tw-whitespace-nowrap">
{{if .PageIsCommits}} {{if .PageIsCommits}}
<form class="ignore-dirty" action="{{.RepoLink}}/commits/{{.BranchNameSubURL}}/search"> <form class="ignore-dirty" action="{{.RepoLink}}/commits/{{.BranchNameSubURL}}/search">
<div class="ui tiny search input"> <div class="ui tiny search input">

View file

@ -25,7 +25,7 @@
</div> </div>
<div class="diff-detail-actions"> <div class="diff-detail-actions">
{{if and .PageIsPullFiles $.SignedUserID (not .IsArchived) (not .DiffNotAvailable)}} {{if and .PageIsPullFiles $.SignedUserID (not .IsArchived) (not .DiffNotAvailable)}}
<div class="not-mobile gt-df gt-ac gt-fc gt-whitespace-nowrap gt-mr-2"> <div class="not-mobile gt-df gt-ac gt-fc tw-whitespace-nowrap gt-mr-2">
<label for="viewed-files-summary" id="viewed-files-summary-label" data-text-changed-template="{{ctx.Locale.Tr "repo.pulls.viewed_files_label"}}"> <label for="viewed-files-summary" id="viewed-files-summary-label" data-text-changed-template="{{ctx.Locale.Tr "repo.pulls.viewed_files_label"}}">
{{ctx.Locale.Tr "repo.pulls.viewed_files_label" .Diff.NumViewedFiles .Diff.NumFiles}} {{ctx.Locale.Tr "repo.pulls.viewed_files_label" .Diff.NumViewedFiles .Diff.NumFiles}}
</label> </label>
@ -205,7 +205,7 @@
</div> </div>
{{if $showFileViewToggle}} {{if $showFileViewToggle}}
{{/* for image or CSV, it can have a horizontal scroll bar, there won't be review comment context menu (position absolute) which would be clipped by "overflow" */}} {{/* for image or CSV, it can have a horizontal scroll bar, there won't be review comment context menu (position absolute) which would be clipped by "overflow" */}}
<div id="diff-rendered-{{$file.NameHash}}" class="file-body file-code {{if $.IsSplitStyle}}code-diff-split{{else}}code-diff-unified{{end}} gt-overflow-x-scroll"> <div id="diff-rendered-{{$file.NameHash}}" class="file-body file-code {{if $.IsSplitStyle}}code-diff-split{{else}}code-diff-unified{{end}} tw-overflow-x-scroll">
<table class="chroma tw-w-full"> <table class="chroma tw-w-full">
{{if $isImage}} {{if $isImage}}
{{template "repo/diff/image_diff" dict "file" . "root" $ "blobBase" $blobBase "blobHead" $blobHead "sniffedTypeBase" $sniffedTypeBase "sniffedTypeHead" $sniffedTypeHead}} {{template "repo/diff/image_diff" dict "file" . "root" $ "blobBase" $blobBase "blobHead" $blobHead "sniffedTypeBase" $sniffedTypeBase "sniffedTypeHead" $sniffedTypeHead}}

View file

@ -27,7 +27,7 @@
<div class="field footer gt-mx-3"> <div class="field footer gt-mx-3">
<span class="markup-info">{{svg "octicon-markup"}} {{ctx.Locale.Tr "repo.diff.comment.markdown_info"}}</span> <span class="markup-info">{{svg "octicon-markup"}} {{ctx.Locale.Tr "repo.diff.comment.markdown_info"}}</span>
<div class="gt-text-right"> <div class="tw-text-right">
{{if $.reply}} {{if $.reply}}
<button class="ui submit primary tiny button btn-reply" type="submit">{{ctx.Locale.Tr "repo.diff.comment.reply"}}</button> <button class="ui submit primary tiny button btn-reply" type="submit">{{ctx.Locale.Tr "repo.diff.comment.reply"}}</button>
<input type="hidden" name="reply" value="{{$.reply}}"> <input type="hidden" name="reply" value="{{$.reply}}">

View file

@ -208,7 +208,7 @@
<button class="ui button primary show-form">{{ctx.Locale.Tr "repo.pulls.new"}}</button> <button class="ui button primary show-form">{{ctx.Locale.Tr "repo.pulls.new"}}</button>
</div> </div>
{{else if .Repository.IsArchived}} {{else if .Repository.IsArchived}}
<div class="ui warning message gt-text-center"> <div class="ui warning message tw-text-center">
{{if .Repository.ArchivedUnix.IsZero}} {{if .Repository.ArchivedUnix.IsZero}}
{{ctx.Locale.Tr "repo.archive.title"}} {{ctx.Locale.Tr "repo.archive.title"}}
{{else}} {{else}}

View file

@ -6,7 +6,7 @@
<div class="sixteen wide column content"> <div class="sixteen wide column content">
{{template "base/alert" .}} {{template "base/alert" .}}
{{if .Repository.IsArchived}} {{if .Repository.IsArchived}}
<div class="ui warning message gt-text-center"> <div class="ui warning message tw-text-center">
{{if .Repository.ArchivedUnix.IsZero}} {{if .Repository.ArchivedUnix.IsZero}}
{{ctx.Locale.Tr "repo.archive.title"}} {{ctx.Locale.Tr "repo.archive.title"}}
{{else}} {{else}}

View file

@ -30,7 +30,7 @@
<div class="header"> <div class="header">
{{ctx.Locale.Tr "repo.already_forked" .Name}} {{ctx.Locale.Tr "repo.already_forked" .Name}}
</div> </div>
<div class="content gt-text-left"> <div class="content tw-text-left">
<div class="ui list"> <div class="ui list">
{{range $.UserAndOrgForks}} {{range $.UserAndOrgForks}}
<div class="ui item gt-py-3"> <div class="ui item gt-py-3">

View file

@ -39,7 +39,7 @@
<input type="hidden" name="topics" value="{{range $i, $v := .Topics}}{{.Name}}{{if Eval $i "+" 1 "<" (len $.Topics)}},{{end}}{{end}}"> <input type="hidden" name="topics" value="{{range $i, $v := .Topics}}{{.Name}}{{if Eval $i "+" 1 "<" (len $.Topics)}},{{end}}{{end}}">
{{range .Topics}} {{range .Topics}}
{{/* keey the same layout as Fomantic UI generated labels */}} {{/* keey the same layout as Fomantic UI generated labels */}}
<a class="ui label transition visible gt-cursor-default gt-dib" data-value="{{.Name}}">{{.Name}}{{svg "octicon-x" 16 "delete icon"}}</a> <a class="ui label transition visible tw-cursor-default gt-dib" data-value="{{.Name}}">{{.Name}}{{svg "octicon-x" 16 "delete icon"}}</a>
{{end}} {{end}}
<div class="text"></div> <div class="text"></div>
</div> </div>
@ -59,7 +59,7 @@
{{end}} {{end}}
{{if .Repository.IsArchived}} {{if .Repository.IsArchived}}
<div class="ui warning message gt-text-center"> <div class="ui warning message tw-text-center">
{{if .Repository.ArchivedUnix.IsZero}} {{if .Repository.ArchivedUnix.IsZero}}
{{ctx.Locale.Tr "repo.archive.title"}} {{ctx.Locale.Tr "repo.archive.title"}}
{{else}} {{else}}

View file

@ -6,7 +6,7 @@
{{if .PinnedIssues}} {{if .PinnedIssues}}
<div id="issue-pins" {{if .IsRepoAdmin}}data-is-repo-admin{{end}}> <div id="issue-pins" {{if .IsRepoAdmin}}data-is-repo-admin{{end}}>
{{range .PinnedIssues}} {{range .PinnedIssues}}
<div class="issue-card gt-word-break {{if $.IsRepoAdmin}}gt-cursor-grab{{end}}" data-move-url="{{$.Link}}/move_pin" data-issue-id="{{.ID}}"> <div class="issue-card gt-word-break {{if $.IsRepoAdmin}}tw-cursor-grab{{end}}" data-move-url="{{$.Link}}/move_pin" data-issue-id="{{.ID}}">
{{template "repo/issue/card" (dict "Issue" . "Page" $ "isPinnedIssueCard" true)}} {{template "repo/issue/card" (dict "Issue" . "Page" $ "isPinnedIssueCard" true)}}
</div> </div>
{{end}} {{end}}

View file

@ -39,7 +39,7 @@
<textarea name="content">{{.content}}</textarea> <textarea name="content">{{.content}}</textarea>
</div> </div>
<div class="divider"></div> <div class="divider"></div>
<div class="gt-text-right"> <div class="tw-text-right">
{{if .PageIsEditMilestone}} {{if .PageIsEditMilestone}}
<a class="ui primary basic button" href="{{.RepoLink}}/milestones"> <a class="ui primary basic button" href="{{.RepoLink}}/milestones">
{{ctx.Locale.Tr "repo.milestones.cancel"}} {{ctx.Locale.Tr "repo.milestones.cancel"}}

View file

@ -114,7 +114,7 @@
</div> </div>
</div> </div>
{{else if .Repository.IsArchived}} {{else if .Repository.IsArchived}}
<div class="ui warning message gt-text-center"> <div class="ui warning message tw-text-center">
{{if .Issue.IsPull}} {{if .Issue.IsPull}}
{{ctx.Locale.Tr "repo.archive.pull.nocomment"}} {{ctx.Locale.Tr "repo.archive.pull.nocomment"}}
{{else}} {{else}}
@ -124,7 +124,7 @@
{{end}} {{end}}
{{else}} {{/* not .IsSigned */}} {{else}} {{/* not .IsSigned */}}
{{if .Repository.IsArchived}} {{if .Repository.IsArchived}}
<div class="ui warning message gt-text-center"> <div class="ui warning message tw-text-center">
{{if .Issue.IsPull}} {{if .Issue.IsPull}}
{{ctx.Locale.Tr "repo.archive.pull.nocomment"}} {{ctx.Locale.Tr "repo.archive.pull.nocomment"}}
{{else}} {{else}}

View file

@ -566,7 +566,7 @@
{{end}} {{end}}
</span> </span>
{{if and .IsForcePush $.Issue.PullRequest.BaseRepo.Name}} {{if and .IsForcePush $.Issue.PullRequest.BaseRepo.Name}}
<span class="gt-float-right comparebox"> <span class="tw-float-right comparebox">
<a href="{{$.Issue.PullRequest.BaseRepo.Link}}/compare/{{PathEscape .OldCommit}}..{{PathEscape .NewCommit}}" rel="nofollow" class="ui compare label">{{ctx.Locale.Tr "repo.issues.force_push_compare"}}</a> <a href="{{$.Issue.PullRequest.BaseRepo.Link}}/compare/{{PathEscape .OldCommit}}..{{PathEscape .NewCommit}}" rel="nofollow" class="ui compare label">{{ctx.Locale.Tr "repo.issues.force_push_compare"}}</a>
</span> </span>
{{end}} {{end}}

View file

@ -1,7 +1,7 @@
{{if and .comment.Time (.ctxData.Repository.IsTimetrackerEnabled ctx)}} {{/* compatibility with time comments made before v1.14 */}} {{if and .comment.Time (.ctxData.Repository.IsTimetrackerEnabled ctx)}} {{/* compatibility with time comments made before v1.14 */}}
{{if (not .comment.Time.Deleted)}} {{if (not .comment.Time.Deleted)}}
{{if (or .ctxData.IsAdmin (and .ctxData.IsSigned (eq .ctxData.SignedUserID .comment.PosterID)))}} {{if (or .ctxData.IsAdmin (and .ctxData.IsSigned (eq .ctxData.SignedUserID .comment.PosterID)))}}
<span class="gt-float-right"> <span class="tw-float-right">
<div class="ui mini modal issue-delete-time-modal" data-id="{{.comment.Time.ID}}"> <div class="ui mini modal issue-delete-time-modal" data-id="{{.comment.Time.ID}}">
<form method="post" class="delete-time-form" action="{{.ctxData.RepoLink}}/issues/{{.ctxData.Issue.Index}}/times/{{.comment.TimeID}}/delete"> <form method="post" class="delete-time-form" action="{{.ctxData.RepoLink}}/issues/{{.ctxData.Issue.Index}}/times/{{.comment.TimeID}}/delete">
{{.ctxData.CsrfTokenHtml}} {{.ctxData.CsrfTokenHtml}}

View file

@ -16,10 +16,10 @@
{{svg (printf "gitea-%s" .Name) 184}} {{svg (printf "gitea-%s" .Name) 184}}
{{end}} {{end}}
<div class="content"> <div class="content">
<div class="header gt-text-center"> <div class="header tw-text-center">
{{.Title}} {{.Title}}
</div> </div>
<div class="description gt-text-center"> <div class="description tw-text-center">
{{ctx.Locale.Tr (printf "repo.migrate.%s.description" .Name)}} {{ctx.Locale.Tr (printf "repo.migrate.%s.description" .Name)}}
</div> </div>
</div> </div>

View file

@ -64,7 +64,7 @@
<div class="flex-text-inline gt-f1"> <div class="flex-text-inline gt-f1">
<input name="attachment-edit-{{.UUID}}" class="attachment_edit" required value="{{.Name}}"> <input name="attachment-edit-{{.UUID}}" class="attachment_edit" required value="{{.Name}}">
<input name="attachment-del-{{.UUID}}" type="hidden" value="false"> <input name="attachment-del-{{.UUID}}" type="hidden" value="false">
<span class="ui text grey gt-whitespace-nowrap">{{.Size | FileSize}}</span> <span class="ui text grey tw-whitespace-nowrap">{{.Size | FileSize}}</span>
<span data-tooltip-content="{{ctx.Locale.Tr "repo.release.download_count" (ctx.Locale.PrettyNumber .DownloadCount)}}"> <span data-tooltip-content="{{ctx.Locale.Tr "repo.release.download_count" (ctx.Locale.PrettyNumber .DownloadCount)}}">
{{svg "octicon-info"}} {{svg "octicon-info"}}
</span> </span>

View file

@ -1,7 +1,7 @@
{{template "repo/settings/layout_head" (dict "ctxData" . "pageClass" "repository settings edit")}} {{template "repo/settings/layout_head" (dict "ctxData" . "pageClass" "repository settings edit")}}
<div class="repo-setting-content"> <div class="repo-setting-content">
{{if .Repository.IsArchived}} {{if .Repository.IsArchived}}
<div class="ui warning message gt-text-center"> <div class="ui warning message tw-text-center">
{{ctx.Locale.Tr "repo.settings.archive.branchsettings_unavailable"}} {{ctx.Locale.Tr "repo.settings.archive.branchsettings_unavailable"}}
</div> </div>
{{else}} {{else}}

View file

@ -12,7 +12,7 @@
<div class="item truncated-item-container"> <div class="item truncated-item-container">
<span class="text {{if .IsActive}}green{{else}}grey{{end}} gt-mr-3">{{svg "octicon-dot-fill" 22}}</span> <span class="text {{if .IsActive}}green{{else}}grey{{end}} gt-mr-3">{{svg "octicon-dot-fill" 22}}</span>
<span class="text truncate gt-f1 gt-mr-3">{{.Name}}</span> <span class="text truncate gt-f1 gt-mr-3">{{.Name}}</span>
<a class="muted gt-float-right gt-p-3" href="{{$.RepoLink}}/settings/hooks/git/{{.Name|PathEscape}}"> <a class="muted tw-float-right gt-p-3" href="{{$.RepoLink}}/settings/hooks/git/{{.Name|PathEscape}}">
{{svg "octicon-pencil"}} {{svg "octicon-pencil"}}
</a> </a>
</div> </div>

View file

@ -44,7 +44,7 @@
<td>{{if .InRepo}}{{svg "octicon-check"}}{{else}}{{svg "octicon-x"}}{{end}}</td> <td>{{if .InRepo}}{{svg "octicon-check"}}{{else}}{{svg "octicon-x"}}{{end}}</td>
<td>{{if .Exists}}{{svg "octicon-check"}}{{else}}{{svg "octicon-x"}}{{end}}</td> <td>{{if .Exists}}{{svg "octicon-check"}}{{else}}{{svg "octicon-x"}}{{end}}</td>
<td>{{if .Accessible}}{{svg "octicon-check"}}{{else}}{{svg "octicon-x"}}{{end}}</td> <td>{{if .Accessible}}{{svg "octicon-check"}}{{else}}{{svg "octicon-x"}}{{end}}</td>
<td class="gt-text-right"> <td class="tw-text-right">
<a class="ui primary button" href="{{$.LFSFilesLink}}/find?oid={{.Oid}}&size={{.Size}}&sha={{.SHA}}">{{ctx.Locale.Tr "repo.settings.lfs_findcommits"}}</a> <a class="ui primary button" href="{{$.LFSFilesLink}}/find?oid={{.Oid}}&size={{.Size}}&sha={{.SHA}}">{{ctx.Locale.Tr "repo.settings.lfs_findcommits"}}</a>
</td> </td>
</tr> </tr>

View file

@ -80,7 +80,7 @@
</h4> </h4>
<div class="ui attached segment"> <div class="ui attached segment">
{{if .Repository.IsArchived}} {{if .Repository.IsArchived}}
<div class="ui warning message gt-text-center"> <div class="ui warning message tw-text-center">
{{ctx.Locale.Tr "repo.settings.archive.mirrors_unavailable"}} {{ctx.Locale.Tr "repo.settings.archive.mirrors_unavailable"}}
</div> </div>
{{else}} {{else}}

View file

@ -1,7 +1,7 @@
{{template "repo/settings/layout_head" (dict "ctxData" . "pageClass" "repository settings edit")}} {{template "repo/settings/layout_head" (dict "ctxData" . "pageClass" "repository settings edit")}}
<div class="repo-setting-content"> <div class="repo-setting-content">
{{if .Repository.IsArchived}} {{if .Repository.IsArchived}}
<div class="ui warning message gt-text-center"> <div class="ui warning message tw-text-center">
{{ctx.Locale.Tr "repo.settings.archive.tagsettings_unavailable"}} {{ctx.Locale.Tr "repo.settings.archive.tagsettings_unavailable"}}
</div> </div>
{{else}} {{else}}

View file

@ -1,6 +1,6 @@
{{if .EscapeStatus}} {{if .EscapeStatus}}
{{if .EscapeStatus.HasInvisible}} {{if .EscapeStatus.HasInvisible}}
<div class="ui warning message unicode-escape-prompt gt-text-left"> <div class="ui warning message unicode-escape-prompt tw-text-left">
<button class="btn close icon hide-panel" data-panel-closest=".message">{{svg "octicon-x" 16 "close inside"}}</button> <button class="btn close icon hide-panel" data-panel-closest=".message">{{svg "octicon-x" 16 "close inside"}}</button>
<div class="header"> <div class="header">
{{ctx.Locale.Tr "repo.invisible_runes_header"}} {{ctx.Locale.Tr "repo.invisible_runes_header"}}
@ -11,7 +11,7 @@
{{end}} {{end}}
</div> </div>
{{else if .EscapeStatus.HasAmbiguous}} {{else if .EscapeStatus.HasAmbiguous}}
<div class="ui warning message unicode-escape-prompt gt-text-left"> <div class="ui warning message unicode-escape-prompt tw-text-left">
<button class="btn close icon hide-panel" data-panel-closest=".message">{{svg "octicon-x" 16 "close inside"}}</button> <button class="btn close icon hide-panel" data-panel-closest=".message">{{svg "octicon-x" 16 "close inside"}}</button>
<div class="header"> <div class="header">
{{ctx.Locale.Tr "repo.ambiguous_runes_header"}} {{ctx.Locale.Tr "repo.ambiguous_runes_header"}}

View file

@ -1,12 +1,12 @@
<div {{if .ReadmeInList}}id="readme" {{end}}class="{{TabSizeClass .Editorconfig .FileName}} non-diff-file-content"> <div {{if .ReadmeInList}}id="readme" {{end}}class="{{TabSizeClass .Editorconfig .FileName}} non-diff-file-content">
{{- if .FileError}} {{- if .FileError}}
<div class="ui error message"> <div class="ui error message">
<div class="text left gt-whitespace-pre">{{.FileError}}</div> <div class="text left tw-whitespace-pre">{{.FileError}}</div>
</div> </div>
{{end}} {{end}}
{{- if .FileWarning}} {{- if .FileWarning}}
<div class="ui warning message"> <div class="ui warning message">
<div class="text left gt-whitespace-pre">{{.FileWarning}}</div> <div class="text left tw-whitespace-pre">{{.FileWarning}}</div>
</div> </div>
{{end}} {{end}}

View file

@ -79,19 +79,19 @@
{{if .sidebarPresent}} {{if .sidebarPresent}}
<div class="markup wiki-content-sidebar"> <div class="markup wiki-content-sidebar">
{{if and .CanWriteWiki (not .Repository.IsMirror)}} {{if and .CanWriteWiki (not .Repository.IsMirror)}}
<a class="gt-float-right muted" href="{{.RepoLink}}/wiki/_Sidebar?action=_edit" aria-label="{{ctx.Locale.Tr "repo.wiki.edit_page_button"}}">{{svg "octicon-pencil"}}</a> <a class="tw-float-right muted" href="{{.RepoLink}}/wiki/_Sidebar?action=_edit" aria-label="{{ctx.Locale.Tr "repo.wiki.edit_page_button"}}">{{svg "octicon-pencil"}}</a>
{{end}} {{end}}
{{template "repo/unicode_escape_prompt" dict "EscapeStatus" .sidebarEscapeStatus "root" $}} {{template "repo/unicode_escape_prompt" dict "EscapeStatus" .sidebarEscapeStatus "root" $}}
{{.sidebarContent | SafeHTML}} {{.sidebarContent | SafeHTML}}
</div> </div>
{{end}} {{end}}
<div class="gt-clear-both"></div> <div class="tw-clear-both"></div>
{{if .footerPresent}} {{if .footerPresent}}
<div class="markup wiki-content-footer"> <div class="markup wiki-content-footer">
{{if and .CanWriteWiki (not .Repository.IsMirror)}} {{if and .CanWriteWiki (not .Repository.IsMirror)}}
<a class="gt-float-right muted" href="{{.RepoLink}}/wiki/_Footer?action=_edit" aria-label="{{ctx.Locale.Tr "repo.wiki.edit_page_button"}}">{{svg "octicon-pencil"}}</a> <a class="tw-float-right muted" href="{{.RepoLink}}/wiki/_Footer?action=_edit" aria-label="{{ctx.Locale.Tr "repo.wiki.edit_page_button"}}">{{svg "octicon-pencil"}}</a>
{{end}} {{end}}
{{template "repo/unicode_escape_prompt" dict "footerEscapeStatus" .sidebarEscapeStatus "root" $}} {{template "repo/unicode_escape_prompt" dict "footerEscapeStatus" .sidebarEscapeStatus "root" $}}
{{.footerContent | SafeHTML}} {{.footerContent | SafeHTML}}

View file

@ -41,7 +41,7 @@
<div class="ui container gt-my-5"> <div class="ui container gt-my-5">
{{if .ErrorMsg}} {{if .ErrorMsg}}
<p>{{ctx.Locale.Tr "error.occurred"}}:</p> <p>{{ctx.Locale.Tr "error.occurred"}}:</p>
<pre class="gt-whitespace-pre-wrap gt-break-all">{{.ErrorMsg}}</pre> <pre class="tw-whitespace-pre-wrap gt-break-all">{{.ErrorMsg}}</pre>
{{end}} {{end}}
<div class="center gt-mt-5"> <div class="center gt-mt-5">
{{if or .SignedUser.IsAdmin .ShowFooterVersion}}<p>{{ctx.Locale.Tr "admin.config.app_ver"}}: {{AppVer}}</p>{{end}} {{if or .SignedUser.IsAdmin .ShowFooterVersion}}<p>{{ctx.Locale.Tr "admin.config.app_ver"}}: {{AppVer}}</p>{{end}}

View file

@ -24,7 +24,7 @@
<div id="captcha" data-captcha-type="m-captcha" data-sitekey="{{.McaptchaSitekey}}" data-instance-url="{{.McaptchaURL}}"></div> <div id="captcha" data-captcha-type="m-captcha" data-sitekey="{{.McaptchaSitekey}}" data-instance-url="{{.McaptchaURL}}"></div>
</div> </div>
{{else if eq .CaptchaType "cfturnstile"}} {{else if eq .CaptchaType "cfturnstile"}}
<div class="inline field gt-text-center"> <div class="inline field tw-text-center">
<div id="captcha" data-captcha-type="cf-turnstile" data-sitekey="{{.CfTurnstileSitekey}}"></div> <div id="captcha" data-captcha-type="cf-turnstile" data-sitekey="{{.CfTurnstileSitekey}}"></div>
</div> </div>
<script src='https://challenges.cloudflare.com/turnstile/v0/api.js'></script> <script src='https://challenges.cloudflare.com/turnstile/v0/api.js'></script>

View file

@ -57,7 +57,7 @@
</form> </form>
<!-- Sort --> <!-- Sort -->
<div class="list-header-sort ui small dropdown type jump item"> <div class="list-header-sort ui small dropdown type jump item">
<span class="text gt-whitespace-nowrap"> <span class="text tw-whitespace-nowrap">
{{ctx.Locale.Tr "repo.issues.filter_sort"}} {{ctx.Locale.Tr "repo.issues.filter_sort"}}
{{svg "octicon-triangle-down" 14 "dropdown icon"}} {{svg "octicon-triangle-down" 14 "dropdown icon"}}
</span> </span>

View file

@ -36,7 +36,7 @@
{{else}} {{else}}
{{range $notification := .Notifications}} {{range $notification := .Notifications}}
<div class="notifications-item gt-df gt-ac gt-fw gt-gap-3 gt-p-3" id="notification_{{.ID}}" data-status="{{.Status}}"> <div class="notifications-item gt-df gt-ac gt-fw gt-gap-3 gt-p-3" id="notification_{{.ID}}" data-status="{{.Status}}">
<div class="notifications-icon gt-ml-3 gt-mr-2 gt-self-start gt-mt-2"> <div class="notifications-icon gt-ml-3 gt-mr-2 tw-self-start gt-mt-2">
{{if .Issue}} {{if .Issue}}
{{template "shared/issueicon" .Issue}} {{template "shared/issueicon" .Issue}}
{{else}} {{else}}

View file

@ -61,11 +61,11 @@
</div> </div>
<div class="field"> <div class="field">
<label>{{ctx.Locale.Tr "settings.repo_and_org_access"}}</label> <label>{{ctx.Locale.Tr "settings.repo_and_org_access"}}</label>
<label class="gt-cursor-pointer"> <label class="tw-cursor-pointer">
<input class="enable-system gt-mt-2 gt-mr-2" type="radio" name="scope" value="{{$.AccessTokenScopePublicOnly}}"> <input class="enable-system gt-mt-2 gt-mr-2" type="radio" name="scope" value="{{$.AccessTokenScopePublicOnly}}">
{{ctx.Locale.Tr "settings.permissions_public_only"}} {{ctx.Locale.Tr "settings.permissions_public_only"}}
</label> </label>
<label class="gt-cursor-pointer"> <label class="tw-cursor-pointer">
<input class="enable-system gt-mt-2 gt-mr-2" type="radio" name="scope" value="" checked> <input class="enable-system gt-mt-2 gt-mr-2" type="radio" name="scope" value="" checked>
{{ctx.Locale.Tr "settings.permissions_access_all"}} {{ctx.Locale.Tr "settings.permissions_access_all"}}
</label> </label>

View file

@ -32,7 +32,7 @@
{{else}} {{else}}
<span class="icon gt-dib gt-pt-3">{{svg "octicon-file-directory-fill"}}</span> <span class="icon gt-dib gt-pt-3">{{svg "octicon-file-directory-fill"}}</span>
<span class="name gt-dib gt-pt-3">{{$.ContextUser.Name}}/{{$dir}}</span> <span class="name gt-dib gt-pt-3">{{$.ContextUser.Name}}/{{$dir}}</span>
<div class="gt-float-right"> <div class="tw-float-right">
{{if $.allowAdopt}} {{if $.allowAdopt}}
<button class="ui button primary show-modal gt-p-3" data-modal="#adopt-unadopted-modal-{{$dirI}}"><span class="icon">{{svg "octicon-plus"}}</span><span class="label">{{ctx.Locale.Tr "repo.adopt_preexisting_label"}}</span></button> <button class="ui button primary show-modal gt-p-3" data-modal="#adopt-unadopted-modal-{{$dirI}}"><span class="icon">{{svg "octicon-plus"}}</span><span class="label">{{ctx.Locale.Tr "repo.adopt_preexisting_label"}}</span></button>
<div class="ui g-modal-confirm modal" id="adopt-unadopted-modal-{{$dirI}}"> <div class="ui g-modal-confirm modal" id="adopt-unadopted-modal-{{$dirI}}">

View file

@ -52,34 +52,14 @@ Gitea's private styles use `g-` prefix.
/* below class names match Tailwind CSS */ /* below class names match Tailwind CSS */
.gt-break-all { word-break: break-all !important; } .gt-break-all { word-break: break-all !important; }
.gt-content-center { align-content: center !important; } .gt-content-center { align-content: center !important; }
.gt-cursor-default { cursor: default !important; }
.gt-cursor-pointer { cursor: pointer !important; }
.gt-cursor-grab { cursor: grab !important; }
.gt-invisible { visibility: hidden !important; } .gt-invisible { visibility: hidden !important; }
.gt-items-start { align-items: flex-start !important; } .gt-items-start { align-items: flex-start !important; }
.gt-pointer-events-none { pointer-events: none !important; } .gt-pointer-events-none { pointer-events: none !important; }
.gt-relative { position: relative !important; } .gt-relative { position: relative !important; }
.gt-whitespace-nowrap { white-space: nowrap !important; }
.gt-whitespace-pre { white-space: pre !important; }
.gt-whitespace-pre-wrap { white-space: pre-wrap !important; }
.gt-object-contain { object-fit: contain !important; } .gt-object-contain { object-fit: contain !important; }
.gt-self-center { align-self: center !important; }
.gt-self-start { align-self: flex-start !important; }
.gt-self-end { align-self: flex-end !important; }
.gt-no-underline { text-decoration-line: none !important; } .gt-no-underline { text-decoration-line: none !important; }
.gt-normal-case { text-transform: none !important; } .gt-normal-case { text-transform: none !important; }
.gt-italic { font-style: italic !important; } .gt-italic { font-style: italic !important; }
.gt-overflow-x-auto { overflow-x: auto !important; }
.gt-overflow-x-scroll { overflow-x: scroll !important; }
.gt-overflow-y-hidden { overflow-y: hidden !important; }
.gt-float-left { float: left !important; }
.gt-float-right { float: right !important; }
.gt-clear-both { clear: both !important; }
.gt-text-center { text-align: center !important; }
.gt-text-left { text-align: left !important; }
.gt-text-right { text-align: right !important; }
.gt-font-light { font-weight: var(--font-weight-light) !important; } .gt-font-light { font-weight: var(--font-weight-light) !important; }
.gt-font-normal { font-weight: var(--font-weight-normal) !important; } .gt-font-normal { font-weight: var(--font-weight-normal) !important; }

View file

@ -278,7 +278,7 @@ export default sfc; // activate IDE's Vue plugin
<div class="ui label" v-if="item.name===repoDefaultBranch && mode === 'branches'"> <div class="ui label" v-if="item.name===repoDefaultBranch && mode === 'branches'">
{{ textDefaultBranchLabel }} {{ textDefaultBranchLabel }}
</div> </div>
<a v-show="enableFeed && mode === 'branches'" role="button" class="rss-icon gt-float-right" :href="rssURLPrefix + item.url" target="_blank" @click.stop> <a v-show="enableFeed && mode === 'branches'" role="button" class="rss-icon tw-float-right" :href="rssURLPrefix + item.url" target="_blank" @click.stop>
<!-- creating a lot of Vue component is pretty slow, so we use a static SVG here --> <!-- creating a lot of Vue component is pretty slow, so we use a static SVG here -->
<svg width="14" height="14" class="svg octicon-rss"><use href="#svg-symbol-octicon-rss"/></svg> <svg width="14" height="14" class="svg octicon-rss"><use href="#svg-symbol-octicon-rss"/></svg>
</a> </a>

View file

@ -234,7 +234,7 @@ export function initDropzone(el) {
// Create a "Copy Link" element, to conveniently copy the image // Create a "Copy Link" element, to conveniently copy the image
// or file link as Markdown to the clipboard // or file link as Markdown to the clipboard
const copyLinkElement = document.createElement('div'); const copyLinkElement = document.createElement('div');
copyLinkElement.className = 'gt-text-center'; copyLinkElement.className = 'tw-text-center';
// The a element has a hardcoded cursor: pointer because the default is overridden by .dropzone // The a element has a hardcoded cursor: pointer because the default is overridden by .dropzone
copyLinkElement.innerHTML = `<a href="#" style="cursor: pointer;">${svg('octicon-copy', 14, 'copy link')} Copy link</a>`; copyLinkElement.innerHTML = `<a href="#" style="cursor: pointer;">${svg('octicon-copy', 14, 'copy link')} Copy link</a>`;
copyLinkElement.addEventListener('click', async (e) => { copyLinkElement.addEventListener('click', async (e) => {

View file

@ -17,7 +17,7 @@ export function initGiteaFomantic() {
// By default, use "exact match" for full text search // By default, use "exact match" for full text search
$.fn.dropdown.settings.fullTextSearch = 'exact'; $.fn.dropdown.settings.fullTextSearch = 'exact';
// Do not use "cursor: pointer" for dropdown labels // Do not use "cursor: pointer" for dropdown labels
$.fn.dropdown.settings.className.label += ' gt-cursor-default'; $.fn.dropdown.settings.className.label += ' tw-cursor-default';
// Always use Gitea's SVG icons // Always use Gitea's SVG icons
$.fn.dropdown.settings.templates.label = function(_value, text, preserveHTML, className) { $.fn.dropdown.settings.templates.label = function(_value, text, preserveHTML, className) {
const escape = $.fn.dropdown.settings.templates.escape; const escape = $.fn.dropdown.settings.templates.escape;