Tested a few things, all working fine. Not sure if the chinese machine translation is good. --------- Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>tags/v1.22.0-rc0
@@ -47,7 +47,7 @@ We recommend [Google HTML/CSS Style Guide](https://google.github.io/styleguide/h | |||
9. Avoid unnecessary `!important` in CSS, add comments to explain why it's necessary if it can't be avoided. | |||
10. Avoid mixing different events in one event listener, prefer to use individual event listeners for every event. | |||
11. Custom event names are recommended to use `ce-` prefix. | |||
12. Gitea's tailwind-style CSS classes use `gt-` prefix (`gt-relative`), while Gitea's own private framework-level CSS classes use `g-` prefix (`g-modal-confirm`). | |||
12. Prefer using Tailwind CSS which is available via `tw-` prefix, e.g. `tw-relative`. Gitea's helper CSS classes use `gt-` prefix (`gt-df`), while Gitea's own private framework-level CSS classes use `g-` prefix (`g-modal-confirm`). | |||
13. Avoid inline scripts & styles as much as possible, it's recommended to put JS code into JS files and use CSS classes. If inline scripts & styles are unavoidable, explain the reason why it can't be avoided. | |||
### Accessibility / ARIA |
@@ -47,7 +47,7 @@ HTML 页面由[Go HTML Template](https://pkg.go.dev/html/template)渲染。 | |||
9. 避免在 CSS 中使用不必要的`!important`,如果无法避免,添加注释解释为什么需要它。 | |||
10. 避免在一个事件监听器中混合不同的事件,优先为每个事件使用独立的事件监听器。 | |||
11. 推荐使用自定义事件名称前缀`ce-`。 | |||
12. Gitea 的 tailwind-style CSS 类使用`gt-`前缀(`gt-relative`),而 Gitea 自身的私有框架级 CSS 类使用`g-`前缀(`g-modal-confirm`)。 | |||
12. 建议使用 Tailwind CSS,它可以通过 `tw-` 前缀获得,例如 `tw-relative`. Gitea 自身的助手类 CSS 使用 `gt-` 前缀(`gt-df`),Gitea 自身的私有框架级 CSS 类使用 `g-` 前缀(`g-modal-confirm`)。 | |||
13. 尽量避免内联脚本和样式,建议将JS代码放入JS文件中并使用CSS类。如果内联脚本和样式不可避免,请解释无法避免的原因。 | |||
### 可访问性 / ARIA |
@@ -47,8 +47,8 @@ | |||
{{range .Emails}} | |||
<tr> | |||
<td><a href="{{AppSubUrl}}/{{.Name | PathEscape}}">{{.Name}}</a></td> | |||
<td class="gt-ellipsis gt-max-width-12rem">{{.FullName}}</td> | |||
<td class="gt-ellipsis gt-max-width-12rem">{{.Email}}</td> | |||
<td class="gt-ellipsis tw-max-w-48">{{.FullName}}</td> | |||
<td class="gt-ellipsis tw-max-w-48">{{.Email}}</td> | |||
<td>{{if .IsPrimary}}{{svg "octicon-check"}}{{else}}{{svg "octicon-x"}}{{end}}</td> | |||
<td> | |||
{{if .CanChange}} |
@@ -62,8 +62,8 @@ | |||
{{end}} | |||
</td> | |||
<td>{{.Package.Type.Name}}</td> | |||
<td class="gt-ellipsis gt-max-width-12rem">{{.Package.Name}}</td> | |||
<td class="gt-ellipsis gt-max-width-12rem"><a href="{{.VersionWebLink}}">{{.Version.Version}}</a></td> | |||
<td class="gt-ellipsis tw-max-w-48">{{.Package.Name}}</td> | |||
<td class="gt-ellipsis tw-max-w-48"><a href="{{.VersionWebLink}}">{{.Version.Version}}</a></td> | |||
<td><a href="{{.Creator.HomeLink}}">{{.Creator.Name}}</a></td> | |||
<td> | |||
{{if .Repository}} |
@@ -96,7 +96,7 @@ | |||
<span class="ui mini label">{{ctx.Locale.Tr "admin.users.remote"}}</span> | |||
{{end}} | |||
</td> | |||
<td class="gt-ellipsis gt-max-width-12rem">{{.Email}}</td> | |||
<td class="gt-ellipsis tw-max-w-48">{{.Email}}</td> | |||
<td>{{if .IsActive}}{{svg "octicon-check"}}{{else}}{{svg "octicon-x"}}{{end}}</td> | |||
<td>{{if .IsRestricted}}{{svg "octicon-check"}}{{else}}{{svg "octicon-x"}}{{end}}</td> | |||
<td>{{if index $.UsersTwoFaStatus .ID}}{{svg "octicon-check"}}{{else}}{{svg "octicon-x"}}{{end}}</td> |
@@ -14,7 +14,7 @@ | |||
<div class="ui secondary menu item navbar-mobile-right"> | |||
{{if .IsSigned}} | |||
<a id="mobile-notifications-icon" class="item tw-w-auto gt-p-3" href="{{AppSubUrl}}/notifications" data-tooltip-content="{{ctx.Locale.Tr "notifications"}}" aria-label="{{ctx.Locale.Tr "notifications"}}"> | |||
<div class="gt-relative"> | |||
<div class="tw-relative"> | |||
{{svg "octicon-bell"}} | |||
<span class="notification_count{{if not $notificationUnreadCount}} gt-hidden{{end}}">{{$notificationUnreadCount}}</span> | |||
</div> | |||
@@ -76,7 +76,7 @@ | |||
{{else if .IsSigned}} | |||
{{if EnableTimetracking}} | |||
<a class="active-stopwatch-trigger item gt-mx-0{{if not .ActiveStopwatch}} gt-hidden{{end}}" href="{{.ActiveStopwatch.IssueLink}}" title="{{ctx.Locale.Tr "active_stopwatch"}}"> | |||
<div class="gt-relative"> | |||
<div class="tw-relative"> | |||
{{svg "octicon-stopwatch"}} | |||
<span class="header-stopwatch-dot"></span> | |||
</div> | |||
@@ -112,7 +112,7 @@ | |||
{{end}} | |||
<a class="item not-mobile gt-mx-0" href="{{AppSubUrl}}/notifications" data-tooltip-content="{{ctx.Locale.Tr "notifications"}}" aria-label="{{ctx.Locale.Tr "notifications"}}"> | |||
<div class="gt-relative"> | |||
<div class="tw-relative"> | |||
{{svg "octicon-bell"}} | |||
<span class="notification_count{{if not $notificationUnreadCount}} gt-hidden{{end}}">{{$notificationUnreadCount}}</span> | |||
</div> |
@@ -17,7 +17,7 @@ | |||
{{if eq .Num -1}} | |||
<a class="disabled item">...</a> | |||
{{else}} | |||
<a class="{{if .IsCurrent}}active {{end}}item gt-content-center" {{if not .IsCurrent}}href="{{$paginationLink}}?page={{.Num}}{{if $paginationParams}}&{{$paginationParams}}{{end}}"{{end}}>{{.Num}}</a> | |||
<a class="{{if .IsCurrent}}active {{end}}item tw-content-center" {{if not .IsCurrent}}href="{{$paginationLink}}?page={{.Num}}{{if $paginationParams}}&{{$paginationParams}}{{end}}"{{end}}>{{.Num}}</a> | |||
{{end}} | |||
{{end}} | |||
<a class="{{if not .HasNext}}disabled{{end}} item navigation" {{if .HasNext}}href="{{$paginationLink}}?page={{.Next}}{{if $paginationParams}}&{{$paginationParams}}{{end}}"{{end}}> |
@@ -17,7 +17,7 @@ | |||
{{$class = (print $class " isWarning")}} | |||
{{end}} | |||
{{end}} | |||
<div class="ui top attached header clearing segment gt-relative commit-header {{$class}}"> | |||
<div class="ui top attached header clearing segment tw-relative commit-header {{$class}}"> | |||
<div class="gt-df gt-mb-4 gt-fw"> | |||
<h3 class="gt-mb-0 gt-f1"><span class="commit-summary" title="{{.Commit.Summary}}">{{RenderCommitMessage $.Context .Commit.Message ($.Repository.ComposeMetas ctx)}}</span>{{template "repo/commit_statuses" dict "Status" .CommitStatus "Statuses" .CommitStatuses}}</h3> | |||
{{if not $.PageIsWiki}} |
@@ -112,7 +112,7 @@ | |||
<div class="diff-file-box diff-box file-content {{TabSizeClass $.Editorconfig $file.Name}} gt-mt-0" id="diff-{{$file.NameHash}}" data-old-filename="{{$file.OldName}}" data-new-filename="{{$file.Name}}" {{if or ($file.ShouldBeHidden) (not $isExpandable)}}data-folded="true"{{end}}> | |||
<h4 class="diff-file-header sticky-2nd-row ui top attached normal header gt-df gt-ac gt-sb gt-fw"> | |||
<div class="diff-file-name gt-df gt-ac gt-gap-2 gt-fw"> | |||
<button class="fold-file btn interact-bg gt-p-2{{if not $isExpandable}} gt-invisible{{end}}"> | |||
<button class="fold-file btn interact-bg gt-p-2{{if not $isExpandable}} tw-invisible{{end}}"> | |||
{{if $file.ShouldBeHidden}} | |||
{{svg "octicon-chevron-right" 18}} | |||
{{else}} |
@@ -17,13 +17,13 @@ | |||
{{if .Issue.Index}} | |||
{{if .ShowOutdatedComments}} | |||
<a class="item" href="?style={{if $.IsSplitStyle}}split{{else}}unified{{end}}&whitespace={{$.WhitespaceBehavior}}&show-outdated=false"> | |||
<label class="gt-pointer-events-none"> | |||
<label class="tw-pointer-events-none"> | |||
{{ctx.Locale.Tr "repo.issues.review.option.hide_outdated_comments"}} | |||
</label> | |||
</a> | |||
{{else}} | |||
<a class="item" href="?style={{if $.IsSplitStyle}}split{{else}}unified{{end}}&whitespace={{$.WhitespaceBehavior}}&show-outdated=true"> | |||
<label class="gt-pointer-events-none"> | |||
<label class="tw-pointer-events-none"> | |||
{{ctx.Locale.Tr "repo.issues.review.option.show_outdated_comments"}} | |||
</label> | |||
</a> |
@@ -47,7 +47,7 @@ | |||
<td class="lines-type-marker lines-type-marker-old del-code"><span class="gt-mono" data-type-marker="{{$line.GetLineTypeMarker}}"></span></td> | |||
<td class="lines-code lines-code-old del-code">{{/* | |||
*/}}{{if and $.root.SignedUserID $.root.PageIsPullFiles}}{{/* | |||
*/}}<button type="button" aria-label="{{ctx.Locale.Tr "repo.diff.comment.add_line_comment"}}" class="ui primary button add-code-comment add-code-comment-left{{if (not $line.CanComment)}} gt-invisible{{end}}" data-side="left" data-idx="{{$line.LeftIdx}}">{{/* | |||
*/}}<button type="button" aria-label="{{ctx.Locale.Tr "repo.diff.comment.add_line_comment"}}" class="ui primary button add-code-comment add-code-comment-left{{if (not $line.CanComment)}} tw-invisible{{end}}" data-side="left" data-idx="{{$line.LeftIdx}}">{{/* | |||
*/}}{{svg "octicon-plus"}}{{/* | |||
*/}}</button>{{/* | |||
*/}}{{end}}{{/* | |||
@@ -62,7 +62,7 @@ | |||
<td class="lines-type-marker lines-type-marker-new add-code">{{if $match.RightIdx}}<span class="gt-mono" data-type-marker="{{$match.GetLineTypeMarker}}"></span>{{end}}</td> | |||
<td class="lines-code lines-code-new add-code">{{/* | |||
*/}}{{if and $.root.SignedUserID $.root.PageIsPullFiles}}{{/* | |||
*/}}<button type="button" aria-label="{{ctx.Locale.Tr "repo.diff.comment.add_line_comment"}}" class="ui primary button add-code-comment add-code-comment-right{{if (not $match.CanComment)}} gt-invisible{{end}}" data-side="right" data-idx="{{$match.RightIdx}}">{{/* | |||
*/}}<button type="button" aria-label="{{ctx.Locale.Tr "repo.diff.comment.add_line_comment"}}" class="ui primary button add-code-comment add-code-comment-right{{if (not $match.CanComment)}} tw-invisible{{end}}" data-side="right" data-idx="{{$match.RightIdx}}">{{/* | |||
*/}}{{svg "octicon-plus"}}{{/* | |||
*/}}</button>{{/* | |||
*/}}{{end}}{{/* | |||
@@ -79,7 +79,7 @@ | |||
<td class="lines-type-marker lines-type-marker-old">{{if $line.LeftIdx}}<span class="gt-mono" data-type-marker="{{$line.GetLineTypeMarker}}"></span>{{end}}</td> | |||
<td class="lines-code lines-code-old">{{/* | |||
*/}}{{if and $.root.SignedUserID $.root.PageIsPullFiles (not (eq .GetType 2))}}{{/* | |||
*/}}<button type="button" aria-label="{{ctx.Locale.Tr "repo.diff.comment.add_line_comment"}}" class="ui primary button add-code-comment add-code-comment-left{{if (not $line.CanComment)}} gt-invisible{{end}}" data-side="left" data-idx="{{$line.LeftIdx}}">{{/* | |||
*/}}<button type="button" aria-label="{{ctx.Locale.Tr "repo.diff.comment.add_line_comment"}}" class="ui primary button add-code-comment add-code-comment-left{{if (not $line.CanComment)}} tw-invisible{{end}}" data-side="left" data-idx="{{$line.LeftIdx}}">{{/* | |||
*/}}{{svg "octicon-plus"}}{{/* | |||
*/}}</button>{{/* | |||
*/}}{{end}}{{/* | |||
@@ -94,7 +94,7 @@ | |||
<td class="lines-type-marker lines-type-marker-new">{{if $line.RightIdx}}<span class="gt-mono" data-type-marker="{{$line.GetLineTypeMarker}}"></span>{{end}}</td> | |||
<td class="lines-code lines-code-new">{{/* | |||
*/}}{{if and $.root.SignedUserID $.root.PageIsPullFiles (not (eq .GetType 3))}}{{/* | |||
*/}}<button type="button" aria-label="{{ctx.Locale.Tr "repo.diff.comment.add_line_comment"}}" class="ui primary button add-code-comment add-code-comment-right{{if (not $line.CanComment)}} gt-invisible{{end}}" data-side="right" data-idx="{{$line.RightIdx}}">{{/* | |||
*/}}<button type="button" aria-label="{{ctx.Locale.Tr "repo.diff.comment.add_line_comment"}}" class="ui primary button add-code-comment add-code-comment-right{{if (not $line.CanComment)}} tw-invisible{{end}}" data-side="right" data-idx="{{$line.RightIdx}}">{{/* | |||
*/}}{{svg "octicon-plus"}}{{/* | |||
*/}}</button>{{/* | |||
*/}}{{end}}{{/* |
@@ -52,7 +52,7 @@ | |||
{{else}} | |||
<td class="chroma lines-code{{if (not $line.RightIdx)}} lines-code-old{{end}}">{{/* | |||
*/}}{{if and $.root.SignedUserID $.root.PageIsPullFiles}}{{/* | |||
*/}}<button type="button" aria-label="{{ctx.Locale.Tr "repo.diff.comment.add_line_comment"}}" class="ui primary button add-code-comment add-code-comment-{{if $line.RightIdx}}right{{else}}left{{end}}{{if (not $line.CanComment)}} gt-invisible{{end}}" data-side="{{if $line.RightIdx}}right{{else}}left{{end}}" data-idx="{{if $line.RightIdx}}{{$line.RightIdx}}{{else}}{{$line.LeftIdx}}{{end}}">{{/* | |||
*/}}<button type="button" aria-label="{{ctx.Locale.Tr "repo.diff.comment.add_line_comment"}}" class="ui primary button add-code-comment add-code-comment-{{if $line.RightIdx}}right{{else}}left{{end}}{{if (not $line.CanComment)}} tw-invisible{{end}}" data-side="{{if $line.RightIdx}}right{{else}}left{{end}}" data-idx="{{if $line.RightIdx}}{{$line.RightIdx}}{{else}}{{$line.LeftIdx}}{{end}}">{{/* | |||
*/}}{{svg "octicon-plus"}}{{/* | |||
*/}}</button>{{/* | |||
*/}}{{end}}{{/* |
@@ -2,26 +2,26 @@ | |||
{{svg "gitea-whitespace"}} | |||
<div class="menu"> | |||
<a class="item" href="?style={{if .IsSplitStyle}}split{{else}}unified{{end}}&whitespace=show-all&show-outdated={{$.ShowOutdatedComments}}"> | |||
<label class="gt-pointer-events-none"> | |||
<input class="gt-mr-3 gt-pointer-events-none" type="radio"{{if eq .WhitespaceBehavior "show-all"}} checked{{end}}> | |||
<label class="tw-pointer-events-none"> | |||
<input class="gt-mr-3 tw-pointer-events-none" type="radio"{{if eq .WhitespaceBehavior "show-all"}} checked{{end}}> | |||
{{ctx.Locale.Tr "repo.diff.whitespace_show_everything"}} | |||
</label> | |||
</a> | |||
<a class="item" href="?style={{if .IsSplitStyle}}split{{else}}unified{{end}}&whitespace=ignore-all&show-outdated={{$.ShowOutdatedComments}}"> | |||
<label class="gt-pointer-events-none"> | |||
<input class="gt-mr-3 gt-pointer-events-none" type="radio"{{if eq .WhitespaceBehavior "ignore-all"}} checked{{end}}> | |||
<label class="tw-pointer-events-none"> | |||
<input class="gt-mr-3 tw-pointer-events-none" type="radio"{{if eq .WhitespaceBehavior "ignore-all"}} checked{{end}}> | |||
{{ctx.Locale.Tr "repo.diff.whitespace_ignore_all_whitespace"}} | |||
</label> | |||
</a> | |||
<a class="item" href="?style={{if .IsSplitStyle}}split{{else}}unified{{end}}&whitespace=ignore-change&show-outdated={{$.ShowOutdatedComments}}"> | |||
<label class="gt-pointer-events-none"> | |||
<input class="gt-mr-3 gt-pointer-events-none" type="radio"{{if eq .WhitespaceBehavior "ignore-change"}} checked{{end}}> | |||
<label class="tw-pointer-events-none"> | |||
<input class="gt-mr-3 tw-pointer-events-none" type="radio"{{if eq .WhitespaceBehavior "ignore-change"}} checked{{end}}> | |||
{{ctx.Locale.Tr "repo.diff.whitespace_ignore_amount_changes"}} | |||
</label> | |||
</a> | |||
<a class="item" href="?style={{if .IsSplitStyle}}split{{else}}unified{{end}}&whitespace=ignore-eol&show-outdated={{$.ShowOutdatedComments}}"> | |||
<label class="gt-pointer-events-none"> | |||
<input class="gt-mr-3 gt-pointer-events-none" type="radio"{{if eq .WhitespaceBehavior "ignore-eol"}} checked{{end}}> | |||
<label class="tw-pointer-events-none"> | |||
<input class="gt-mr-3 tw-pointer-events-none" type="radio"{{if eq .WhitespaceBehavior "ignore-eol"}} checked{{end}}> | |||
{{ctx.Locale.Tr "repo.diff.whitespace_ignore_at_eol"}} | |||
</label> | |||
</a> |
@@ -7,7 +7,7 @@ | |||
</div> | |||
{{end}} | |||
<div class="content gt-p-0 tw-w-full"> | |||
<div class="gt-df gt-items-start"> | |||
<div class="gt-df tw-items-start"> | |||
<div class="issue-card-icon"> | |||
{{template "shared/issueicon" .}} | |||
</div> |
@@ -21,7 +21,7 @@ | |||
<div class="divider"></div> | |||
{{end}} | |||
{{$previousExclusiveScope = $exclusiveScope}} | |||
<a class="{{if .IsChecked}}checked{{end}} item" href="#" data-id="{{.ID}}" {{if .IsArchived}}data-is-archived{{end}} data-id-selector="#label_{{.ID}}" data-scope="{{$exclusiveScope}}"><span class="octicon-check {{if not .IsChecked}}gt-invisible{{end}}">{{if $exclusiveScope}}{{svg "octicon-dot-fill"}}{{else}}{{svg "octicon-check"}}{{end}}</span> {{RenderLabel $.Context .}} | |||
<a class="{{if .IsChecked}}checked{{end}} item" href="#" data-id="{{.ID}}" {{if .IsArchived}}data-is-archived{{end}} data-id-selector="#label_{{.ID}}" data-scope="{{$exclusiveScope}}"><span class="octicon-check {{if not .IsChecked}}tw-invisible{{end}}">{{if $exclusiveScope}}{{svg "octicon-dot-fill"}}{{else}}{{svg "octicon-check"}}{{end}}</span> {{RenderLabel $.Context .}} | |||
{{if .Description}}<br><small class="desc">{{.Description | RenderEmoji $.Context}}</small>{{end}} | |||
<p class="archived-label-hint">{{template "repo/issue/labels/label_archived" .}}</p> | |||
</a> | |||
@@ -34,7 +34,7 @@ | |||
<div class="divider"></div> | |||
{{end}} | |||
{{$previousExclusiveScope = $exclusiveScope}} | |||
<a class="{{if .IsChecked}}checked{{end}} item" href="#" data-id="{{.ID}}" {{if .IsArchived}}data-is-archived{{end}} data-id-selector="#label_{{.ID}}" data-scope="{{$exclusiveScope}}"><span class="octicon-check {{if not .IsChecked}}gt-invisible{{end}}">{{if $exclusiveScope}}{{svg "octicon-dot-fill"}}{{else}}{{svg "octicon-check"}}{{end}}</span> {{RenderLabel $.Context .}} | |||
<a class="{{if .IsChecked}}checked{{end}} item" href="#" data-id="{{.ID}}" {{if .IsArchived}}data-is-archived{{end}} data-id-selector="#label_{{.ID}}" data-scope="{{$exclusiveScope}}"><span class="octicon-check {{if not .IsChecked}}tw-invisible{{end}}">{{if $exclusiveScope}}{{svg "octicon-dot-fill"}}{{else}}{{svg "octicon-check"}}{{end}}</span> {{RenderLabel $.Context .}} | |||
{{if .Description}}<br><small class="desc">{{.Description | RenderEmoji $.Context}}</small>{{end}} | |||
<p class="archived-label-hint">{{template "repo/issue/labels/label_archived" .}}</p> | |||
</a> |
@@ -156,7 +156,7 @@ | |||
<div class="no-select item">{{ctx.Locale.Tr "repo.issues.new.clear_assignees"}}</div> | |||
{{range .Assignees}} | |||
<a class="item muted" href="#" data-id="{{.ID}}" data-id-selector="#assignee_{{.ID}}"> | |||
<span class="octicon-check gt-invisible">{{svg "octicon-check"}}</span> | |||
<span class="octicon-check tw-invisible">{{svg "octicon-check"}}</span> | |||
<span class="text"> | |||
{{ctx.AvatarUtils.Avatar . 28 "gt-mr-3"}}{{template "repo/search_name" .}} | |||
</span> |
@@ -20,7 +20,7 @@ | |||
{{range .Reviewers}} | |||
{{if .User}} | |||
<a class="{{if not .CanChange}}ui{{end}} item {{if .Checked}}checked{{end}} {{if not .CanChange}}ban-change{{end}}" href="#" data-id="{{.ItemID}}" data-id-selector="#review_request_{{.ItemID}}" {{if not .CanChange}} data-tooltip-content="{{ctx.Locale.Tr "repo.issues.remove_request_review_block"}}"{{end}}> | |||
<span class="octicon-check {{if not .Checked}}gt-invisible{{end}}">{{svg "octicon-check"}}</span> | |||
<span class="octicon-check {{if not .Checked}}tw-invisible{{end}}">{{svg "octicon-check"}}</span> | |||
<span class="text"> | |||
{{ctx.AvatarUtils.Avatar .User 28 "gt-mr-3"}}{{template "repo/search_name" .User}} | |||
</span> | |||
@@ -35,7 +35,7 @@ | |||
{{range .TeamReviewers}} | |||
{{if .Team}} | |||
<a class="{{if not .CanChange}}ui{{end}} item {{if .Checked}}checked{{end}} {{if not .CanChange}}ban-change{{end}}" href="#" data-id="{{.ItemID}}" data-id-selector="#review_request_team_{{.Team.ID}}" {{if not .CanChange}} data-tooltip-content="{{ctx.Locale.Tr "repo.issues.remove_request_review_block"}}"{{end}}> | |||
<span class="octicon-check {{if not .Checked}}gt-invisible{{end}}">{{svg "octicon-check" 16}}</span> | |||
<span class="octicon-check {{if not .Checked}}tw-invisible{{end}}">{{svg "octicon-check" 16}}</span> | |||
<span class="text"> | |||
{{svg "octicon-people" 16 "gt-ml-4 gt-mr-2"}}{{$.Issue.Repo.OwnerName}}/{{.Team.Name}} | |||
</span> | |||
@@ -231,7 +231,7 @@ | |||
{{$checked = true}} | |||
{{end}} | |||
{{end}} | |||
<span class="octicon-check {{if not $checked}}gt-invisible{{end}}">{{svg "octicon-check"}}</span> | |||
<span class="octicon-check {{if not $checked}}tw-invisible{{end}}">{{svg "octicon-check"}}</span> | |||
<span class="text"> | |||
{{ctx.AvatarUtils.Avatar . 20 "gt-mr-3"}}{{template "repo/search_name" .}} | |||
</span> |
@@ -16,7 +16,7 @@ | |||
{{.CsrfTokenHtml}} | |||
<input type="hidden" name="action" value="default_branch"> | |||
{{if not .Repository.IsEmpty}} | |||
<div class="ui dropdown selection gt-f1 gt-mr-3 gt-max-width-24rem"> | |||
<div class="ui dropdown selection gt-f1 gt-mr-3 tw-max-w-96"> | |||
{{svg "octicon-triangle-down" 14 "dropdown icon"}} | |||
<input type="hidden" name="branch" value="{{.Repository.DefaultBranch}}"> | |||
<div class="default text">{{.Repository.DefaultBranch}}</div> |
@@ -38,7 +38,7 @@ | |||
<div class="ui container gt-my-5"> | |||
{{if .ErrorMsg}} | |||
<p>{{ctx.Locale.Tr "error.occurred"}}:</p> | |||
<pre class="tw-whitespace-pre-wrap gt-break-all">{{.ErrorMsg}}</pre> | |||
<pre class="tw-whitespace-pre-wrap tw-break-all">{{.ErrorMsg}}</pre> | |||
{{end}} | |||
<div class="center gt-mt-5"> | |||
{{if or .SignedUser.IsAdmin .ShowFooterVersion}}<p>{{ctx.Locale.Tr "admin.config.app_ver"}}: {{AppVer}}</p>{{end}} |
@@ -46,16 +46,7 @@ Gitea's private styles use `g-` prefix. | |||
text-overflow: ellipsis; | |||
} | |||
.gt-max-width-12rem { max-width: 12rem !important; } | |||
.gt-max-width-24rem { max-width: 24rem !important; } | |||
/* below class names match Tailwind CSS */ | |||
.gt-break-all { word-break: break-all !important; } | |||
.gt-content-center { align-content: center !important; } | |||
.gt-invisible { visibility: hidden !important; } | |||
.gt-items-start { align-items: flex-start !important; } | |||
.gt-pointer-events-none { pointer-events: none !important; } | |||
.gt-relative { position: relative !important; } | |||
.gt-object-contain { object-fit: contain !important; } | |||
.gt-no-underline { text-decoration-line: none !important; } | |||
.gt-normal-case { text-transform: none !important; } |
@@ -69,9 +69,9 @@ function initRepoDiffConversationForm() { | |||
$form.closest('.conversation-holder').replaceWith($newConversationHolder); | |||
if ($form.closest('tr').data('line-type') === 'same') { | |||
$(`[data-path="${path}"] .add-code-comment[data-idx="${idx}"]`).addClass('gt-invisible'); | |||
$(`[data-path="${path}"] .add-code-comment[data-idx="${idx}"]`).addClass('tw-invisible'); | |||
} else { | |||
$(`[data-path="${path}"] .add-code-comment[data-side="${side}"][data-idx="${idx}"]`).addClass('gt-invisible'); | |||
$(`[data-path="${path}"] .add-code-comment[data-side="${side}"][data-idx="${idx}"]`).addClass('tw-invisible'); | |||
} | |||
$newConversationHolder.find('.dropdown').dropdown(); | |||
initCompReactionSelector($newConversationHolder); |
@@ -180,9 +180,9 @@ export function initRepoIssueCommentDelete() { | |||
const idx = $conversationHolder.data('idx'); | |||
const lineType = $conversationHolder.closest('tr').data('line-type'); | |||
if (lineType === 'same') { | |||
$(`[data-path="${path}"] .add-code-comment[data-idx="${idx}"]`).removeClass('gt-invisible'); | |||
$(`[data-path="${path}"] .add-code-comment[data-idx="${idx}"]`).removeClass('tw-invisible'); | |||
} else { | |||
$(`[data-path="${path}"] .add-code-comment[data-side="${side}"][data-idx="${idx}"]`).removeClass('gt-invisible'); | |||
$(`[data-path="${path}"] .add-code-comment[data-side="${side}"][data-idx="${idx}"]`).removeClass('tw-invisible'); | |||
} | |||
$conversationHolder.remove(); | |||
} |
@@ -150,7 +150,7 @@ export function initRepoCommentForm() { | |||
if ($(this).hasClass('checked')) { | |||
$(this).removeClass('checked'); | |||
$(this).find('.octicon-check').addClass('gt-invisible'); | |||
$(this).find('.octicon-check').addClass('tw-invisible'); | |||
if (hasUpdateAction) { | |||
if (!($(this).data('id') in items)) { | |||
items[$(this).data('id')] = { | |||
@@ -164,7 +164,7 @@ export function initRepoCommentForm() { | |||
} | |||
} else { | |||
$(this).addClass('checked'); | |||
$(this).find('.octicon-check').removeClass('gt-invisible'); | |||
$(this).find('.octicon-check').removeClass('tw-invisible'); | |||
if (hasUpdateAction) { | |||
if (!($(this).data('id') in items)) { | |||
items[$(this).data('id')] = { | |||
@@ -218,7 +218,7 @@ export function initRepoCommentForm() { | |||
$(this).parent().find('.item').each(function () { | |||
$(this).removeClass('checked'); | |||
$(this).find('.octicon-check').addClass('gt-invisible'); | |||
$(this).find('.octicon-check').addClass('tw-invisible'); | |||
}); | |||
if (selector === 'select-reviewers-modify' || selector === 'select-assignees-modify') { |
@@ -9,13 +9,13 @@ export function initUserAuthOauth2() { | |||
for (const link of outer.querySelectorAll('.oauth-login-link')) { | |||
link.addEventListener('click', () => { | |||
inner.classList.add('gt-invisible'); | |||
inner.classList.add('tw-invisible'); | |||
outer.classList.add('is-loading'); | |||
setTimeout(() => { | |||
// recover previous content to let user try again | |||
// usually redirection will be performed before this action | |||
outer.classList.remove('is-loading'); | |||
inner.classList.remove('gt-invisible'); | |||
inner.classList.remove('tw-invisible'); | |||
}, 5000); | |||
}); | |||
} |
@@ -45,7 +45,7 @@ export async function renderMermaid() { | |||
const {svg} = await mermaid.render('mermaid', source); | |||
const iframe = document.createElement('iframe'); | |||
iframe.classList.add('markup-render', 'gt-invisible'); | |||
iframe.classList.add('markup-render', 'tw-invisible'); | |||
iframe.srcdoc = `<html><head><style>${iframeCss}</style></head><body>${svg}</body></html>`; | |||
const mermaidBlock = document.createElement('div'); | |||
@@ -62,7 +62,7 @@ export async function renderMermaid() { | |||
iframe.style.height = `${iframe.contentWindow.document.body.clientHeight}px`; | |||
setTimeout(() => { // avoid flash of iframe background | |||
mermaidBlock.classList.remove('is-loading'); | |||
iframe.classList.remove('gt-invisible'); | |||
iframe.classList.remove('tw-invisible'); | |||
}, 0); | |||
}); | |||