* Enforce tab indendation in templates This adds editorconfig-checker [1] to lint the template files so they conform the editorconfig files. I fixed all current identation issues using the fix mode of eclint [2] and some manual corrections. We can extend this linting to other files later, for now I'd like this PR to focus on HTML template files only. [1] https://github.com/editorconfig-checker/editorconfig-checker [2] https://github.com/jedmao/eclint * fix indendation Co-authored-by: zeripath <art27@cantab.net> Co-authored-by: techknowlogick <techknowlogick@gitea.io>tags/v1.15.0-rc1
@@ -12,6 +12,12 @@ insert_final_newline = true | |||
[*.{go,tmpl,html}] | |||
indent_style = tab | |||
[templates/custom/*.tmpl] | |||
insert_final_newline = false | |||
[templates/swagger/v1_json.tmpl] | |||
indent_style = space | |||
[Makefile] | |||
indent_style = tab | |||
@@ -325,6 +325,7 @@ lint: lint-frontend lint-backend | |||
lint-frontend: node_modules | |||
npx eslint --color --max-warnings=0 web_src/js build templates *.config.js | |||
npx stylelint --color --max-warnings=0 web_src/less | |||
npx editorconfig-checker templates | |||
.PHONY: lint-backend | |||
lint-backend: golangci-lint revive vet |
@@ -1570,6 +1570,32 @@ | |||
"resolved": "https://registry.npmjs.org/add-asset-webpack-plugin/-/add-asset-webpack-plugin-2.0.1.tgz", | |||
"integrity": "sha512-Hx9EKnirCUfdh684y1yhx8QOFolpkIG2VRHHgNm8wFy1Cf7P3RGwS678hoN7Y1XvZRPpVXWa+6QnfL/2i0CMCA==" | |||
}, | |||
"agent-base": { | |||
"version": "6.0.2", | |||
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", | |||
"integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", | |||
"dev": true, | |||
"requires": { | |||
"debug": "4" | |||
}, | |||
"dependencies": { | |||
"debug": { | |||
"version": "4.3.1", | |||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", | |||
"integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", | |||
"dev": true, | |||
"requires": { | |||
"ms": "2.1.2" | |||
} | |||
}, | |||
"ms": { | |||
"version": "2.1.2", | |||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", | |||
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", | |||
"dev": true | |||
} | |||
} | |||
}, | |||
"aggregate-error": { | |||
"version": "3.1.0", | |||
"resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", | |||
@@ -3388,6 +3414,17 @@ | |||
"safer-buffer": "^2.1.0" | |||
} | |||
}, | |||
"editorconfig-checker": { | |||
"version": "4.0.2", | |||
"resolved": "https://registry.npmjs.org/editorconfig-checker/-/editorconfig-checker-4.0.2.tgz", | |||
"integrity": "sha512-tUI7ABIzMB1kfwTUQmX+gaZGCMNuUgGuRHJ+Xu4Tk9T8lV8Vy5w/EaQsSZ7NKrOgLxbekptw6MUgrzHTvhceLw==", | |||
"dev": true, | |||
"requires": { | |||
"https-proxy-agent": "^5.0.0", | |||
"node-fetch": "^2.6.0", | |||
"tar": "^6.0.0" | |||
} | |||
}, | |||
"electron-to-chromium": { | |||
"version": "1.3.707", | |||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.707.tgz", | |||
@@ -4936,6 +4973,33 @@ | |||
"sshpk": "^1.7.0" | |||
} | |||
}, | |||
"https-proxy-agent": { | |||
"version": "5.0.0", | |||
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", | |||
"integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", | |||
"dev": true, | |||
"requires": { | |||
"agent-base": "6", | |||
"debug": "4" | |||
}, | |||
"dependencies": { | |||
"debug": { | |||
"version": "4.3.1", | |||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", | |||
"integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", | |||
"dev": true, | |||
"requires": { | |||
"ms": "2.1.2" | |||
} | |||
}, | |||
"ms": { | |||
"version": "2.1.2", | |||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", | |||
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", | |||
"dev": true | |||
} | |||
} | |||
}, | |||
"human-signals": { | |||
"version": "2.1.0", | |||
"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", | |||
@@ -8107,6 +8171,12 @@ | |||
"lower-case": "^1.1.1" | |||
} | |||
}, | |||
"node-fetch": { | |||
"version": "2.6.1", | |||
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", | |||
"integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==", | |||
"dev": true | |||
}, | |||
"node-int64": { | |||
"version": "0.4.0", | |||
"resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", |
@@ -47,6 +47,7 @@ | |||
}, | |||
"devDependencies": { | |||
"eslint": "7.23.0", | |||
"editorconfig-checker": "4.0.2", | |||
"eslint-plugin-html": "6.1.2", | |||
"eslint-plugin-import": "2.22.1", | |||
"eslint-plugin-unicorn": "29.0.0", |
@@ -96,8 +96,8 @@ | |||
<input id="attribute_mail" name="attribute_mail" value="{{$cfg.AttributeMail}}" placeholder="e.g. mail" required> | |||
</div> | |||
<div class="field"> | |||
<label for="attribute_ssh_public_key">{{.i18n.Tr "admin.auths.attribute_ssh_public_key"}}</label> | |||
<input id="attribute_ssh_public_key" name="attribute_ssh_public_key" value="{{$cfg.AttributeSSHPublicKey}}" placeholder="e.g. SshPublicKey"> | |||
<label for="attribute_ssh_public_key">{{.i18n.Tr "admin.auths.attribute_ssh_public_key"}}</label> | |||
<input id="attribute_ssh_public_key" name="attribute_ssh_public_key" value="{{$cfg.AttributeSSHPublicKey}}" placeholder="e.g. SshPublicKey"> | |||
</div> | |||
<div class="inline field"> | |||
<div class="ui checkbox"> | |||
@@ -215,9 +215,9 @@ | |||
<input id="oauth2_secret" name="oauth2_secret" value="{{$cfg.ClientSecret}}" required> | |||
</div> | |||
<div class="optional field"> | |||
<label for="oauth2_icon_url">{{.i18n.Tr "admin.auths.oauth2_icon_url"}}</label> | |||
<input id="oauth2_icon_url" name="oauth2_icon_url" value="{{$cfg.IconURL}}"> | |||
</div> | |||
<label for="oauth2_icon_url">{{.i18n.Tr "admin.auths.oauth2_icon_url"}}</label> | |||
<input id="oauth2_icon_url" name="oauth2_icon_url" value="{{$cfg.IconURL}}"> | |||
</div> | |||
<div class="open_id_connect_auto_discovery_url required field"> | |||
<label for="open_id_connect_auto_discovery_url">{{.i18n.Tr "admin.auths.openIdConnectAutoDiscoveryURL"}}</label> | |||
<input id="open_id_connect_auto_discovery_url" name="open_id_connect_auto_discovery_url" value="{{$cfg.OpenIDConnectAutoDiscoveryURL}}"> |
@@ -119,8 +119,8 @@ | |||
<span>{{.i18n.Tr "admin.auths.tip.nextcloud"}}</span> | |||
<li>Yandex</li> | |||
<span>{{.i18n.Tr "admin.auths.tip.yandex"}}</span> | |||
<li>Mastodon</li> | |||
<span>{{.i18n.Tr "admin.auths.tip.mastodon"}}</span> | |||
<li>Mastodon</li> | |||
<span>{{.i18n.Tr "admin.auths.tip.mastodon"}}</span> | |||
</div> | |||
</div> | |||
</div> |
@@ -68,8 +68,8 @@ | |||
<input id="attribute_mail" name="attribute_mail" value="{{.attribute_mail}}" placeholder="e.g. mail"> | |||
</div> | |||
<div class="field"> | |||
<label for="attribute_ssh_public_key">{{.i18n.Tr "admin.auths.attribute_ssh_public_key"}}</label> | |||
<input id="attribute_ssh_public_key" name="attribute_ssh_public_key" value="{{.attribute_ssh_public_key}}" placeholder="e.g. SshPublicKey"> | |||
<label for="attribute_ssh_public_key">{{.i18n.Tr "admin.auths.attribute_ssh_public_key"}}</label> | |||
<input id="attribute_ssh_public_key" name="attribute_ssh_public_key" value="{{.attribute_ssh_public_key}}" placeholder="e.g. SshPublicKey"> | |||
</div> | |||
<div class="inline field"> | |||
<div class="ui checkbox"> |
@@ -21,9 +21,9 @@ | |||
<input id="oauth2_secret" name="oauth2_secret" value="{{.oauth2_secret}}"> | |||
</div> | |||
<div class="optional field"> | |||
<label for="oauth2_icon_url">{{.i18n.Tr "admin.auths.oauth2_icon_url"}}</label> | |||
<input id="oauth2_icon_url" name="oauth2_icon_url" value="{{.oauth2_icon_url}}"> | |||
</div> | |||
<label for="oauth2_icon_url">{{.i18n.Tr "admin.auths.oauth2_icon_url"}}</label> | |||
<input id="oauth2_icon_url" name="oauth2_icon_url" value="{{.oauth2_icon_url}}"> | |||
</div> | |||
<div class="open_id_connect_auto_discovery_url required field"> | |||
<label for="open_id_connect_auto_discovery_url">{{.i18n.Tr "admin.auths.openIdConnectAutoDiscoveryURL"}}</label> | |||
<input id="open_id_connect_auto_discovery_url" name="open_id_connect_auto_discovery_url" value="{{.open_id_connect_auto_discovery_url}}"> |
@@ -17,7 +17,7 @@ | |||
</div> | |||
<form class="ui form ignore-dirty" style="max-width: 90%"> | |||
<div class="ui fluid action input"> | |||
<input name="q" value="{{.Keyword}}" placeholder="{{.i18n.Tr "explore.search"}}..." autofocus> | |||
<button class="ui blue button">{{.i18n.Tr "explore.search"}}</button> | |||
<input name="q" value="{{.Keyword}}" placeholder="{{.i18n.Tr "explore.search"}}..." autofocus> | |||
<button class="ui blue button">{{.i18n.Tr "explore.search"}}</button> | |||
</div> | |||
</form> |
@@ -7,7 +7,7 @@ | |||
{{.i18n.Tr "admin.repos.repo_manage_panel"}} ({{.i18n.Tr "admin.total" .Total}}) | |||
<div class="ui right"> | |||
<a class="ui blue tiny button" href="{{AppSubUrl}}/admin/repos/unadopted">{{.i18n.Tr "admin.repos.unadopted"}}</a> | |||
</div> | |||
</div> | |||
</h4> | |||
<div class="ui attached segment"> | |||
{{template "admin/repo/search" .}} |
@@ -5,98 +5,98 @@ | |||
{{template "base/alert" .}} | |||
<h4 class="ui top attached header"> | |||
{{.i18n.Tr "admin.repos.unadopted"}} | |||
<div class="ui right"> | |||
<a class="ui blue tiny button" href="{{AppSubUrl}}/admin/repos">{{.i18n.Tr "admin.repos.repo_manage_panel"}}</a> | |||
</div> | |||
<div class="ui right"> | |||
<a class="ui blue tiny button" href="{{AppSubUrl}}/admin/repos">{{.i18n.Tr "admin.repos.repo_manage_panel"}}</a> | |||
</div> | |||
</h4> | |||
<div class="ui attached segment"> | |||
<form class="ui form ignore-dirty"> | |||
<div class="ui fluid action input"> | |||
<input name="search" value="true" type="hidden"> | |||
<input name="q" value="{{.Keyword}}" placeholder="{{.i18n.Tr "repo.adopt_search"}}" autofocus> | |||
<button class="ui blue button">{{.i18n.Tr "explore.search"}}</button> | |||
</div> | |||
</form> | |||
<div class="ui attached segment"> | |||
<form class="ui form ignore-dirty"> | |||
<div class="ui fluid action input"> | |||
<input name="search" value="true" type="hidden"> | |||
<input name="q" value="{{.Keyword}}" placeholder="{{.i18n.Tr "repo.adopt_search"}}" autofocus> | |||
<button class="ui blue button">{{.i18n.Tr "explore.search"}}</button> | |||
</div> | |||
</form> | |||
</div> | |||
{{if .search}} | |||
<div class="ui attached segment settings"> | |||
{{if .Dirs}} | |||
<div class="ui middle aligned divided list"> | |||
{{range $dirI, $dir := .Dirs}} | |||
<div class="item"> | |||
<div class="content"> | |||
<span class="icon">{{svg "octicon-file-directory"}}</span> | |||
<span class="name">{{$dir}}</span> | |||
<div class="right floated content"> | |||
<button class="ui button submit tiny green adopt show-modal" data-modal="#adopt-unadopted-modal-{{$dirI}}"><span class="icon">{{svg "octicon-plus"}}</span><span class="label">{{$.i18n.Tr "repo.adopt_preexisting_label"}}</span></button> | |||
<div class="ui basic modal" id="adopt-unadopted-modal-{{$dirI}}"> | |||
{{svg "octicon-x" 16 "close inside"}} | |||
<div class="header"> | |||
<span class="label">{{$.i18n.Tr "repo.adopt_preexisting"}}</span> | |||
</div> | |||
<div class="content"> | |||
<p>{{$.i18n.Tr "repo.adopt_preexisting_content" $dir}}</p> | |||
</div> | |||
<form class="ui form" method="POST" action="{{AppSubUrl}}/admin/repos/unadopted"> | |||
{{$.CsrfTokenHtml}} | |||
<input type="hidden" name="id" value="{{$dir}}"> | |||
<input type="hidden" name="action" value="adopt"> | |||
<input type="hidden" name="q" value="{{$.Keyword}}"> | |||
<input type="hidden" name="page" value="{{$.CurrentPage}}"> | |||
<div class="actions"> | |||
<div class="ui red basic inverted cancel button"> | |||
{{svg "octicon-trash" 16 "mr-2"}} | |||
{{$.i18n.Tr "modal.no"}} | |||
</div> | |||
<button class="ui green basic inverted ok button"> | |||
{{svg "octicon-check" 16 "mr-2"}} | |||
{{$.i18n.Tr "modal.yes"}} | |||
</button> | |||
</div> | |||
</form> | |||
</div> | |||
<button class="ui button submit tiny red delete show-modal" data-modal="#delete-unadopted-modal-{{$dirI}}"><span class="icon">{{svg "octicon-x"}}</span><span class="label">{{$.i18n.Tr "repo.delete_preexisting_label"}}</span></button> | |||
<div class="ui basic modal" id="delete-unadopted-modal-{{$dirI}}"> | |||
{{svg "octicon-x" 16 "close inside"}} | |||
<div class="header"> | |||
<span class="label">{{$.i18n.Tr "repo.delete_preexisting"}}</span> | |||
</div> | |||
<div class="content"> | |||
<p>{{$.i18n.Tr "repo.delete_preexisting_content" $dir}}</p> | |||
</div> | |||
<form class="ui form" method="POST" action="{{AppSubUrl}}/admin/repos/unadopted"> | |||
{{$.CsrfTokenHtml}} | |||
<input type="hidden" name="id" value="{{$dir}}"> | |||
<input type="hidden" name="action" value="delete"> | |||
<input type="hidden" name="q" value="{{$.Keyword}}"> | |||
<input type="hidden" name="page" value="{{$.CurrentPage}}"> | |||
<div class="actions"> | |||
<div class="ui red basic inverted cancel button"> | |||
{{svg "octicon-trash" 16 "mr-2"}} | |||
{{$.i18n.Tr "modal.no"}} | |||
</div> | |||
<button class="ui green basic inverted ok button"> | |||
{{svg "octicon-check" 16 "mr-2"}} | |||
{{$.i18n.Tr "modal.yes"}} | |||
</button> | |||
</div> | |||
</form> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
{{end}} | |||
</div> | |||
{{template "base/paginate" .}} | |||
{{else}} | |||
<div class="item"> | |||
{{.i18n.Tr "admin.repos.unadopted.no_more"}} | |||
</div> | |||
{{template "base/paginate" .}} | |||
{{end}} | |||
</div> | |||
{{end}} | |||
</div> | |||
{{if .search}} | |||
<div class="ui attached segment settings"> | |||
{{if .Dirs}} | |||
<div class="ui middle aligned divided list"> | |||
{{range $dirI, $dir := .Dirs}} | |||
<div class="item"> | |||
<div class="content"> | |||
<span class="icon">{{svg "octicon-file-directory"}}</span> | |||
<span class="name">{{$dir}}</span> | |||
<div class="right floated content"> | |||
<button class="ui button submit tiny green adopt show-modal" data-modal="#adopt-unadopted-modal-{{$dirI}}"><span class="icon">{{svg "octicon-plus"}}</span><span class="label">{{$.i18n.Tr "repo.adopt_preexisting_label"}}</span></button> | |||
<div class="ui basic modal" id="adopt-unadopted-modal-{{$dirI}}"> | |||
{{svg "octicon-x" 16 "close inside"}} | |||
<div class="header"> | |||
<span class="label">{{$.i18n.Tr "repo.adopt_preexisting"}}</span> | |||
</div> | |||
<div class="content"> | |||
<p>{{$.i18n.Tr "repo.adopt_preexisting_content" $dir}}</p> | |||
</div> | |||
<form class="ui form" method="POST" action="{{AppSubUrl}}/admin/repos/unadopted"> | |||
{{$.CsrfTokenHtml}} | |||
<input type="hidden" name="id" value="{{$dir}}"> | |||
<input type="hidden" name="action" value="adopt"> | |||
<input type="hidden" name="q" value="{{$.Keyword}}"> | |||
<input type="hidden" name="page" value="{{$.CurrentPage}}"> | |||
<div class="actions"> | |||
<div class="ui red basic inverted cancel button"> | |||
{{svg "octicon-trash" 16 "mr-2"}} | |||
{{$.i18n.Tr "modal.no"}} | |||
</div> | |||
<button class="ui green basic inverted ok button"> | |||
{{svg "octicon-check" 16 "mr-2"}} | |||
{{$.i18n.Tr "modal.yes"}} | |||
</button> | |||
</div> | |||
</form> | |||
</div> | |||
<button class="ui button submit tiny red delete show-modal" data-modal="#delete-unadopted-modal-{{$dirI}}"><span class="icon">{{svg "octicon-x"}}</span><span class="label">{{$.i18n.Tr "repo.delete_preexisting_label"}}</span></button> | |||
<div class="ui basic modal" id="delete-unadopted-modal-{{$dirI}}"> | |||
{{svg "octicon-x" 16 "close inside"}} | |||
<div class="header"> | |||
<span class="label">{{$.i18n.Tr "repo.delete_preexisting"}}</span> | |||
</div> | |||
<div class="content"> | |||
<p>{{$.i18n.Tr "repo.delete_preexisting_content" $dir}}</p> | |||
</div> | |||
<form class="ui form" method="POST" action="{{AppSubUrl}}/admin/repos/unadopted"> | |||
{{$.CsrfTokenHtml}} | |||
<input type="hidden" name="id" value="{{$dir}}"> | |||
<input type="hidden" name="action" value="delete"> | |||
<input type="hidden" name="q" value="{{$.Keyword}}"> | |||
<input type="hidden" name="page" value="{{$.CurrentPage}}"> | |||
<div class="actions"> | |||
<div class="ui red basic inverted cancel button"> | |||
{{svg "octicon-trash" 16 "mr-2"}} | |||
{{$.i18n.Tr "modal.no"}} | |||
</div> | |||
<button class="ui green basic inverted ok button"> | |||
{{svg "octicon-check" 16 "mr-2"}} | |||
{{$.i18n.Tr "modal.yes"}} | |||
</button> | |||
</div> | |||
</form> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
{{end}} | |||
</div> | |||
{{template "base/paginate" .}} | |||
{{else}} | |||
<div class="item"> | |||
{{.i18n.Tr "admin.repos.unadopted.no_more"}} | |||
</div> | |||
{{template "base/paginate" .}} | |||
{{end}} | |||
</div> | |||
{{end}} | |||
</div> | |||
</div> | |||
{{template "base/footer" .}} |
@@ -1,7 +1,7 @@ | |||
{{.Message}} | |||
<details> | |||
<summary>{{.Summary}}</summary> | |||
<code> | |||
{{.Details | Str2html}} | |||
</code> | |||
<summary>{{.Summary}}</summary> | |||
<code> | |||
{{.Details | Str2html}} | |||
</code> | |||
</details> |
@@ -55,7 +55,7 @@ | |||
name: '{{.Name}}', fullname: '{{.FullName}}', avatar: '{{.RelAvatarLink}}'}], | |||
{{ end }} | |||
{{ range .MentionableTeams }} | |||
['{{$.MentionableTeamsOrg}}/{{.Name}}', {key: '{{$.MentionableTeamsOrg}}/{{.Name}}', value: '{{$.MentionableTeamsOrg}}/{{.Name}}', | |||
['{{$.MentionableTeamsOrg}}/{{.Name}}', {key: '{{$.MentionableTeamsOrg}}/{{.Name}}', value: '{{$.MentionableTeamsOrg}}/{{.Name}}', | |||
name: '{{$.MentionableTeamsOrg}}/{{.Name}}', avatar: '{{$.MentionableTeamsOrgAvatar}}'}], | |||
{{ end }} | |||
]).values()), |
@@ -18,7 +18,6 @@ | |||
</div> | |||
</form> | |||
<div class="ui divider"></div> | |||
<div class="ui user list"> | |||
{{if .SearchResults}} | |||
<h3> |
@@ -8,24 +8,24 @@ | |||
{{range .Users}} | |||
<div class="item"> | |||
{{avatar .}} | |||
<div class="content"> | |||
<span class="header"> | |||
<a href="{{.HomeLink}}">{{.Name}}</a> {{.FullName}} | |||
{{if .Visibility.IsPrivate}} | |||
<span class="ui basic label">{{$.i18n.Tr "repo.desc.private"}}</span> | |||
{{end}} | |||
</span> | |||
<div class="description"> | |||
{{if .Location}} | |||
{{svg "octicon-location"}} {{.Location}} | |||
{{end}} | |||
{{if and .Website}} | |||
{{svg "octicon-link"}} | |||
<a href="{{.Website}}" rel="nofollow">{{.Website}}</a> | |||
{{end}} | |||
{{svg "octicon-clock"}} {{$.i18n.Tr "user.join_on"}} {{.CreatedUnix.FormatShort}} | |||
<div class="content"> | |||
<span class="header"> | |||
<a href="{{.HomeLink}}">{{.Name}}</a> {{.FullName}} | |||
{{if .Visibility.IsPrivate}} | |||
<span class="ui basic label">{{$.i18n.Tr "repo.desc.private"}}</span> | |||
{{end}} | |||
</span> | |||
<div class="description"> | |||
{{if .Location}} | |||
{{svg "octicon-location"}} {{.Location}} | |||
{{end}} | |||
{{if and .Website}} | |||
{{svg "octicon-link"}} | |||
<a href="{{.Website}}" rel="nofollow">{{.Website}}</a> | |||
{{end}} | |||
{{svg "octicon-clock"}} {{$.i18n.Tr "user.join_on"}} {{.CreatedUnix.FormatShort}} | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
{{else}} | |||
<div>{{$.i18n.Tr "explore.org_no_results"}}</div> |
@@ -1,30 +1,30 @@ | |||
<div class="ui right floated secondary filter menu"> | |||
<!-- Sort --> | |||
<div class="ui right dropdown type jump item"> | |||
<!-- Sort --> | |||
<div class="ui right dropdown type jump item"> | |||
<span class="text"> | |||
{{.i18n.Tr "repo.issues.filter_sort"}} | |||
{{svg "octicon-triangle-down" 14 "dropdown icon"}} | |||
{{svg "octicon-triangle-down" 14 "dropdown icon"}} | |||
</span> | |||
<div class="menu"> | |||
<a class="{{if eq .SortType "newest"}}active{{end}} item" href="{{$.Link}}?sort=newest&q={{$.Keyword}}&tab={{$.TabName}}">{{.i18n.Tr "repo.issues.filter_sort.latest"}}</a> | |||
<a class="{{if eq .SortType "oldest"}}active{{end}} item" href="{{$.Link}}?sort=oldest&q={{$.Keyword}}&tab={{$.TabName}}">{{.i18n.Tr "repo.issues.filter_sort.oldest"}}</a> | |||
<a class="{{if eq .SortType "alphabetically"}}active{{end}} item" href="{{$.Link}}?sort=alphabetically&q={{$.Keyword}}&tab={{$.TabName}}">{{.i18n.Tr "repo.issues.label.filter_sort.alphabetically"}}</a> | |||
<a class="{{if eq .SortType "reversealphabetically"}}active{{end}} item" href="{{$.Link}}?sort=reversealphabetically&q={{$.Keyword}}&tab={{$.TabName}}">{{.i18n.Tr "repo.issues.label.filter_sort.reverse_alphabetically"}}</a> | |||
<a class="{{if eq .SortType "recentupdate"}}active{{end}} item" href="{{$.Link}}?sort=recentupdate&q={{$.Keyword}}&tab={{$.TabName}}">{{.i18n.Tr "repo.issues.filter_sort.recentupdate"}}</a> | |||
<a class="{{if eq .SortType "leastupdate"}}active{{end}} item" href="{{$.Link}}?sort=leastupdate&q={{$.Keyword}}&tab={{$.TabName}}">{{.i18n.Tr "repo.issues.filter_sort.leastupdate"}}</a> | |||
<a class="{{if eq .SortType "moststars"}}active{{end}} item" href="{{$.Link}}?sort=moststars&q={{$.Keyword}}&tab={{$.TabName}}">{{.i18n.Tr "repo.issues.filter_sort.moststars"}}</a> | |||
<a class="{{if eq .SortType "feweststars"}}active{{end}} item" href="{{$.Link}}?sort=feweststars&q={{$.Keyword}}&tab={{$.TabName}}">{{.i18n.Tr "repo.issues.filter_sort.feweststars"}}</a> | |||
<a class="{{if eq .SortType "mostforks"}}active{{end}} item" href="{{$.Link}}?sort=mostforks&q={{$.Keyword}}&tab={{$.TabName}}">{{.i18n.Tr "repo.issues.filter_sort.mostforks"}}</a> | |||
<a class="{{if eq .SortType "fewestforks"}}active{{end}} item" href="{{$.Link}}?sort=fewestforks&q={{$.Keyword}}&tab={{$.TabName}}">{{.i18n.Tr "repo.issues.filter_sort.fewestforks"}}</a> | |||
</div> | |||
</div> | |||
<div class="menu"> | |||
<a class="{{if eq .SortType "newest"}}active{{end}} item" href="{{$.Link}}?sort=newest&q={{$.Keyword}}&tab={{$.TabName}}">{{.i18n.Tr "repo.issues.filter_sort.latest"}}</a> | |||
<a class="{{if eq .SortType "oldest"}}active{{end}} item" href="{{$.Link}}?sort=oldest&q={{$.Keyword}}&tab={{$.TabName}}">{{.i18n.Tr "repo.issues.filter_sort.oldest"}}</a> | |||
<a class="{{if eq .SortType "alphabetically"}}active{{end}} item" href="{{$.Link}}?sort=alphabetically&q={{$.Keyword}}&tab={{$.TabName}}">{{.i18n.Tr "repo.issues.label.filter_sort.alphabetically"}}</a> | |||
<a class="{{if eq .SortType "reversealphabetically"}}active{{end}} item" href="{{$.Link}}?sort=reversealphabetically&q={{$.Keyword}}&tab={{$.TabName}}">{{.i18n.Tr "repo.issues.label.filter_sort.reverse_alphabetically"}}</a> | |||
<a class="{{if eq .SortType "recentupdate"}}active{{end}} item" href="{{$.Link}}?sort=recentupdate&q={{$.Keyword}}&tab={{$.TabName}}">{{.i18n.Tr "repo.issues.filter_sort.recentupdate"}}</a> | |||
<a class="{{if eq .SortType "leastupdate"}}active{{end}} item" href="{{$.Link}}?sort=leastupdate&q={{$.Keyword}}&tab={{$.TabName}}">{{.i18n.Tr "repo.issues.filter_sort.leastupdate"}}</a> | |||
<a class="{{if eq .SortType "moststars"}}active{{end}} item" href="{{$.Link}}?sort=moststars&q={{$.Keyword}}&tab={{$.TabName}}">{{.i18n.Tr "repo.issues.filter_sort.moststars"}}</a> | |||
<a class="{{if eq .SortType "feweststars"}}active{{end}} item" href="{{$.Link}}?sort=feweststars&q={{$.Keyword}}&tab={{$.TabName}}">{{.i18n.Tr "repo.issues.filter_sort.feweststars"}}</a> | |||
<a class="{{if eq .SortType "mostforks"}}active{{end}} item" href="{{$.Link}}?sort=mostforks&q={{$.Keyword}}&tab={{$.TabName}}">{{.i18n.Tr "repo.issues.filter_sort.mostforks"}}</a> | |||
<a class="{{if eq .SortType "fewestforks"}}active{{end}} item" href="{{$.Link}}?sort=fewestforks&q={{$.Keyword}}&tab={{$.TabName}}">{{.i18n.Tr "repo.issues.filter_sort.fewestforks"}}</a> | |||
</div> | |||
</div> | |||
</div> | |||
<form class="ui form ignore-dirty" style="max-width: 90%"> | |||
<input type="hidden" name="tab" value="{{$.TabName}}"> | |||
<input type="hidden" name="sort" value="{{$.SortType}}"> | |||
<div class="ui fluid action input"> | |||
<input name="q" value="{{.Keyword}}" placeholder="{{.i18n.Tr "explore.search"}}..." autofocus> | |||
<button class="ui blue button">{{.i18n.Tr "explore.search"}}</button> | |||
</div> | |||
<input type="hidden" name="tab" value="{{$.TabName}}"> | |||
<input type="hidden" name="sort" value="{{$.SortType}}"> | |||
<div class="ui fluid action input"> | |||
<input name="q" value="{{.Keyword}}" placeholder="{{.i18n.Tr "explore.search"}}..." autofocus> | |||
<button class="ui blue button">{{.i18n.Tr "explore.search"}}</button> | |||
</div> | |||
</form> | |||
<div class="ui divider"></div> |
@@ -18,8 +18,8 @@ | |||
<form class="ui form ignore-dirty" style="max-width: 90%"> | |||
<input type="hidden" name="tab" value="{{$.TabName}}"> | |||
<div class="ui fluid action input"> | |||
<input name="q" value="{{.Keyword}}" placeholder="{{.i18n.Tr "explore.search"}}..." autofocus> | |||
<button class="ui blue button">{{.i18n.Tr "explore.search"}}</button> | |||
<input name="q" value="{{.Keyword}}" placeholder="{{.i18n.Tr "explore.search"}}..." autofocus> | |||
<button class="ui blue button">{{.i18n.Tr "explore.search"}}</button> | |||
</div> | |||
</form> | |||
<div class="ui divider"></div> |
@@ -8,19 +8,19 @@ | |||
{{range .Users}} | |||
<div class="item"> | |||
{{avatar .}} | |||
<div class="content"> | |||
<span class="header"><a href="{{.HomeLink}}">{{.Name}}</a> {{.FullName}}</span> | |||
<div class="description"> | |||
{{if .Location}} | |||
{{svg "octicon-location"}} {{.Location}} | |||
{{end}} | |||
{{if and $.ShowUserEmail .Email $.IsSigned (not .KeepEmailPrivate)}} | |||
{{svg "octicon-mail"}} | |||
<a href="mailto:{{.Email}}" rel="nofollow">{{.Email}}</a> | |||
{{end}} | |||
{{svg "octicon-clock"}} {{$.i18n.Tr "user.join_on"}} {{.CreatedUnix.FormatShort}} | |||
<div class="content"> | |||
<span class="header"><a href="{{.HomeLink}}">{{.Name}}</a> {{.FullName}}</span> | |||
<div class="description"> | |||
{{if .Location}} | |||
{{svg "octicon-location"}} {{.Location}} | |||
{{end}} | |||
{{if and $.ShowUserEmail .Email $.IsSigned (not .KeepEmailPrivate)}} | |||
{{svg "octicon-mail"}} | |||
<a href="mailto:{{.Email}}" rel="nofollow">{{.Email}}</a> | |||
{{end}} | |||
{{svg "octicon-clock"}} {{$.i18n.Tr "user.join_on"}} {{.CreatedUnix.FormatShort}} | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
{{else}} | |||
<div>{{$.i18n.Tr "explore.user_no_results"}}</div> |
@@ -11,11 +11,11 @@ | |||
<body> | |||
<p>@{{.Doer.Name}} assigned you to the {{if .IsPull}}pull request{{else}}issue{{end}} <a href="{{.Link}}">#{{.Issue.Index}}</a> in repository {{.Repo}}.</p> | |||
<div class="footer"> | |||
<p> | |||
--- | |||
<br> | |||
<a href="{{.Link}}">View it on {{AppName}}</a>. | |||
</p> | |||
<p> | |||
--- | |||
<br> | |||
<a href="{{.Link}}">View it on {{AppName}}</a>. | |||
</p> | |||
</div> | |||
</body> | |||
</html> |
@@ -19,7 +19,7 @@ | |||
{{if .IsMention}}<p><b>@{{.Doer.Name}}</b> mentioned you:</p>{{end}} | |||
{{if eq .ActionName "push"}} | |||
<p> | |||
<b>{{.Doer.Name}}</b> | |||
<b>{{.Doer.Name}}</b> | |||
{{if .Comment.IsForcePush}} | |||
{{ $oldCommitLink:= printf "%s%s/%s/commit/%s" AppUrl .Comment.Issue.PullRequest.BaseRepo.OwnerName .Comment.Issue.PullRequest.BaseRepo.Name .Comment.OldCommit}} | |||
{{ $newCommitLink:= printf "%s%s/%s/commit/%s" AppUrl .Comment.Issue.PullRequest.BaseRepo.OwnerName .Comment.Issue.PullRequest.BaseRepo.Name .Comment.NewCommit}} |
@@ -11,11 +11,11 @@ | |||
<body> | |||
<p>You have been added as a collaborator of repository: <code>{{.RepoName}}</code></p> | |||
<div class="footer"> | |||
<p> | |||
--- | |||
<br> | |||
<a href="{{.Link}}">View it on {{AppName}}</a>. | |||
</p> | |||
<p> | |||
--- | |||
<br> | |||
<a href="{{.Link}}">View it on {{AppName}}</a>. | |||
</p> | |||
</div> | |||
</body> | |||
</html> |
@@ -26,7 +26,7 @@ | |||
</p> | |||
<br><br> | |||
<p> | |||
--- | |||
--- | |||
<br> | |||
Downloads: | |||
<ul> |
@@ -26,9 +26,9 @@ | |||
<div class="ui eleven wide column"> | |||
{{if .CanCreateOrgRepo}} | |||
<div class="text right"> | |||
{{if not .DisabledMirrors}} | |||
<a class="ui green button" href="{{AppSubUrl}}/repo/migrate?org={{.Org.ID}}&mirror=1">{{.i18n.Tr "new_migrate"}}</a> | |||
{{end}} | |||
{{if not .DisabledMirrors}} | |||
<a class="ui green button" href="{{AppSubUrl}}/repo/migrate?org={{.Org.ID}}&mirror=1">{{.i18n.Tr "new_migrate"}}</a> | |||
{{end}} | |||
<a class="ui green button" href="{{AppSubUrl}}/repo/create?org={{.Org.ID}}">{{.i18n.Tr "new_repo"}}</a> | |||
</div> | |||
<div class="ui divider"></div> |
@@ -20,7 +20,7 @@ | |||
{{template "base/alert" .}} | |||
{{template "repo/issue/labels/label_list" .}} | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
</div> |
@@ -1,4 +1,4 @@ | |||
<div class="ui top attached tabular menu"> | |||
<a class="item{{if .PageIsOrgTeamMembers}} active{{end}}" href="{{.OrgLink}}/teams/{{.Team.LowerName}}">{{svg "octicon-person"}} <strong>{{.Team.NumMembers}}</strong> {{$.i18n.Tr "org.lower_members"}}</a> | |||
<a class="item{{if .PageIsOrgTeamRepos}} active{{end}}" href="{{.OrgLink}}/teams/{{.Team.LowerName}}/repositories">{{svg "octicon-repo"}} <strong>{{.Team.NumRepos}}</strong> {{$.i18n.Tr "org.lower_repositories"}}</a> | |||
<a class="item{{if .PageIsOrgTeamMembers}} active{{end}}" href="{{.OrgLink}}/teams/{{.Team.LowerName}}">{{svg "octicon-person"}} <strong>{{.Team.NumMembers}}</strong> {{$.i18n.Tr "org.lower_members"}}</a> | |||
<a class="item{{if .PageIsOrgTeamRepos}} active{{end}}" href="{{.OrgLink}}/teams/{{.Team.LowerName}}/repositories">{{svg "octicon-repo"}} <strong>{{.Team.NumRepos}}</strong> {{$.i18n.Tr "org.lower_repositories"}}</a> | |||
</div> |
@@ -1,6 +1,6 @@ | |||
{{template "base/head" .}} | |||
<div class="page-content install"> | |||
<div class="ui container"> | |||
<div class="ui container"> | |||
<div class="ui grid"> | |||
<div class="sixteen wide column content"> | |||
<div class="home"> |
@@ -93,7 +93,7 @@ | |||
{{if gt .Activity.Code.CommitCountInAllBranches 0}} | |||
<div class="ui attached segment horizontal segments"> | |||
<div class="ui attached segment text"> | |||
{{.i18n.Tr "repo.activity.git_stats_exclude_merges" }} | |||
{{.i18n.Tr "repo.activity.git_stats_exclude_merges" }} | |||
<strong>{{.i18n.Tr (TrN .i18n.Lang .Activity.Code.AuthorCount "repo.activity.git_stats_author_1" "repo.activity.git_stats_author_n") .Activity.Code.AuthorCount }}</strong> | |||
{{.i18n.Tr (TrN .i18n.Lang .Activity.Code.AuthorCount "repo.activity.git_stats_pushed_1" "repo.activity.git_stats_pushed_n") }} | |||
<strong>{{.i18n.Tr (TrN .i18n.Lang .Activity.Code.CommitCount "repo.activity.git_stats_commit_1" "repo.activity.git_stats_commit_n") .Activity.Code.CommitCount }}</strong> |
@@ -19,7 +19,7 @@ | |||
</div> | |||
</div> | |||
</h4> | |||
<div class="ui attached table unstackable segment"> | |||
<div class="ui attached table unstackable segment"> | |||
<div class="file-view code-view"> | |||
<table> | |||
<tbody> | |||
@@ -31,5 +31,5 @@ | |||
</tbody> | |||
</table> | |||
</div> | |||
</div> | |||
</div> | |||
</div> |
@@ -25,11 +25,11 @@ | |||
</td> | |||
<td class="right aligned overflow-visible"> | |||
<div class="ui basic jump dropdown icon button poping up" data-content="{{$.i18n.Tr "repo.branch.download" ($.DefaultBranch)}}" data-variation="tiny inverted" data-position="top right"> | |||
{{svg "octicon-download"}} | |||
<div class="menu"> | |||
<a class="item archive-link" data-url="{{$.RepoLink}}/archive/{{EscapePound $.DefaultBranch}}.zip">{{svg "octicon-file-zip"}} ZIP</a> | |||
<a class="item archive-link" data-url="{{$.RepoLink}}/archive/{{EscapePound $.DefaultBranch}}.tar.gz">{{svg "octicon-file-zip"}} TAR.GZ</a> | |||
</div> | |||
{{svg "octicon-download"}} | |||
<div class="menu"> | |||
<a class="item archive-link" data-url="{{$.RepoLink}}/archive/{{EscapePound $.DefaultBranch}}.zip">{{svg "octicon-file-zip"}} ZIP</a> | |||
<a class="item archive-link" data-url="{{$.RepoLink}}/archive/{{EscapePound $.DefaultBranch}}.tar.gz">{{svg "octicon-file-zip"}} TAR.GZ</a> | |||
</div> | |||
</div> | |||
</td> | |||
</tr> |
@@ -113,13 +113,13 @@ | |||
<span class="ui text">{{.i18n.Tr .Verification.Reason}}</span> | |||
<span class="pull-right"><span class="ui text">{{.i18n.Tr "repo.commits.gpg_key_id"}}:</span> <i class="warning icon"></i>{{.Verification.SigningKey.KeyID}}</span> | |||
{{else}} | |||
<i class="unlock icon"></i> | |||
{{.i18n.Tr .Verification.Reason}} | |||
{{if .Verification.SigningKey}} | |||
{{if ne .Verification.SigningKey.KeyID ""}} | |||
<span class="pull-right"><span class="ui text">{{.i18n.Tr "repo.commits.gpg_key_id"}}:</span> <i class="warning icon"></i>{{.Verification.SigningKey.KeyID}}</span> | |||
{{end}} | |||
{{end}} | |||
<i class="unlock icon"></i> | |||
{{.i18n.Tr .Verification.Reason}} | |||
{{if .Verification.SigningKey}} | |||
{{if ne .Verification.SigningKey.KeyID ""}} | |||
<span class="pull-right"><span class="ui text">{{.i18n.Tr "repo.commits.gpg_key_id"}}:</span> <i class="warning icon"></i>{{.Verification.SigningKey.KeyID}}</span> | |||
{{end}} | |||
{{end}} | |||
{{end}} | |||
</div> | |||
{{end}} | |||
@@ -130,9 +130,9 @@ | |||
{{if .NoteAuthor}} | |||
<a href="{{.NoteAuthor.HomeLink}}"> | |||
{{if .NoteAuthor.FullName}} | |||
<strong>{{.NoteAuthor.FullName}}</strong> | |||
<strong>{{.NoteAuthor.FullName}}</strong> | |||
{{else}} | |||
<strong>{{.NoteCommit.Author.Name}}</strong> | |||
<strong>{{.NoteCommit.Author.Name}}</strong> | |||
{{end}} | |||
</a> | |||
{{else}} |
@@ -28,7 +28,7 @@ | |||
</h4> | |||
{{if and .Commits (gt .CommitCount 0)}} | |||
{{template "repo/commits_list" .}} | |||
{{template "repo/commits_list" .}} | |||
{{end}} | |||
{{template "base/paginate" .}} |
@@ -117,9 +117,9 @@ | |||
{{end}} | |||
{{else if and .PageIsComparePull (gt .CommitCount 0)}} | |||
{{if .HasPullRequest}} | |||
<div class="ui segment"> | |||
{{.i18n.Tr "repo.pulls.has_pull_request" $.RepoLink $.RepoRelPath .PullRequest.Index | Safe}} | |||
</div> | |||
<div class="ui segment"> | |||
{{.i18n.Tr "repo.pulls.has_pull_request" $.RepoLink $.RepoRelPath .PullRequest.Index | Safe}} | |||
</div> | |||
{{else}} | |||
{{if and $.IsSigned (not .Repository.IsArchived)}} | |||
<div class="ui info message show-form-container"> |
@@ -43,4 +43,4 @@ | |||
</table> | |||
{{end}} | |||
</td> | |||
</tr> | |||
</tr> |
@@ -106,4 +106,4 @@ | |||
</div> | |||
</td> | |||
</tr> | |||
{{end}} | |||
{{end}} |
@@ -13,16 +13,12 @@ | |||
<a class="muted close px-3">{{svg "octicon-x" 16}}</a> | |||
</div> | |||
<div class="ui field"> | |||
<textarea name="content" tabindex="0" rows="2" | |||
placeholder="{{$.i18n.Tr "repo.diff.review.placeholder"}}"></textarea> | |||
<textarea name="content" tabindex="0" rows="2" placeholder="{{$.i18n.Tr "repo.diff.review.placeholder"}}"></textarea> | |||
</div> | |||
<div class="ui divider"></div> | |||
<button type="submit" name="type" value="approve" {{ if and $.IsSigned ($.Issue.IsPoster $.SignedUser.ID) }} disabled {{ end }} | |||
class="ui submit green tiny button btn-submit">{{$.i18n.Tr "repo.diff.review.approve"}}</button> | |||
<button type="submit" name="type" value="comment" | |||
class="ui submit tiny basic button btn-submit">{{$.i18n.Tr "repo.diff.review.comment"}}</button> | |||
<button type="submit" name="type" value="reject" {{ if and $.IsSigned ($.Issue.IsPoster $.SignedUser.ID) }} disabled {{ end }} | |||
class="ui submit red tiny button btn-submit">{{$.i18n.Tr "repo.diff.review.reject"}}</button> | |||
<button type="submit" name="type" value="approve" {{ if and $.IsSigned ($.Issue.IsPoster $.SignedUser.ID) }} disabled {{ end }} class="ui submit green tiny button btn-submit">{{$.i18n.Tr "repo.diff.review.approve"}}</button> | |||
<button type="submit" name="type" value="comment" class="ui submit tiny basic button btn-submit">{{$.i18n.Tr "repo.diff.review.comment"}}</button> | |||
<button type="submit" name="type" value="reject" {{ if and $.IsSigned ($.Issue.IsPoster $.SignedUser.ID) }} disabled {{ end }} class="ui submit red tiny button btn-submit">{{$.i18n.Tr "repo.diff.review.reject"}}</button> | |||
</form> | |||
</div> | |||
</div> |
@@ -59,7 +59,7 @@ | |||
<div class="ui small basic modal" id="edit-empty-content-modal"> | |||
<div class="ui icon header"> | |||
<i class="file icon"></i> | |||
{{.i18n.Tr "repo.editor.commit_empty_file_header"}} | |||
{{.i18n.Tr "repo.editor.commit_empty_file_header"}} | |||
</div> | |||
<div class="center content"> | |||
<p>{{.i18n.Tr "repo.editor.commit_empty_file_text"}}</p> | |||
@@ -67,11 +67,11 @@ | |||
<div class="actions"> | |||
<div class="ui red basic cancel inverted button"> | |||
<i class="remove icon"></i> | |||
{{.i18n.Tr "repo.editor.cancel"}} | |||
{{.i18n.Tr "repo.editor.cancel"}} | |||
</div> | |||
<div class="ui green basic ok inverted button"> | |||
<i class="save icon"></i> | |||
{{.i18n.Tr "repo.editor.commit_changes"}} | |||
{{.i18n.Tr "repo.editor.commit_changes"}} | |||
</div> | |||
</div> | |||
</div> |
@@ -32,7 +32,7 @@ | |||
{{end}} | |||
{{end}} | |||
{{if .IsArchived}} | |||
<span class="ui basic label">{{$.i18n.Tr "repo.desc.archived"}}</span> | |||
<span class="ui basic label">{{$.i18n.Tr "repo.desc.archived"}}</span> | |||
{{end}} | |||
</div> | |||
</div> |
@@ -34,7 +34,7 @@ | |||
<div id="branch-list" class="scrolling menu reference-list-menu {{if not .Issue}}new-issue{{end}}"> | |||
{{if .Issue.Ref}} | |||
<div class="item text small" data-id="" data-id-selector="#ref_selector"><strong><a href="#">{{$.i18n.Tr "repo.clear_ref"}}</a></strong></div> | |||
{{end}} | |||
{{end}} | |||
{{range .Branches}} | |||
<div class="item" data-id="refs/heads/{{.}}" data-name="{{.}}" data-id-selector="#ref_selector">{{.}}</div> | |||
{{end}} | |||
@@ -42,7 +42,7 @@ | |||
<div id="tag-list" class="scrolling menu reference-list-menu {{if not .Issue}}new-issue{{end}}" style="display: none"> | |||
{{if .Issue.Ref}} | |||
<div class="item text small" data-id="" data-id-selector="#ref_selector"><strong><a href="#">{{.i18n.Tr "repo.clear_ref"}}</a></strong></div> | |||
{{end}} | |||
{{end}} | |||
{{range .Tags}} | |||
<div class="item" data-id="refs/tags/{{.}}" data-name="tags/{{.}}" data-id-selector="#ref_selector">{{.}}</div> | |||
{{end}} |
@@ -4,7 +4,7 @@ | |||
</div> | |||
<div class="field"> | |||
<div class="ui bottom active tab" data-tab="write"> | |||
<textarea id="content" class="edit_area js-quick-submit" name="content" tabindex="4" data-id="issue-{{.RepoName}}" data-url="{{.Repository.APIURL}}/markdown" data-context="{{.Repo.RepoLink}}"> | |||
<textarea id="content" class="edit_area js-quick-submit" name="content" tabindex="4" data-id="issue-{{.RepoName}}" data-url="{{.Repository.APIURL}}/markdown" data-context="{{.Repo.RepoLink}}"> | |||
{{- if .BodyQuery}}{{.BodyQuery}}{{else if .IssueTemplate}}{{.IssueTemplate}}{{else if .PullRequestTemplate}}{{.PullRequestTemplate}}{{else}}{{.content}}{{end -}} | |||
</textarea> | |||
</div> |
@@ -55,4 +55,3 @@ | |||
</div> | |||
</div> | |||
</div> | |||
@@ -3,8 +3,7 @@ | |||
<div class="ui attached left aligned segment"> | |||
<!-- <h4 class="ui header"> | |||
{{.i18n.Tr "repo.issues.label_templates.title"}} | |||
<a target="_blank" rel="noopener noreferrer" | |||
href="https://discuss.gogs.io/t/how-to-use-predefined-label-templates/599"> | |||
<a target="_blank" rel="noopener noreferrer" href="https://discuss.gogs.io/t/how-to-use-predefined-label-templates/599"> | |||
<span class="octicon octicon-question"></span> | |||
</a> | |||
</h4> --> |
@@ -14,29 +14,29 @@ | |||
{{if not .Repository.IsArchived}} | |||
<div class="column right aligned"> | |||
{{if or .CanWriteIssues .CanWritePulls}} | |||
<a class="ui button" href="{{.RepoLink}}/milestones/{{.MilestoneID}}/edit">{{.i18n.Tr "repo.milestones.edit"}}</a> | |||
<a class="ui button" href="{{.RepoLink}}/milestones/{{.MilestoneID}}/edit">{{.i18n.Tr "repo.milestones.edit"}}</a> | |||
{{end}} | |||
<a class="ui primary button" href="{{.RepoLink}}/issues/new{{if .NewIssueChooseTemplate}}/choose{{end}}?milestone={{.MilestoneID}}">{{.i18n.Tr "repo.issues.new"}}</a> | |||
</div> | |||
{{end}} | |||
</div> | |||
<div class="ui one column stackable grid"> | |||
<div class="column"> | |||
{{ $closedDate:= TimeSinceUnix .Milestone.ClosedDateUnix $.Lang }} | |||
{{if .IsClosed}} | |||
<div class="ui one column stackable grid"> | |||
<div class="column"> | |||
{{ $closedDate:= TimeSinceUnix .Milestone.ClosedDateUnix $.Lang }} | |||
{{if .IsClosed}} | |||
{{svg "octicon-clock"}} {{$.i18n.Tr "repo.milestones.closed" $closedDate|Str2html}} | |||
{{else}} | |||
{{else}} | |||
{{svg "octicon-calendar"}} | |||
{{if .Milestone.DeadlineString}} | |||
<span {{if .IsOverdue}}class="overdue"{{end}}>{{.Milestone.DeadlineString}}</span> | |||
{{else}} | |||
{{$.i18n.Tr "repo.milestones.no_due_date"}} | |||
{{end}} | |||
{{end}} | |||
| |||
<b>{{.i18n.Tr "repo.milestones.completeness" .Milestone.Completeness}}</b> | |||
</div> | |||
</div> | |||
{{if .Milestone.DeadlineString}} | |||
<span {{if .IsOverdue}}class="overdue"{{end}}>{{.Milestone.DeadlineString}}</span> | |||
{{else}} | |||
{{$.i18n.Tr "repo.milestones.no_due_date"}} | |||
{{end}} | |||
{{end}} | |||
| |||
<b>{{.i18n.Tr "repo.milestones.completeness" .Milestone.Completeness}}</b> | |||
</div> | |||
</div> | |||
<div class="ui divider"></div> | |||
<div id="issue-filters" class="ui stackable grid"> | |||
<div class="six wide column"> |
@@ -14,7 +14,7 @@ | |||
{{template "base/alert" .}} | |||
<div class="ui three column stackable grid"> | |||
<div class="column"> | |||
<div class="column"> | |||
<div class="ui compact tiny menu"> | |||
<a class="item{{if not .IsShowClosed}} active{{end}}" href="{{.RepoLink}}/milestones?state=open&q={{$.Keyword}}"> | |||
{{svg "octicon-milestone" 16 "mr-3"}} |
@@ -66,9 +66,9 @@ | |||
</div> | |||
<div id="comment-{{.Issue.ID}}" class="raw-content hide">{{.Issue.Content}}</div> | |||
<div class="edit-content-zone hide" data-write="issue-{{.Issue.ID}}-write" data-preview="issue-{{.Issue.ID}}-preview" data-update-url="{{$.RepoLink}}/issues/{{.Issue.Index}}/content" data-context="{{.RepoLink}}" data-attachment-url="{{$.RepoLink}}/issues/{{.Issue.Index}}/attachments" data-view-attachment-url="{{$.RepoLink}}/issues/{{.Issue.Index}}/view-attachments"></div> | |||
{{if .Issue.Attachments}} | |||
{{template "repo/issue/view_content/attachments" Dict "ctx" $ "Attachments" .Issue.Attachments "Content" .Issue.RenderedContent}} | |||
{{end}} | |||
{{if .Issue.Attachments}} | |||
{{template "repo/issue/view_content/attachments" Dict "ctx" $ "Attachments" .Issue.Attachments "Content" .Issue.RenderedContent}} | |||
{{end}} | |||
</div> | |||
{{$reactions := .Issue.Reactions.GroupByType}} | |||
{{if $reactions}} |
@@ -1,42 +1,42 @@ | |||
<div class="dropzone-attachments"> | |||
{{if .Attachments}} | |||
<div class="ui clearing divider"></div> | |||
{{end}} | |||
<div class="ui middle aligned padded grid"> | |||
{{$hasThumbnails := false}} | |||
{{- range .Attachments -}} | |||
<div class="twelve wide column" style="padding: 6px;"> | |||
<a target="_blank" rel="noopener noreferrer" href="{{.DownloadURL}}" title='{{$.ctx.i18n.Tr "repo.issues.attachment.open_tab" .Name}}'> | |||
{{if FilenameIsImage .Name}} | |||
{{if not (containGeneric $.Content .UUID)}} | |||
{{$hasThumbnails = true}} | |||
{{end}} | |||
<span class="ui image">{{svg "octicon-file"}}</span> | |||
{{else}} | |||
<span class="ui image">{{svg "octicon-desktop-download"}}</span> | |||
{{end}} | |||
<span><strong>{{.Name}}</strong></span> | |||
</a> | |||
</div> | |||
<div class="four wide column" style="padding: 0px;"> | |||
<span class="ui text grey right">{{.Size | FileSize}}</span> | |||
</div> | |||
{{end -}} | |||
</div> | |||
{{if .Attachments}} | |||
<div class="ui clearing divider"></div> | |||
{{end}} | |||
<div class="ui middle aligned padded grid"> | |||
{{$hasThumbnails := false}} | |||
{{- range .Attachments -}} | |||
<div class="twelve wide column" style="padding: 6px;"> | |||
<a target="_blank" rel="noopener noreferrer" href="{{.DownloadURL}}" title='{{$.ctx.i18n.Tr "repo.issues.attachment.open_tab" .Name}}'> | |||
{{if FilenameIsImage .Name}} | |||
{{if not (containGeneric $.Content .UUID)}} | |||
{{$hasThumbnails = true}} | |||
{{end}} | |||
<span class="ui image">{{svg "octicon-file"}}</span> | |||
{{else}} | |||
<span class="ui image">{{svg "octicon-desktop-download"}}</span> | |||
{{end}} | |||
<span><strong>{{.Name}}</strong></span> | |||
</a> | |||
</div> | |||
<div class="four wide column" style="padding: 0px;"> | |||
<span class="ui text grey right">{{.Size | FileSize}}</span> | |||
</div> | |||
{{end -}} | |||
</div> | |||
{{if $hasThumbnails}} | |||
<div class="ui clearing divider"></div> | |||
<div class="ui small images 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.i18n.Tr "repo.issues.attachment.open_tab" .Name}}'> | |||
</a> | |||
{{end}} | |||
{{end}} | |||
{{end -}} | |||
</div> | |||
{{end}} | |||
{{if $hasThumbnails}} | |||
<div class="ui clearing divider"></div> | |||
<div class="ui small images 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.i18n.Tr "repo.issues.attachment.open_tab" .Name}}'> | |||
</a> | |||
{{end}} | |||
{{end}} | |||
{{end -}} | |||
</div> | |||
{{end}} | |||
</div> |
@@ -3,13 +3,13 @@ | |||
{{ $createdStr:= TimeSinceUnix .CreatedUnix $.Lang }} | |||
<!-- 0 = COMMENT, 1 = REOPEN, 2 = CLOSE, 3 = ISSUE_REF, 4 = COMMIT_REF, | |||
5 = COMMENT_REF, 6 = PULL_REF, 7 = COMMENT_LABEL, 12 = START_TRACKING, | |||
13 = STOP_TRACKING, 14 = ADD_TIME_MANUAL, 16 = ADDED_DEADLINE, 17 = MODIFIED_DEADLINE, | |||
18 = REMOVED_DEADLINE, 19 = ADD_DEPENDENCY, 20 = REMOVE_DEPENDENCY, 21 = CODE, | |||
22 = REVIEW, 23 = ISSUE_LOCKED, 24 = ISSUE_UNLOCKED, 25 = TARGET_BRANCH_CHANGED, | |||
26 = DELETE_TIME_MANUAL, 27 = REVIEW_REQUEST, 28 = MERGE_PULL_REQUEST, | |||
29 = PULL_PUSH_EVENT, 30 = PROJECT_CHANGED, 31 = PROJECT_BOARD_CHANGED | |||
32 = DISMISSED_REVIEW --> | |||
5 = COMMENT_REF, 6 = PULL_REF, 7 = COMMENT_LABEL, 12 = START_TRACKING, | |||
13 = STOP_TRACKING, 14 = ADD_TIME_MANUAL, 16 = ADDED_DEADLINE, 17 = MODIFIED_DEADLINE, | |||
18 = REMOVED_DEADLINE, 19 = ADD_DEPENDENCY, 20 = REMOVE_DEPENDENCY, 21 = CODE, | |||
22 = REVIEW, 23 = ISSUE_LOCKED, 24 = ISSUE_UNLOCKED, 25 = TARGET_BRANCH_CHANGED, | |||
26 = DELETE_TIME_MANUAL, 27 = REVIEW_REQUEST, 28 = MERGE_PULL_REQUEST, | |||
29 = PULL_PUSH_EVENT, 30 = PROJECT_CHANGED, 31 = PROJECT_BOARD_CHANGED | |||
32 = DISMISSED_REVIEW --> | |||
{{if eq .Type 0}} | |||
<div class="timeline-item comment" id="{{.HashTag}}"> | |||
{{if .OriginalAuthor }} | |||
@@ -73,9 +73,9 @@ | |||
</div> | |||
<div id="comment-{{.ID}}" class="raw-content hide">{{.Content}}</div> | |||
<div class="edit-content-zone hide" data-write="issuecomment-{{.ID}}-write" data-preview="issuecomment-{{.ID}}-preview" data-update-url="{{$.RepoLink}}/comments/{{.ID}}" data-context="{{$.RepoLink}}" data-attachment-url="{{$.RepoLink}}/comments/{{.ID}}/attachments"></div> | |||
{{if .Attachments}} | |||
{{template "repo/issue/view_content/attachments" Dict "ctx" $ "Attachments" .Attachments "Content" .RenderedContent}} | |||
{{end}} | |||
{{if .Attachments}} | |||
{{template "repo/issue/view_content/attachments" Dict "ctx" $ "Attachments" .Attachments "Content" .RenderedContent}} | |||
{{end}} | |||
</div> | |||
{{$reactions := .Reactions.GroupByType}} | |||
{{if $reactions}} |
@@ -57,34 +57,34 @@ | |||
</span> | |||
{{end}} | |||
<span id="pull-desc-edit" style="display: none"> | |||
<div class="ui floating filter dropdown"> | |||
<div class="ui basic small button"> | |||
<span class="text">{{.i18n.Tr "repo.pulls.compare_compare"}}: {{$.HeadTarget}}</span> | |||
</div> | |||
</div> | |||
{{svg "octicon-arrow-right"}} | |||
<div class="ui floating filter dropdown" data-no-results="{{.i18n.Tr "repo.pulls.no_results"}}"> | |||
<div class="ui basic small button"> | |||
<span class="text" id="pull-target-branch" data-basename="{{$.BaseName}}" data-branch="{{$.BaseBranch}}">{{.i18n.Tr "repo.pulls.compare_base"}}: {{$.BaseName}}:{{$.BaseBranch}}</span> | |||
{{svg "octicon-triangle-down" 14 "dropdown icon"}} | |||
</div> | |||
<div class="menu"> | |||
<div class="ui icon search input"> | |||
<i class="icon df ac jc m-0">{{svg "octicon-filter" 16}}</i> | |||
<input name="search" placeholder="{{.i18n.Tr "repo.pulls.filter_branch"}}..."> | |||
</div> | |||
<div class="scrolling menu" id="branch-select"> | |||
{{range .Branches}} | |||
{{ $sameBase := ne $.BaseName $.HeadUserName }} | |||
{{ $differentBranch := ne . $.HeadBranch }} | |||
{{ if or $sameBase $differentBranch }} | |||
<div class="item {{if eq $.BaseBranch .}}selected{{end}}" data-branch="{{.}}">{{$.BaseName}}{{if $.HeadRepo}}/{{$.HeadRepo}}{{end}}:{{.}}</div> | |||
{{ end }} | |||
{{end}} | |||
</div> | |||
</div> | |||
</div> | |||
</span> | |||
<div class="ui floating filter dropdown"> | |||
<div class="ui basic small button"> | |||
<span class="text">{{.i18n.Tr "repo.pulls.compare_compare"}}: {{$.HeadTarget}}</span> | |||
</div> | |||
</div> | |||
{{svg "octicon-arrow-right"}} | |||
<div class="ui floating filter dropdown" data-no-results="{{.i18n.Tr "repo.pulls.no_results"}}"> | |||
<div class="ui basic small button"> | |||
<span class="text" id="pull-target-branch" data-basename="{{$.BaseName}}" data-branch="{{$.BaseBranch}}">{{.i18n.Tr "repo.pulls.compare_base"}}: {{$.BaseName}}:{{$.BaseBranch}}</span> | |||
{{svg "octicon-triangle-down" 14 "dropdown icon"}} | |||
</div> | |||
<div class="menu"> | |||
<div class="ui icon search input"> | |||
<i class="icon df ac jc m-0">{{svg "octicon-filter" 16}}</i> | |||
<input name="search" placeholder="{{.i18n.Tr "repo.pulls.filter_branch"}}..."> | |||
</div> | |||
<div class="scrolling menu" id="branch-select"> | |||
{{range .Branches}} | |||
{{ $sameBase := ne $.BaseName $.HeadUserName }} | |||
{{ $differentBranch := ne . $.HeadBranch }} | |||
{{ if or $sameBase $differentBranch }} | |||
<div class="item {{if eq $.BaseBranch .}}selected{{end}}" data-branch="{{.}}">{{$.BaseName}}{{if $.HeadRepo}}/{{$.HeadRepo}}{{end}}:{{.}}</div> | |||
{{ end }} | |||
{{end}} | |||
</div> | |||
</div> | |||
</div> | |||
</span> | |||
{{end}} | |||
{{else}} | |||
{{ $createdStr:= TimeSinceUnix .Issue.CreatedUnix $.Lang }} |
@@ -6,7 +6,7 @@ | |||
{{.CsrfTokenHtml}} | |||
<h3 class="ui top attached header"> | |||
{{.i18n.Tr "repo.migrate.migrate" .service.Title}} | |||
<input id="service_type" type="hidden" name="service" value="{{.service}}"> | |||
<input id="service_type" type="hidden" name="service" value="{{.service}}"> | |||
</h3> | |||
<div class="ui attached segment"> | |||
{{template "base/alert" .}} |
@@ -6,7 +6,7 @@ | |||
{{.CsrfTokenHtml}} | |||
<h3 class="ui top attached header"> | |||
{{.i18n.Tr "repo.migrate.migrate" .service.Title}} | |||
<input id="service_type" type="hidden" name="service" value="{{.service}}"> | |||
<input id="service_type" type="hidden" name="service" value="{{.service}}"> | |||
</h3> | |||
<div class="ui attached segment"> | |||
{{template "base/alert" .}} |
@@ -62,7 +62,7 @@ | |||
<label>{{.i18n.Tr "repo.migrate_items_releases" | Safe}}</label> | |||
</div> | |||
</div> | |||
--> | |||
--> | |||
</div> | |||
<div class="ui divider"></div> |
@@ -1,32 +1,32 @@ | |||
{{if $.LatestCommitStatus}} | |||
{{if not $.Issue.PullRequest.HasMerged}} | |||
<div class="ui top attached header"> | |||
{{if eq .LatestCommitStatus.State "pending"}} | |||
{{$.i18n.Tr "repo.pulls.status_checking"}} | |||
{{else if eq .LatestCommitStatus.State "success"}} | |||
{{$.i18n.Tr "repo.pulls.status_checks_success"}} | |||
{{else if eq .LatestCommitStatus.State "warning"}} | |||
{{$.i18n.Tr "repo.pulls.status_checks_warning"}} | |||
{{else if eq .LatestCommitStatus.State "failure"}} | |||
{{$.i18n.Tr "repo.pulls.status_checks_failure"}} | |||
{{else if eq .LatestCommitStatus.State "error"}} | |||
{{$.i18n.Tr "repo.pulls.status_checks_error"}} | |||
{{else}} | |||
{{$.i18n.Tr "repo.pulls.status_checking"}} | |||
{{end}} | |||
</div> | |||
{{end}} | |||
{{if not $.Issue.PullRequest.HasMerged}} | |||
<div class="ui top attached header"> | |||
{{if eq .LatestCommitStatus.State "pending"}} | |||
{{$.i18n.Tr "repo.pulls.status_checking"}} | |||
{{else if eq .LatestCommitStatus.State "success"}} | |||
{{$.i18n.Tr "repo.pulls.status_checks_success"}} | |||
{{else if eq .LatestCommitStatus.State "warning"}} | |||
{{$.i18n.Tr "repo.pulls.status_checks_warning"}} | |||
{{else if eq .LatestCommitStatus.State "failure"}} | |||
{{$.i18n.Tr "repo.pulls.status_checks_failure"}} | |||
{{else if eq .LatestCommitStatus.State "error"}} | |||
{{$.i18n.Tr "repo.pulls.status_checks_error"}} | |||
{{else}} | |||
{{$.i18n.Tr "repo.pulls.status_checking"}} | |||
{{end}} | |||
</div> | |||
{{end}} | |||
{{range $.LatestCommitStatuses}} | |||
<div class="ui attached segment"> | |||
<span>{{template "repo/commit_status" .}}</span> | |||
<span class="ui">{{.Context}} <span class="text grey">{{.Description}}</span></span> | |||
<div class="ui right"> | |||
{{if $.is_context_required}} | |||
{{if (call $.is_context_required .Context)}}<div class="ui label">{{$.i18n.Tr "repo.pulls.status_checks_requested"}}</div>{{end}} | |||
{{end}} | |||
<span class="ui">{{if .TargetURL}}<a href="{{.TargetURL}}">{{$.i18n.Tr "repo.pulls.status_checks_details"}}</a>{{end}}</span> | |||
</div> | |||
</div> | |||
{{end}} | |||
{{range $.LatestCommitStatuses}} | |||
<div class="ui attached segment"> | |||
<span>{{template "repo/commit_status" .}}</span> | |||
<span class="ui">{{.Context}} <span class="text grey">{{.Description}}</span></span> | |||
<div class="ui right"> | |||
{{if $.is_context_required}} | |||
{{if (call $.is_context_required .Context)}}<div class="ui label">{{$.i18n.Tr "repo.pulls.status_checks_requested"}}</div>{{end}} | |||
{{end}} | |||
<span class="ui">{{if .TargetURL}}<a href="{{.TargetURL}}">{{$.i18n.Tr "repo.pulls.status_checks_details"}}</a>{{end}}</span> | |||
</div> | |||
</div> | |||
{{end}} | |||
{{end}} |
@@ -127,7 +127,7 @@ | |||
{{$.i18n.Tr "repo.released_this"}} | |||
</span> | |||
{{if .CreatedUnix}} | |||
<span class="time">{{TimeSinceUnix .CreatedUnix $.Lang}}</span> | | |||
<span class="time">{{TimeSinceUnix .CreatedUnix $.Lang}}</span> | | |||
{{end}} | |||
<span class="ahead"><a href="{{$.RepoLink}}/compare/{{.TagName | EscapePound}}...{{.Target}}">{{$.i18n.Tr "repo.release.ahead.commits" .NumCommitsBehind | Str2html}}</a> {{$.i18n.Tr "repo.release.ahead.target" .Target}}</span> | |||
</p> |
@@ -9,37 +9,37 @@ | |||
{{.i18n.Tr "repo.settings.archive.branchsettings_unavailable"}} | |||
</div> | |||
{{else}} | |||
<h4 class="ui top attached header"> | |||
{{.i18n.Tr "repo.default_branch"}} | |||
</h4> | |||
<div class="ui attached segment"> | |||
<p> | |||
{{.i18n.Tr "repo.settings.default_branch_desc"}} | |||
</p> | |||
<form class="ui form" action="{{.Link}}" method="post"> | |||
{{.CsrfTokenHtml}} | |||
<input type="hidden" name="action" value="default_branch"> | |||
{{if not .Repository.IsEmpty}} | |||
<div class="required inline field"> | |||
<div class="ui dropdown selection" tabindex="0"> | |||
<select name="branch"> | |||
<option value="{{.Repository.DefaultBranch}}">{{.Repository.DefaultBranch}}</option> | |||
{{range .Branches}} | |||
<option value="{{.}}">{{.}}</option> | |||
{{end}} | |||
</select>{{svg "octicon-triangle-down" 14 "dropdown icon"}} | |||
<div class="default text">{{.Repository.DefaultBranch}}</div> | |||
<div class="menu transition hidden" tabindex="-1" style="display: block !important;"> | |||
{{range .Branches}} | |||
<div class="item" data-value="{{.}}">{{.}}</div> | |||
{{end}} | |||
</div> | |||
</div> | |||
<button class="ui green button">{{$.i18n.Tr "repo.settings.update_settings"}}</button> | |||
</div> | |||
{{end}} | |||
</form> | |||
</div> | |||
<h4 class="ui top attached header"> | |||
{{.i18n.Tr "repo.default_branch"}} | |||
</h4> | |||
<div class="ui attached segment"> | |||
<p> | |||
{{.i18n.Tr "repo.settings.default_branch_desc"}} | |||
</p> | |||
<form class="ui form" action="{{.Link}}" method="post"> | |||
{{.CsrfTokenHtml}} | |||
<input type="hidden" name="action" value="default_branch"> | |||
{{if not .Repository.IsEmpty}} | |||
<div class="required inline field"> | |||
<div class="ui dropdown selection" tabindex="0"> | |||
<select name="branch"> | |||
<option value="{{.Repository.DefaultBranch}}">{{.Repository.DefaultBranch}}</option> | |||
{{range .Branches}} | |||
<option value="{{.}}">{{.}}</option> | |||
{{end}} | |||
</select>{{svg "octicon-triangle-down" 14 "dropdown icon"}} | |||
<div class="default text">{{.Repository.DefaultBranch}}</div> | |||
<div class="menu transition hidden" tabindex="-1" style="display: block !important;"> | |||
{{range .Branches}} | |||
<div class="item" data-value="{{.}}">{{.}}</div> | |||
{{end}} | |||
</div> | |||
</div> | |||
<button class="ui green button">{{$.i18n.Tr "repo.settings.update_settings"}}</button> | |||
</div> | |||
{{end}} | |||
</form> | |||
</div> | |||
<h4 class="ui top attached header"> | |||
{{.i18n.Tr "repo.settings.protected_branch"}} |
@@ -19,12 +19,12 @@ | |||
<div class="ui key list"> | |||
{{range .Deploykeys}} | |||
<div class="item"> | |||
<div class="right floated content"> | |||
<div class="right floated content"> | |||
<button class="ui red tiny button delete-button" data-url="{{$.Link}}/delete" data-id="{{.ID}}"> | |||
{{$.i18n.Tr "settings.delete_key"}} | |||
</button> | |||
</div> | |||
<div class="left floated content"> | |||
</div> | |||
<div class="left floated content"> | |||
<i class="{{if .HasRecentActivity}}green{{end}}" {{if .HasRecentActivity}}data-content="{{$.i18n.Tr "settings.key_state_desc"}}" data-variation="inverted"{{end}}>{{svg "octicon-key" 32}}</i> | |||
</div> | |||
<div class="content"> |
@@ -7,25 +7,25 @@ | |||
<input id="homeserver_url" name="homeserver_url" type="url" value="{{.MatrixHook.HomeserverURL}}" autofocus required> | |||
</div> | |||
<div class="required field {{if .Err_Room}}error{{end}}"> | |||
<label for="room_id">{{.i18n.Tr "repo.settings.matrix.room_id"}}</label> | |||
<input id="room_id" name="room_id" type="text" value="{{.MatrixHook.Room}}" required> | |||
</div> | |||
<div class="required field {{if .Err_AccessToken}}error{{end}}"> | |||
<label for="access_token">{{.i18n.Tr "repo.settings.matrix.access_token"}}</label> | |||
<input id="access_token" name="access_token" type="text" value="{{.MatrixHook.AccessToken}}" required> | |||
</div> | |||
<div class="field"> | |||
<label>{{.i18n.Tr "repo.settings.matrix.message_type"}}</label> | |||
<div class="ui selection dropdown"> | |||
<input type="hidden" id="message_type" name="message_type" value="{{if .MatrixHook.MessageType}}{{.MatrixHook.MessageType}}{{else}}1{{end}}"> | |||
<div class="default text"></div> | |||
{{svg "octicon-triangle-down" 14 "dropdown icon"}} | |||
<div class="menu"> | |||
<div class="item" data-value="1">m.notice</div> | |||
<div class="item" data-value="2">m.text</div> | |||
</div> | |||
</div> | |||
</div> | |||
<label for="room_id">{{.i18n.Tr "repo.settings.matrix.room_id"}}</label> | |||
<input id="room_id" name="room_id" type="text" value="{{.MatrixHook.Room}}" required> | |||
</div> | |||
<div class="required field {{if .Err_AccessToken}}error{{end}}"> | |||
<label for="access_token">{{.i18n.Tr "repo.settings.matrix.access_token"}}</label> | |||
<input id="access_token" name="access_token" type="text" value="{{.MatrixHook.AccessToken}}" required> | |||
</div> | |||
<div class="field"> | |||
<label>{{.i18n.Tr "repo.settings.matrix.message_type"}}</label> | |||
<div class="ui selection dropdown"> | |||
<input type="hidden" id="message_type" name="message_type" value="{{if .MatrixHook.MessageType}}{{.MatrixHook.MessageType}}{{else}}1{{end}}"> | |||
<div class="default text"></div> | |||
{{svg "octicon-triangle-down" 14 "dropdown icon"}} | |||
<div class="menu"> | |||
<div class="item" data-value="1">m.notice</div> | |||
<div class="item" data-value="2">m.text</div> | |||
</div> | |||
</div> | |||
</div> | |||
{{template "repo/settings/webhook/settings" .}} | |||
</form> | |||
{{end}} |
@@ -6,10 +6,10 @@ | |||
<label for="bot_token">{{.i18n.Tr "repo.settings.bot_token"}}</label> | |||
<input id="bot_token" name="bot_token" type="text" value="{{.TelegramHook.BotToken}}" autofocus required> | |||
</div> | |||
<div class="required field {{if .Err_ChatID}}error{{end}}"> | |||
<label for="chat_id">{{.i18n.Tr "repo.settings.chat_id"}}</label> | |||
<input id="chat_id" name="chat_id" type="text" value="{{.TelegramHook.ChatID}}" required> | |||
</div> | |||
<div class="required field {{if .Err_ChatID}}error{{end}}"> | |||
<label for="chat_id">{{.i18n.Tr "repo.settings.chat_id"}}</label> | |||
<input id="chat_id" name="chat_id" type="text" value="{{.TelegramHook.ChatID}}" required> | |||
</div> | |||
{{template "repo/settings/webhook/settings" .}} | |||
</form> | |||
{{end}} |
@@ -128,10 +128,10 @@ | |||
<script> | |||
function submitDeleteForm() { | |||
var message = prompt("{{.i18n.Tr "repo.delete_confirm_message"}}\n\n{{.i18n.Tr "repo.delete_commit_summary"}}", "Delete '{{.TreeName}}'"); | |||
if (message != null) { | |||
$("#delete-message").val(message); | |||
$("#delete-file-form").submit() | |||
} | |||
var message = prompt("{{.i18n.Tr "repo.delete_confirm_message"}}\n\n{{.i18n.Tr "repo.delete_commit_summary"}}", "Delete '{{.TreeName}}'"); | |||
if (message != null) { | |||
$("#delete-message").val(message); | |||
$("#delete-file-form").submit() | |||
} | |||
} | |||
</script> |
@@ -29,7 +29,7 @@ | |||
</h4> | |||
{{if and .Commits (gt .CommitCount 0)}} | |||
{{template "repo/commits_list" .}} | |||
{{template "repo/commits_list" .}} | |||
{{end}} | |||
{{template "base/paginate" .}} |
@@ -48,8 +48,8 @@ | |||
<div class="desc issue-item-bottom-row df ac fw my-1"> | |||
<a class="index ml-0 mr-2" href="{{if .HTMLURL}}{{.HTMLURL}}{{else}}{{$.Link}}/{{.Index}}{{end}}"> | |||
{{if eq $.listType "dashboard"}} | |||
{{.Repo.FullName}}#{{.Index}} | |||
{{else}} | |||
{{.Repo.FullName}}#{{.Index}} | |||
{{else}} | |||
#{{.Index}} | |||
{{end}} | |||
</a> |
@@ -10,4 +10,3 @@ | |||
{{end}} | |||
</div> | |||
</div> | |||
@@ -17,7 +17,7 @@ | |||
<div class="inline field"> | |||
<label></label> | |||
<button class="ui green button">{{.i18n.Tr "auth.verify"}}</button> | |||
<a href="{{AppSubUrl}}/user/two_factor/scratch">{{.i18n.Tr "auth.use_scratch_code" | Str2html}}</a> | |||
<a href="{{AppSubUrl}}/user/two_factor/scratch">{{.i18n.Tr "auth.use_scratch_code" | Str2html}}</a> | |||
</div> | |||
</div> | |||
</form> |
@@ -26,7 +26,7 @@ | |||
{{.i18n.Tr "repo.issues.filter_type.review_requested"}} | |||
<strong class="ui right">{{CountFmt .IssueStats.ReviewRequestedCount}}</strong> | |||
</a> | |||
{{end}} | |||
{{end}} | |||
<div class="ui divider"></div> | |||
<a class="{{if not $.RepoIDs}}ui basic blue button{{end}} repo name item" href="{{$.Link}}?type={{$.ViewType}}&sort={{$.SortType}}&state={{$.State}}&q={{$.Keyword}}"> | |||
<span class="text truncate">All</span> |
@@ -76,56 +76,56 @@ | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="milestone list"> | |||
{{range .Milestones}} | |||
<li class="item"> | |||
<div class="ui label">{{.Repo.FullName}}</div> | |||
</div> | |||
<div class="milestone list"> | |||
{{range .Milestones}} | |||
<li class="item"> | |||
<div class="ui label">{{.Repo.FullName}}</div> | |||
{{svg "octicon-milestone"}} <a href="{{.Repo.Link }}/milestone/{{.ID}}">{{.Name}}</a> | |||
<div class="ui right green progress" data-percent="{{.Completeness}}"> | |||
<div class="bar" {{if not .Completeness}}style="background-color: transparent"{{end}}> | |||
<div class="progress"></div> | |||
</div> | |||
</div> | |||
<div class="meta"> | |||
{{ $closedDate:= TimeSinceUnix .ClosedDateUnix $.Lang }} | |||
{{if .IsClosed}} | |||
<div class="ui right green progress" data-percent="{{.Completeness}}"> | |||
<div class="bar" {{if not .Completeness}}style="background-color: transparent"{{end}}> | |||
<div class="progress"></div> | |||
</div> | |||
</div> | |||
<div class="meta"> | |||
{{ $closedDate:= TimeSinceUnix .ClosedDateUnix $.Lang }} | |||
{{if .IsClosed}} | |||
{{svg "octicon-clock"}} {{$.i18n.Tr "repo.milestones.closed" $closedDate|Str2html}} | |||
{{else}} | |||
{{else}} | |||
{{svg "octicon-calendar"}} | |||
{{if .DeadlineString}} | |||
<span {{if .IsOverdue}}class="overdue"{{end}}>{{.DeadlineString}}</span> | |||
{{else}} | |||
{{$.i18n.Tr "repo.milestones.no_due_date"}} | |||
{{end}} | |||
{{end}} | |||
<span class="issue-stats"> | |||
{{svg "octicon-issue-opened"}} {{$.i18n.Tr "repo.milestones.open_tab" .NumOpenIssues}} | |||
{{if .DeadlineString}} | |||
<span {{if .IsOverdue}}class="overdue"{{end}}>{{.DeadlineString}}</span> | |||
{{else}} | |||
{{$.i18n.Tr "repo.milestones.no_due_date"}} | |||
{{end}} | |||
{{end}} | |||
<span class="issue-stats"> | |||
{{svg "octicon-issue-opened"}} {{$.i18n.Tr "repo.milestones.open_tab" .NumOpenIssues}} | |||
{{svg "octicon-issue-closed"}} {{$.i18n.Tr "repo.milestones.close_tab" .NumClosedIssues}} | |||
{{if .TotalTrackedTime}}{{svg "octicon-clock"}} {{.TotalTrackedTime|Sec2Time}}{{end}} | |||
</span> | |||
</div> | |||
{{if and (or $.CanWriteIssues $.CanWritePulls) (not $.Repository.IsArchived)}} | |||
<div class="ui right operate"> | |||
<a href="{{$.Link}}/{{.ID}}/edit" data-id={{.ID}} data-title={{.Name}}>{{svg "octicon-pencil"}} {{$.i18n.Tr "repo.issues.label_edit"}}</a> | |||
{{if .IsClosed}} | |||
<a href="{{$.Link}}/{{.ID}}/open" data-id={{.ID}} data-title={{.Name}}>{{svg "octicon-check"}} {{$.i18n.Tr "repo.milestones.open"}}</a> | |||
{{else}} | |||
<a href="{{$.Link}}/{{.ID}}/close" data-id={{.ID}} data-title={{.Name}}>{{svg "octicon-x"}} {{$.i18n.Tr "repo.milestones.close"}}</a> | |||
{{end}} | |||
<a class="delete-button" href="#" data-url="{{$.RepoLink}}/milestones/delete" data-id="{{.ID}}">{{svg "octicon-trash"}} {{$.i18n.Tr "repo.issues.label_delete"}}</a> | |||
</div> | |||
{{end}} | |||
{{if .Content}} | |||
<div class="content"> | |||
{{.RenderedContent|Str2html}} | |||
</div> | |||
{{end}} | |||
</li> | |||
{{end}} | |||
{{if .TotalTrackedTime}}{{svg "octicon-clock"}} {{.TotalTrackedTime|Sec2Time}}{{end}} | |||
</span> | |||
</div> | |||
{{if and (or $.CanWriteIssues $.CanWritePulls) (not $.Repository.IsArchived)}} | |||
<div class="ui right operate"> | |||
<a href="{{$.Link}}/{{.ID}}/edit" data-id={{.ID}} data-title={{.Name}}>{{svg "octicon-pencil"}} {{$.i18n.Tr "repo.issues.label_edit"}}</a> | |||
{{if .IsClosed}} | |||
<a href="{{$.Link}}/{{.ID}}/open" data-id={{.ID}} data-title={{.Name}}>{{svg "octicon-check"}} {{$.i18n.Tr "repo.milestones.open"}}</a> | |||
{{else}} | |||
<a href="{{$.Link}}/{{.ID}}/close" data-id={{.ID}} data-title={{.Name}}>{{svg "octicon-x"}} {{$.i18n.Tr "repo.milestones.close"}}</a> | |||
{{end}} | |||
<a class="delete-button" href="#" data-url="{{$.RepoLink}}/milestones/delete" data-id="{{.ID}}">{{svg "octicon-trash"}} {{$.i18n.Tr "repo.issues.label_delete"}}</a> | |||
</div> | |||
{{end}} | |||
{{if .Content}} | |||
<div class="content"> | |||
{{.RenderedContent|Str2html}} | |||
</div> | |||
{{end}} | |||
</li> | |||
{{end}} | |||
{{template "base/paginate" .}} | |||
</div> | |||
{{template "base/paginate" .}} | |||
</div> | |||
</div> | |||
</div> |
@@ -1,134 +1,134 @@ | |||
<div class="page-content user notification" id="notification_div" data-params="{{.Page.GetParams}}"> | |||
<div class="ui container"> | |||
<h1 class="ui dividing header">{{.i18n.Tr "notification.notifications"}}</h1> | |||
<div class="ui top attached tabular menu"> | |||
{{ $notificationUnreadCount := call .NotificationUnreadCount}} | |||
<a href="{{AppSubUrl}}/notifications?q=unread" class="{{if eq .Status 1}}active{{end}} item"> | |||
{{.i18n.Tr "notification.unread"}} | |||
<div class="ui label {{if not $notificationUnreadCount}}hidden{{end}}">{{$notificationUnreadCount}}</div> | |||
</a> | |||
<a href="{{AppSubUrl}}/notifications?q=read" class="{{if eq .Status 2}}active{{end}} item"> | |||
{{.i18n.Tr "notification.read"}} | |||
</a> | |||
{{if and (eq .Status 1)}} | |||
<form action="{{AppSubUrl}}/notifications/purge" method="POST" style="margin-left: auto;"> | |||
{{$.CsrfTokenHtml}} | |||
<div class="{{if not $notificationUnreadCount}}hide{{end}}"> | |||
<button class="ui mini button primary" title='{{$.i18n.Tr "notification.mark_all_as_read"}}'> | |||
{{svg "octicon-checklist"}} | |||
</button> | |||
</div> | |||
</form> | |||
{{end}} | |||
</div> | |||
<div class="ui bottom attached active tab segment"> | |||
{{if eq (len .Notifications) 0}} | |||
{{if eq .Status 1}} | |||
{{.i18n.Tr "notification.no_unread"}} | |||
{{else}} | |||
{{.i18n.Tr "notification.no_read"}} | |||
{{end}} | |||
{{else}} | |||
<table class="ui unstackable striped very compact small selectable table" id="notification_table"> | |||
<tbody> | |||
{{range $notification := .Notifications}} | |||
{{$issue := .Issue}} | |||
{{$repo := .Repository}} | |||
{{$repoOwner := $repo.MustOwner}} | |||
<tr id="notification_{{.ID}}"> | |||
<td class="collapsing" data-href="{{.HTMLURL}}"> | |||
{{if eq .Status 3}} | |||
<span class="blue">{{svg "octicon-pin"}}</span> | |||
{{else if not $issue}} | |||
<span class="gray">{{svg "octicon-repo"}}</span> | |||
{{else if $issue.IsPull}} | |||
{{if $issue.IsClosed}} | |||
{{if $issue.GetPullRequest.HasMerged}} | |||
<span class="purple">{{svg "octicon-git-merge"}}</span> | |||
{{else}} | |||
<span class="red">{{svg "octicon-git-pull-request"}}</span> | |||
{{end}} | |||
{{else}} | |||
<span class="green">{{svg "octicon-git-pull-request"}}</span> | |||
{{end}} | |||
{{else}} | |||
{{if $issue.IsClosed}} | |||
<span class="red">{{svg "octicon-issue-closed"}}</span> | |||
{{else}} | |||
<span class="green">{{svg "octicon-issue-opened"}}</span> | |||
{{end}} | |||
{{end}} | |||
</td> | |||
<td class="eleven wide" data-href="{{.HTMLURL}}"> | |||
<a class="item" href="{{.HTMLURL}}"> | |||
{{if $issue}} | |||
#{{$issue.Index}} - {{$issue.Title}} | |||
{{else}} | |||
{{$repo.FullName}} | |||
{{end}} | |||
</a> | |||
</td> | |||
<td data-href="{{AppSubUrl}}/{{$repoOwner.Name}}/{{$repo.Name}}"> | |||
<a class="item" href="{{AppSubUrl}}/{{$repoOwner.Name}}/{{$repo.Name}}"> | |||
{{$repoOwner.Name}}/{{$repo.Name}} | |||
</a> | |||
</td> | |||
<td class="collapsing"> | |||
{{if ne .Status 3}} | |||
<form action="{{AppSubUrl}}/notifications/status" method="POST"> | |||
{{$.CsrfTokenHtml}} | |||
<input type="hidden" name="notification_id" value="{{.ID}}" /> | |||
<input type="hidden" name="status" value="pinned" /> | |||
<button class="ui mini button" title='{{$.i18n.Tr "notification.pin"}}' | |||
data-url="{{AppSubUrl}}/notifications/status" | |||
data-status="pinned" | |||
data-page="{{$.Page.Paginater.Current}}" | |||
data-notification-id="{{.ID}}" | |||
data-q="{{$.Keyword}}"> | |||
{{svg "octicon-pin"}} | |||
</button> | |||
</form> | |||
{{end}} | |||
</td> | |||
<td class="collapsing"> | |||
{{if or (eq .Status 1) (eq .Status 3)}} | |||
<form action="{{AppSubUrl}}/notifications/status" method="POST"> | |||
{{$.CsrfTokenHtml}} | |||
<input type="hidden" name="notification_id" value="{{.ID}}" /> | |||
<input type="hidden" name="status" value="read" /> | |||
<input type="hidden" name="page" value="{{$.Page.Paginater.Current}}" /> | |||
<button class="ui mini button" title='{{$.i18n.Tr "notification.mark_as_read"}}' | |||
data-url="{{AppSubUrl}}/notifications/status" | |||
data-status="read" | |||
data-page="{{$.Page.Paginater.Current}}" | |||
data-notification-id="{{.ID}}" | |||
data-q="{{$.Keyword}}"> | |||
{{svg "octicon-check"}} | |||
</button> | |||
</form> | |||
{{else if eq .Status 2}} | |||
<form action="{{AppSubUrl}}/notifications/status" method="POST"> | |||
{{$.CsrfTokenHtml}} | |||
<input type="hidden" name="notification_id" value="{{.ID}}" /> | |||
<input type="hidden" name="status" value="unread" /> | |||
<input type="hidden" name="page" value="{{$.Page.Paginater.Current}}" /> | |||
<button class="ui mini button" title='{{$.i18n.Tr "notification.mark_as_unread"}}' | |||
data-url="{{AppSubUrl}}/notifications/status" | |||
data-status="unread" | |||
data-page="{{$.Page.Paginater.Current}}" | |||
data-notification-id="{{.ID}}" | |||
data-q="{{$.Keyword}}"> | |||
{{svg "octicon-bell"}} | |||
</button> | |||
</form> | |||
{{end}} | |||
</td> | |||
</tr> | |||
{{end}} | |||
</tbody> | |||
</table> | |||
{{end}} | |||
</div> | |||
{{template "base/paginate" .}} | |||
</div> | |||
<div class="ui top attached tabular menu"> | |||
{{ $notificationUnreadCount := call .NotificationUnreadCount}} | |||
<a href="{{AppSubUrl}}/notifications?q=unread" class="{{if eq .Status 1}}active{{end}} item"> | |||
{{.i18n.Tr "notification.unread"}} | |||
<div class="ui label {{if not $notificationUnreadCount}}hidden{{end}}">{{$notificationUnreadCount}}</div> | |||
</a> | |||
<a href="{{AppSubUrl}}/notifications?q=read" class="{{if eq .Status 2}}active{{end}} item"> | |||
{{.i18n.Tr "notification.read"}} | |||
</a> | |||
{{if and (eq .Status 1)}} | |||
<form action="{{AppSubUrl}}/notifications/purge" method="POST" style="margin-left: auto;"> | |||
{{$.CsrfTokenHtml}} | |||
<div class="{{if not $notificationUnreadCount}}hide{{end}}"> | |||
<button class="ui mini button primary" title='{{$.i18n.Tr "notification.mark_all_as_read"}}'> | |||
{{svg "octicon-checklist"}} | |||
</button> | |||
</div> | |||
</form> | |||
{{end}} | |||
</div> | |||
<div class="ui bottom attached active tab segment"> | |||
{{if eq (len .Notifications) 0}} | |||
{{if eq .Status 1}} | |||
{{.i18n.Tr "notification.no_unread"}} | |||
{{else}} | |||
{{.i18n.Tr "notification.no_read"}} | |||
{{end}} | |||
{{else}} | |||
<table class="ui unstackable striped very compact small selectable table" id="notification_table"> | |||
<tbody> | |||
{{range $notification := .Notifications}} | |||
{{$issue := .Issue}} | |||
{{$repo := .Repository}} | |||
{{$repoOwner := $repo.MustOwner}} | |||
<tr id="notification_{{.ID}}"> | |||
<td class="collapsing" data-href="{{.HTMLURL}}"> | |||
{{if eq .Status 3}} | |||
<span class="blue">{{svg "octicon-pin"}}</span> | |||
{{else if not $issue}} | |||
<span class="gray">{{svg "octicon-repo"}}</span> | |||
{{else if $issue.IsPull}} | |||
{{if $issue.IsClosed}} | |||
{{if $issue.GetPullRequest.HasMerged}} | |||
<span class="purple">{{svg "octicon-git-merge"}}</span> | |||
{{else}} | |||
<span class="red">{{svg "octicon-git-pull-request"}}</span> | |||
{{end}} | |||
{{else}} | |||
<span class="green">{{svg "octicon-git-pull-request"}}</span> | |||
{{end}} | |||
{{else}} | |||
{{if $issue.IsClosed}} | |||
<span class="red">{{svg "octicon-issue-closed"}}</span> | |||
{{else}} | |||
<span class="green">{{svg "octicon-issue-opened"}}</span> | |||
{{end}} | |||
{{end}} | |||
</td> | |||
<td class="eleven wide" data-href="{{.HTMLURL}}"> | |||
<a class="item" href="{{.HTMLURL}}"> | |||
{{if $issue}} | |||
#{{$issue.Index}} - {{$issue.Title}} | |||
{{else}} | |||
{{$repo.FullName}} | |||
{{end}} | |||
</a> | |||
</td> | |||
<td data-href="{{AppSubUrl}}/{{$repoOwner.Name}}/{{$repo.Name}}"> | |||
<a class="item" href="{{AppSubUrl}}/{{$repoOwner.Name}}/{{$repo.Name}}"> | |||
{{$repoOwner.Name}}/{{$repo.Name}} | |||
</a> | |||
</td> | |||
<td class="collapsing"> | |||
{{if ne .Status 3}} | |||
<form action="{{AppSubUrl}}/notifications/status" method="POST"> | |||
{{$.CsrfTokenHtml}} | |||
<input type="hidden" name="notification_id" value="{{.ID}}" /> | |||
<input type="hidden" name="status" value="pinned" /> | |||
<button class="ui mini button" title='{{$.i18n.Tr "notification.pin"}}' | |||
data-url="{{AppSubUrl}}/notifications/status" | |||
data-status="pinned" | |||
data-page="{{$.Page.Paginater.Current}}" | |||
data-notification-id="{{.ID}}" | |||
data-q="{{$.Keyword}}"> | |||
{{svg "octicon-pin"}} | |||
</button> | |||
</form> | |||
{{end}} | |||
</td> | |||
<td class="collapsing"> | |||
{{if or (eq .Status 1) (eq .Status 3)}} | |||
<form action="{{AppSubUrl}}/notifications/status" method="POST"> | |||
{{$.CsrfTokenHtml}} | |||
<input type="hidden" name="notification_id" value="{{.ID}}" /> | |||
<input type="hidden" name="status" value="read" /> | |||
<input type="hidden" name="page" value="{{$.Page.Paginater.Current}}" /> | |||
<button class="ui mini button" title='{{$.i18n.Tr "notification.mark_as_read"}}' | |||
data-url="{{AppSubUrl}}/notifications/status" | |||
data-status="read" | |||
data-page="{{$.Page.Paginater.Current}}" | |||
data-notification-id="{{.ID}}" | |||
data-q="{{$.Keyword}}"> | |||
{{svg "octicon-check"}} | |||
</button> | |||
</form> | |||
{{else if eq .Status 2}} | |||
<form action="{{AppSubUrl}}/notifications/status" method="POST"> | |||
{{$.CsrfTokenHtml}} | |||
<input type="hidden" name="notification_id" value="{{.ID}}" /> | |||
<input type="hidden" name="status" value="unread" /> | |||
<input type="hidden" name="page" value="{{$.Page.Paginater.Current}}" /> | |||
<button class="ui mini button" title='{{$.i18n.Tr "notification.mark_as_unread"}}' | |||
data-url="{{AppSubUrl}}/notifications/status" | |||
data-status="unread" | |||
data-page="{{$.Page.Paginater.Current}}" | |||
data-notification-id="{{.ID}}" | |||
data-q="{{$.Keyword}}"> | |||
{{svg "octicon-bell"}} | |||
</button> | |||
</form> | |||
{{end}} | |||
</td> | |||
</tr> | |||
{{end}} | |||
</tbody> | |||
</table> | |||
{{end}} | |||
</div> | |||
{{template "base/paginate" .}} | |||
</div> | |||
</div> |
@@ -39,7 +39,7 @@ | |||
<p>{{.i18n.Tr "settings.gpg_helper" "https://docs.github.com/en/free-pro-team@latest/github/authenticating-to-github/about-commit-signature-verification#gpg-commit-signature-verification" | Str2html}}</p> | |||
<div {{if not .HasGPGError}}class="hide"{{end}} id="add-gpg-key-panel"> | |||
<h4 class="ui top attached header"> | |||
{{.i18n.Tr "settings.add_new_gpg_key"}} | |||
{{.i18n.Tr "settings.add_new_gpg_key"}} | |||
</h4> | |||
<div class="ui attached segment"> | |||
<form class="ui form" action="{{.Link}}" method="post"> |
@@ -35,7 +35,7 @@ | |||
{{else}} | |||
<span class="icon">{{svg "octicon-file-directory"}}</span> | |||
<span class="name">{{$.Owner.Name}}/{{$dir}}</span> | |||
<div class="right floated content"> | |||
<div class="right floated content"> | |||
{{if $.allowAdopt}} | |||
<button class="ui button submit tiny green adopt show-modal" data-modal="#adopt-unadopted-modal-{{$dirI}}"><span class="icon">{{svg "octicon-plus"}}</span><span class="label">{{$.i18n.Tr "repo.adopt_preexisting_label"}}</span></button> | |||
<div class="ui basic modal" id="adopt-unadopted-modal-{{$dirI}}"> |
@@ -6,16 +6,16 @@ | |||
{{if .TwofaEnrolled}} | |||
<div class="ui key list"> | |||
{{range .U2FRegistrations}} | |||
<div class="item"> | |||
<div class="right floated content"> | |||
<button class="ui red tiny button delete-button" id="delete-registration" data-url="{{$.Link}}/u2f/delete" data-id="{{.ID}}"> | |||
{{$.i18n.Tr "settings.delete_key"}} | |||
</button> | |||
</div> | |||
<div class="content"> | |||
<strong>{{.Name}}</strong> | |||
</div> | |||
</div> | |||
<div class="item"> | |||
<div class="right floated content"> | |||
<button class="ui red tiny button delete-button" id="delete-registration" data-url="{{$.Link}}/u2f/delete" data-id="{{.ID}}"> | |||
{{$.i18n.Tr "settings.delete_key"}} | |||
</button> | |||
</div> | |||
<div class="content"> | |||
<strong>{{.Name}}</strong> | |||
</div> | |||
</div> | |||
{{end}} | |||
</div> | |||
<div class="ui form"> | |||
@@ -53,4 +53,3 @@ | |||
</div> | |||
{{template "base/delete_modal_actions" .}} | |||
</div> | |||