mirror of
https://github.com/go-gitea/gitea.git
synced 2026-08-02 22:39:36 +00:00
476a043a5f
Co-Author: @wxiaoguang This PR is to fix https://github.com/go-gitea/gitea/issues/23318#issuecomment-1506275446 . The way to fix this in this PR is to use `delete_modal_actions.tmpl` here both to fix this issue and keep ui consistency (as suggested by [TODO here](https://github.com/go-gitea/gitea/blob/4299c3b7db61f8741eca0ba3d663bb65745a4acc/templates/projects/view.tmpl#L161)) And this PR also refactors `delete_modal_actions.tmpl` and its related styles, and use the template for more modal actions: 1. Added template attributes: * locale * ModalButtonStyle: "yes" (default) or "confirm" * ModalButtonCancelText * ModalButtonOkText 2. Rename `delete_modal_actions.tmpl` template to `modal_actions_confirm.tmpl` because it is not only used for action modals deletion now. 3. Refactored css related to modals into `web_src/css/modules/modal.css` and improved the styles. 4. Also use the template for PR deletion modal and remove issue dependency modal. 5. Some modals should also use the template, but not sure how to open them, so mark these modal actions by `{{/* TODO: Convert to base/modal_actions_confirm */}}` After (Also tested on arc green): Hovering on the left buttons <img width="711" alt="Screen Shot 2023-04-23 at 15 17 12" src="https://user-images.githubusercontent.com/17645053/233825650-76307e65-9255-44bb-80e8-7062f58ead1b.png"> <img width="786" alt="Screen Shot 2023-04-23 at 15 17 21" src="https://user-images.githubusercontent.com/17645053/233825652-4dc6f7d1-a180-49fb-a468-d60950eaee0d.png"> Test for functionalities: https://user-images.githubusercontent.com/17645053/233826857-76376fda-022c-42d0-b0f3-339c17ca4e59.mov --------- Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
294 lines
10 KiB
Handlebars
294 lines
10 KiB
Handlebars
{{template "base/head" .}}
|
|
<div role="main" aria-label="{{.Title}}" class="page-content user settings applications">
|
|
{{template "user/settings/navbar" .}}
|
|
<div class="ui container">
|
|
{{template "base/alert" .}}
|
|
<h4 class="ui top attached header">
|
|
{{.locale.Tr "settings.manage_access_token"}}
|
|
</h4>
|
|
<div class="ui attached segment">
|
|
<div class="ui key list">
|
|
<div class="item">
|
|
{{.locale.Tr "settings.tokens_desc"}}
|
|
</div>
|
|
{{range .Tokens}}
|
|
<div class="item">
|
|
<div class="right floated content">
|
|
<button class="ui red tiny button delete-button" data-modal-id="delete-token" data-url="{{$.Link}}/delete" data-id="{{.ID}}">
|
|
{{svg "octicon-trash" 16 "gt-mr-2"}}
|
|
{{$.locale.Tr "settings.delete_token"}}
|
|
</button>
|
|
</div>
|
|
<i class="text {{if .HasRecentActivity}}green{{end}}" {{if .HasRecentActivity}}data-tooltip-content="{{$.locale.Tr "settings.token_state_desc"}}"{{end}}>{{svg "fontawesome-send" 36}}</i>
|
|
<div class="content">
|
|
<details><summary><strong>{{.Name}}</strong></summary>
|
|
<p class="gt-my-2">{{$.locale.Tr "settings.scopes_list"}}</p>
|
|
<ul class="gt-my-2">
|
|
{{range .Scope.StringSlice}}
|
|
<li>{{.}}</li>
|
|
{{end}}
|
|
</ul>
|
|
</details>
|
|
<div class="activity meta">
|
|
<i>{{$.locale.Tr "settings.add_on"}} <span>{{template "shared/datetime/short" (dict "Datetime" .CreatedUnix.FormatLong "Fallback" .CreatedUnix.FormatShort)}}</span> — {{svg "octicon-info"}} {{if .HasUsed}}{{$.locale.Tr "settings.last_used"}} <span {{if .HasRecentActivity}}class="green"{{end}}>{{template "shared/datetime/short" (dict "Datetime" .UpdatedUnix.FormatLong "Fallback" .UpdatedUnix.FormatShort)}}</span>{{else}}{{$.locale.Tr "settings.no_activity"}}{{end}}</i>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{{end}}
|
|
</div>
|
|
</div>
|
|
<div class="ui attached bottom segment">
|
|
<h5 class="ui top header">
|
|
{{.locale.Tr "settings.generate_new_token"}}
|
|
</h5>
|
|
<p>{{.locale.Tr "settings.new_token_desc"}}</p>
|
|
<form class="ui form ignore-dirty" action="{{.Link}}" method="post">
|
|
{{.CsrfTokenHtml}}
|
|
<div class="field {{if .Err_Name}}error{{end}}">
|
|
<label for="name">{{.locale.Tr "settings.token_name"}}</label>
|
|
<input id="name" name="name" value="{{.name}}" autofocus required>
|
|
</div>
|
|
<details class="ui optional field">
|
|
<summary class="gt-p-2">
|
|
{{.locale.Tr "settings.select_scopes"}}
|
|
</summary>
|
|
<div class="field gt-pl-2">
|
|
<div class="ui checkbox">
|
|
<input class="enable-system" type="checkbox" name="scope" value="repo">
|
|
<label>repo</label>
|
|
</div>
|
|
</div>
|
|
<div class="field gt-pl-4">
|
|
<div class="field">
|
|
<div class="ui checkbox">
|
|
<input class="enable-system" type="checkbox" name="scope" value="repo:status">
|
|
<label>repo:status</label>
|
|
</div>
|
|
</div>
|
|
<div class="field">
|
|
<div class="ui checkbox">
|
|
<input class="enable-system" type="checkbox" name="scope" value="public_repo">
|
|
<label>public_repo</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="field">
|
|
<div class="ui checkbox">
|
|
<input class="enable-system" type="checkbox" name="scope" value="admin:org">
|
|
<label>admin:org</label>
|
|
</div>
|
|
</div>
|
|
<div class="field gt-pl-4">
|
|
<div class="field">
|
|
<div class="ui checkbox">
|
|
<input class="enable-system" type="checkbox" name="scope" value="write:org">
|
|
<label>write:org</label>
|
|
</div>
|
|
</div>
|
|
<div class="field">
|
|
<div class="ui checkbox">
|
|
<input class="enable-system" type="checkbox" name="scope" value="read:org">
|
|
<label>read:org</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="field">
|
|
<div class="ui checkbox">
|
|
<input class="enable-system" type="checkbox" name="scope" value="admin:public_key">
|
|
<label>admin:public_key</label>
|
|
</div>
|
|
</div>
|
|
<div class="field gt-pl-4">
|
|
<div class="field">
|
|
<div class="ui checkbox">
|
|
<input class="enable-system" type="checkbox" name="scope" value="write:public_key">
|
|
<label>write:public_key</label>
|
|
</div>
|
|
</div>
|
|
<div class="field">
|
|
<div class="ui checkbox">
|
|
<input class="enable-system" type="checkbox" name="scope" value="read:public_key">
|
|
<label>read:public_key</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="field">
|
|
<div class="ui checkbox">
|
|
<input class="enable-system" type="checkbox" name="scope" value="admin:repo_hook">
|
|
<label>admin:repo_hook</label>
|
|
</div>
|
|
</div>
|
|
<div class="field gt-pl-4">
|
|
<div class="field">
|
|
<div class="ui checkbox">
|
|
<input class="enable-system" type="checkbox" name="scope" value="write:repo_hook">
|
|
<label>write:repo_hook</label>
|
|
</div>
|
|
</div>
|
|
<div class="field">
|
|
<div class="ui checkbox">
|
|
<input class="enable-system" type="checkbox" name="scope" value="read:repo_hook">
|
|
<label>read:repo_hook</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="field">
|
|
<div class="ui checkbox">
|
|
<input class="enable-system" type="checkbox" name="scope" value="admin:org_hook">
|
|
<label>admin:org_hook</label>
|
|
</div>
|
|
</div>
|
|
<div class="field">
|
|
<div class="ui checkbox">
|
|
<input class="enable-system" type="checkbox" name="scope" value="admin:user_hook">
|
|
<label>admin:user_hook</label>
|
|
</div>
|
|
</div>
|
|
<div class="field">
|
|
<div class="ui checkbox">
|
|
<input class="enable-system" type="checkbox" name="scope" value="notification">
|
|
<label>notification</label>
|
|
</div>
|
|
</div>
|
|
<div class="field">
|
|
<div class="ui checkbox">
|
|
<input class="enable-system" type="checkbox" name="scope" value="user">
|
|
<label>user</label>
|
|
</div>
|
|
</div>
|
|
<div class="field gt-pl-4">
|
|
<div class="field">
|
|
<div class="ui checkbox">
|
|
<input class="enable-system" type="checkbox" name="scope" value="read:user">
|
|
<label>read:user</label>
|
|
</div>
|
|
</div>
|
|
<div class="field">
|
|
<div class="ui checkbox">
|
|
<input class="enable-system" type="checkbox" name="scope" value="user:email">
|
|
<label>user:email</label>
|
|
</div>
|
|
</div>
|
|
<div class="field">
|
|
<div class="ui checkbox">
|
|
<input class="enable-system" type="checkbox" name="scope" value="user:follow">
|
|
<label>user:follow</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="field">
|
|
<div class="ui checkbox">
|
|
<input class="enable-system" type="checkbox" name="scope" value="delete_repo">
|
|
<label>delete_repo</label>
|
|
</div>
|
|
</div>
|
|
<div class="field">
|
|
<div class="ui checkbox">
|
|
<input class="enable-system" type="checkbox" name="scope" value="package">
|
|
<label>package</label>
|
|
</div>
|
|
</div>
|
|
<div class="field gt-pl-4">
|
|
<div class="field">
|
|
<div class="ui checkbox">
|
|
<input class="enable-system" type="checkbox" name="scope" value="write:package">
|
|
<label>write:package</label>
|
|
</div>
|
|
</div>
|
|
<div class="field">
|
|
<div class="ui checkbox">
|
|
<input class="enable-system" type="checkbox" name="scope" value="read:package">
|
|
<label>read:package</label>
|
|
</div>
|
|
</div>
|
|
<div class="field">
|
|
<div class="ui checkbox">
|
|
<input class="enable-system" type="checkbox" name="scope" value="delete:package">
|
|
<label>delete:package</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="field">
|
|
<div class="ui checkbox">
|
|
<input class="enable-system" type="checkbox" name="scope" value="admin:gpg_key">
|
|
<label>admin:gpg_key</label>
|
|
</div>
|
|
</div>
|
|
<div class="field gt-pl-4">
|
|
<div class="field">
|
|
<div class="ui checkbox">
|
|
<input class="enable-system" type="checkbox" name="scope" value="write:gpg_key">
|
|
<label>write:gpg_key</label>
|
|
</div>
|
|
</div>
|
|
<div class="field">
|
|
<div class="ui checkbox">
|
|
<input class="enable-system" type="checkbox" name="scope" value="read:gpg_key">
|
|
<label>read:gpg_key</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="field">
|
|
<div class="ui checkbox">
|
|
<input class="enable-system" type="checkbox" name="scope" value="admin:application">
|
|
<label>admin:application</label>
|
|
</div>
|
|
</div>
|
|
<div class="field gt-pl-4">
|
|
<div class="field">
|
|
<div class="ui checkbox">
|
|
<input class="enable-system" type="checkbox" name="scope" value="write:application">
|
|
<label>write:application</label>
|
|
</div>
|
|
</div>
|
|
<div class="field">
|
|
<div class="ui checkbox">
|
|
<input class="enable-system" type="checkbox" name="scope" value="read:application">
|
|
<label>read:application</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="field">
|
|
<div class="ui checkbox">
|
|
<input class="enable-system" type="checkbox" name="scope" value="sudo">
|
|
<label>sudo</label>
|
|
</div>
|
|
</div>
|
|
</details>
|
|
<button class="ui green button">
|
|
{{.locale.Tr "settings.generate_token"}}
|
|
</button>
|
|
</form>
|
|
</div>
|
|
|
|
{{if .EnableOAuth2}}
|
|
{{template "user/settings/grants_oauth2" .}}
|
|
{{template "user/settings/applications_oauth2" .}}
|
|
{{end}}
|
|
</div>
|
|
</div>
|
|
|
|
<div class="ui gitea-confirm-modal delete modal" id="delete-token">
|
|
<div class="header">
|
|
{{svg "octicon-trash"}}
|
|
{{.locale.Tr "settings.access_token_deletion"}}
|
|
</div>
|
|
<div class="content">
|
|
<p>{{.locale.Tr "settings.access_token_deletion_desc"}}</p>
|
|
</div>
|
|
|
|
<div class="actions">{{/* TODO: Convert to base/modal_actions_confirm.tmpl */}}
|
|
<button class="ui green basic inverted cancel button">
|
|
{{svg "octicon-x"}}
|
|
{{.locale.Tr "settings.access_token_deletion_cancel_action"}}
|
|
</button>
|
|
<button class="ui red basic inverted ok button">
|
|
{{svg "octicon-check"}}
|
|
{{.locale.Tr "settings.access_token_deletion_confirm_action"}}
|
|
</button>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
{{template "base/footer" .}}
|