loading up the forgejo repo on tangled to test page performance
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Refactor delete_modal_actions template and use it for project column related actions (#24097)

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>

authored by

Hester Gong
wxiaoguang
and committed by
GitHub
476a043a 5e389228

+285 -286
+2
options/locale/locale_en-US.ini
··· 462 462 [modal] 463 463 yes = Yes 464 464 no = No 465 + confirm = Confirm 466 + cancel = Cancel 465 467 modify = Update 466 468 467 469 [form]
+3 -3
templates/admin/auth/edit.tmpl
··· 440 440 </div> 441 441 </div> 442 442 443 - <div class="ui small basic delete modal"> 444 - <div class="ui icon header"> 443 + <div class="ui gitea-confirm-modal delete modal"> 444 + <div class="header"> 445 445 {{svg "octicon-trash"}} 446 446 {{.locale.Tr "admin.auths.delete_auth_title"}} 447 447 </div> 448 448 <div class="content"> 449 449 <p>{{.locale.Tr "admin.auths.delete_auth_desc"}}</p> 450 450 </div> 451 - {{template "base/delete_modal_actions" .}} 451 + {{template "base/modal_actions_confirm" .}} 452 452 </div> 453 453 {{template "base/footer" .}}
+4 -4
templates/admin/emails/list.tmpl
··· 73 73 74 74 {{template "base/paginate" .}} 75 75 76 - <div class="ui basic modal" id="change-email-modal"> 77 - <div class="ui icon header"> 76 + <div class="ui gitea-confirm-modal modal" id="change-email-modal"> 77 + <div class="header"> 78 78 {{.locale.Tr "admin.emails.change_email_header"}} 79 79 </div> 80 - <div class="content center"> 80 + <div class="content"> 81 81 <p class="center">{{.locale.Tr "admin.emails.change_email_text"}}</p> 82 82 83 83 <form class="ui form" id="email-action-form" action="{{AppSubUrl}}/admin/emails/activate" method="post"> ··· 94 94 <input type="hidden" id="form-activate" name="activate" value="" required> 95 95 96 96 <div class="center"> 97 - {{template "base/delete_modal_actions" .}} 97 + {{template "base/modal_actions_confirm" .}} 98 98 </div> 99 99 </form> 100 100 </div>
+3 -4
templates/admin/monitor.tmpl
··· 37 37 {{template "admin/process" .}} 38 38 </div> 39 39 </div> 40 - <div class="ui small basic delete modal"> 41 - <div class="ui icon header"> 42 - {{svg "octicon-x" 16 "close inside"}} 40 + <div class="ui gitea-confirm-modal delete modal"> 41 + <div class="header"> 43 42 {{.locale.Tr "admin.monitor.process.cancel"}} 44 43 </div> 45 44 <div class="content"> 46 45 <p>{{$.locale.Tr "admin.monitor.process.cancel_notices" `<span class="name"></span>` | Safe}}</p> 47 46 <p>{{$.locale.Tr "admin.monitor.process.cancel_desc"}}</p> 48 47 </div> 49 - {{template "base/delete_modal_actions" .}} 48 + {{template "base/modal_actions_confirm" .}} 50 49 </div> 51 50 {{template "base/footer" .}}
-1
templates/admin/notice.tmpl
··· 72 72 </div> 73 73 74 74 <div class="ui modal admin" id="detail-modal"> 75 - {{svg "octicon-x" 16 "close inside"}} 76 75 <div class="header">{{$.locale.Tr "admin.notices.view_detail_header"}}</div> 77 76 <div class="content"> 78 77 <div class="sub header"></div>
+3 -3
templates/admin/packages/list.tmpl
··· 80 80 </div> 81 81 </div> 82 82 83 - <div class="ui small basic delete modal"> 84 - <div class="ui icon header"> 83 + <div class="ui gitea-confirm-modal delete modal"> 84 + <div class="header"> 85 85 {{svg "octicon-trash"}} 86 86 {{.locale.Tr "packages.settings.delete"}} 87 87 </div> 88 88 <div class="content"> 89 89 {{.locale.Tr "packages.settings.delete.notice" `<span class="name"></span>` `<span class="dataVersion"></span>` | Safe}} 90 90 </div> 91 - {{template "base/delete_modal_actions" .}} 91 + {{template "base/modal_actions_confirm" .}} 92 92 </div> 93 93 {{template "base/footer" .}}
+3 -4
templates/admin/queue.tmpl
··· 181 181 </div> 182 182 </div> 183 183 </div> 184 - <div class="ui small basic delete modal"> 185 - <div class="ui icon header"> 186 - {{svg "octicon-x" 16 "close inside"}} 184 + <div class="ui gitea-confirm-modal delete modal"> 185 + <div class="header"> 187 186 {{.locale.Tr "admin.monitor.queue.pool.cancel"}} 188 187 </div> 189 188 <div class="content"> 190 189 <p>{{$.locale.Tr "admin.monitor.queue.pool.cancel_notices" `<span class="name"></span>` | Safe}}</p> 191 190 <p>{{$.locale.Tr "admin.monitor.queue.pool.cancel_desc"}}</p> 192 191 </div> 193 - {{template "base/delete_modal_actions" .}} 192 + {{template "base/modal_actions_confirm" .}} 194 193 </div> 195 194 196 195 {{template "base/footer" .}}
+3 -3
templates/admin/repo/list.tmpl
··· 95 95 </div> 96 96 </div> 97 97 98 - <div class="ui small basic delete modal"> 99 - <div class="ui icon header"> 98 + <div class="ui gitea-confirm-modal delete modal"> 99 + <div class="header"> 100 100 {{svg "octicon-trash"}} 101 101 {{.locale.Tr "repo.settings.delete"}} 102 102 </div> ··· 105 105 {{.locale.Tr "repo.settings.delete_notices_2" `<span class="name"></span>` | Safe}}<br> 106 106 {{.locale.Tr "repo.settings.delete_notices_fork_1"}}<br> 107 107 </div> 108 - {{template "base/delete_modal_actions" .}} 108 + {{template "base/modal_actions_confirm" .}} 109 109 </div> 110 110 {{template "base/footer" .}}
+4 -6
templates/admin/repo/unadopted.tmpl
··· 29 29 <span class="name">{{$dir}}</span> 30 30 <div class="right floated content"> 31 31 <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">{{$.locale.Tr "repo.adopt_preexisting_label"}}</span></button> 32 - <div class="ui basic modal" id="adopt-unadopted-modal-{{$dirI}}"> 33 - {{svg "octicon-x" 16 "close inside"}} 32 + <div class="ui gitea-confirm-modal modal" id="adopt-unadopted-modal-{{$dirI}}"> 34 33 <div class="header"> 35 34 <span class="label">{{$.locale.Tr "repo.adopt_preexisting"}}</span> 36 35 </div> ··· 43 42 <input type="hidden" name="action" value="adopt"> 44 43 <input type="hidden" name="q" value="{{$.Keyword}}"> 45 44 <input type="hidden" name="page" value="{{$.CurrentPage}}"> 46 - <div class="actions"> 45 + <div class="actions">{{/* TODO: Convert to base/modal_actions_confirm */}} 47 46 <button class="ui red basic inverted cancel button"> 48 47 {{svg "octicon-trash" 16 "gt-mr-2"}} 49 48 {{$.locale.Tr "modal.no"}} ··· 56 55 </form> 57 56 </div> 58 57 <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">{{$.locale.Tr "repo.delete_preexisting_label"}}</span></button> 59 - <div class="ui basic modal" id="delete-unadopted-modal-{{$dirI}}"> 60 - {{svg "octicon-x" 16 "close inside"}} 58 + <div class="ui gitea-confirm-modal modal" id="delete-unadopted-modal-{{$dirI}}"> 61 59 <div class="header"> 62 60 <span class="label">{{$.locale.Tr "repo.delete_preexisting"}}</span> 63 61 </div> ··· 70 68 <input type="hidden" name="action" value="delete"> 71 69 <input type="hidden" name="q" value="{{$.Keyword}}"> 72 70 <input type="hidden" name="page" value="{{$.CurrentPage}}"> 73 - <div class="actions"> 71 + <div class="actions">{{/* TODO: Convert to base/modal_actions_confirm */}} 74 72 <button class="ui red basic inverted cancel button"> 75 73 {{svg "octicon-trash" 16 "gt-mr-2"}} 76 74 {{$.locale.Tr "modal.no"}}
+3 -4
templates/admin/stacktrace.tmpl
··· 18 18 </div> 19 19 </div> 20 20 </div> 21 - <div class="ui small basic delete modal"> 22 - <div class="ui icon header"> 23 - {{svg "octicon-x" 16 "close inside"}} 21 + <div class="ui gitea-confirm-modal delete modal"> 22 + <div class="header"> 24 23 {{.locale.Tr "admin.monitor.process.cancel"}} 25 24 </div> 26 25 <div class="content"> 27 26 <p>{{$.locale.Tr "admin.monitor.process.cancel_notices" `<span class="name"></span>` | Safe}}</p> 28 27 <p>{{$.locale.Tr "admin.monitor.process.cancel_desc"}}</p> 29 28 </div> 30 - {{template "base/delete_modal_actions" .}} 29 + {{template "base/modal_actions_confirm" .}} 31 30 </div> 32 31 33 32 {{template "base/footer" .}}
+3 -3
templates/admin/user/edit.tmpl
··· 196 196 </div> 197 197 </div> 198 198 199 - <div class="ui small basic delete modal" id="delete-user-modal"> 200 - <div class="ui icon header"> 199 + <div class="ui gitea-confirm-modal delete modal" id="delete-user-modal"> 200 + <div class="header"> 201 201 {{svg "octicon-trash"}} 202 202 {{.locale.Tr "settings.delete_account_title"}} 203 203 </div> ··· 213 213 </div> 214 214 <p class="help">{{.locale.Tr "admin.users.purge_help"}}</p> 215 215 </div> 216 - {{template "base/delete_modal_actions" .}} 216 + {{template "base/modal_actions_confirm" .}} 217 217 </form> 218 218 </div> 219 219 {{template "base/footer" .}}
-10
templates/base/delete_modal_actions.tmpl
··· 1 - <div class="actions"> 2 - <button class="ui red basic inverted cancel button"> 3 - {{svg "octicon-x"}} 4 - {{.locale.Tr "modal.no"}} 5 - </button> 6 - <button class="ui green basic inverted ok button"> 7 - {{svg "octicon-check"}} 8 - {{.locale.Tr "modal.yes"}} 9 - </button> 10 - </div>
+21
templates/base/modal_actions_confirm.tmpl
··· 1 + {{/* 2 + Template Attributes: 3 + * locale 4 + * ModalButtonStyle: "yes" (default) or "confirm" 5 + * ModalButtonCancelText 6 + * ModalButtonOkText 7 + 8 + The ".ok.button" and ".cancel.button" selectors are also used by Fomantic Modal internally 9 + */}} 10 + <div class="actions"> 11 + {{$textNegitive := .locale.Tr "modal.no"}} 12 + {{$textPositive := .locale.Tr "modal.yes"}} 13 + {{if eq .ModalButtonStyle "confirm"}} 14 + {{$textNegitive = .locale.Tr "modal.cancel"}} 15 + {{$textPositive = .locale.Tr "modal.confirm"}} 16 + {{end}} 17 + {{if .ModalButtonCancelText}}{{$textNegitive = .ModalButtonCancelText}}{{end}} 18 + {{if .ModalButtonOkText}}{{$textPositive = .ModalButtonOkText}}{{end}} 19 + <button class="ui red cancel button">{{svg "octicon-x"}} {{$textNegitive}}</button> 20 + <button class="ui green ok button">{{svg "octicon-check"}} {{$textPositive}}</button> 21 + </div>
+6 -8
templates/org/member/members.tmpl
··· 81 81 {{template "base/paginate" .}} 82 82 </div> 83 83 </div> 84 - <div class="ui small basic delete modal" id="leave-organization"> 85 - <div class="ui icon header"> 86 - {{svg "octicon-x" 16 "close inside"}} 84 + <div class="ui gitea-confirm-modal delete modal" id="leave-organization"> 85 + <div class="header"> 87 86 {{$.locale.Tr "org.members.leave"}} 88 87 </div> 89 88 <div class="content"> 90 89 <p>{{$.locale.Tr "org.members.leave.detail" `<span class="dataOrganizationName"></span>` | Safe}}</p> 91 90 </div> 92 - {{template "base/delete_modal_actions" .}} 91 + {{template "base/modal_actions_confirm" .}} 93 92 </div> 94 - <div class="ui small basic delete modal" id="remove-organization-member"> 95 - <div class="ui icon header"> 96 - {{svg "octicon-x" 16 "close inside"}} 93 + <div class="ui gitea-confirm-modal delete modal" id="remove-organization-member"> 94 + <div class="header"> 97 95 {{$.locale.Tr "org.members.remove"}} 98 96 </div> 99 97 <div class="content"> 100 98 <p>{{$.locale.Tr "org.members.remove.detail" `<span class="name"></span>` `<span class="dataOrganizationName"></span>` | Safe}}</p> 101 99 </div> 102 - {{template "base/delete_modal_actions" .}} 100 + {{template "base/modal_actions_confirm" .}} 103 101 </div> 104 102 105 103 {{template "base/footer" .}}
+3 -3
templates/org/settings/delete.tmpl
··· 29 29 </div> 30 30 </div> 31 31 32 - <div class="ui small basic delete modal"> 33 - <div class="ui icon header"> 32 + <div class="ui gitea-confirm-modal delete modal"> 33 + <div class="header"> 34 34 {{svg "octicon-trash"}} 35 35 {{.locale.Tr "org.settings.delete_org_title"}} 36 36 </div> 37 37 <div class="content"> 38 38 <p>{{.locale.Tr "org.settings.delete_org_desc"}}</p> 39 39 </div> 40 - {{template "base/delete_modal_actions" .}} 40 + {{template "base/modal_actions_confirm" .}} 41 41 </div> 42 42 {{template "base/footer" .}}
+3 -4
templates/org/team/members.tmpl
··· 64 64 </div> 65 65 </div> 66 66 </div> 67 - <div class="ui small basic delete modal" id="remove-team-member"> 68 - <div class="ui icon header"> 69 - {{svg "octicon-x" 16 "close inside"}} 67 + <div class="ui gitea-confirm-modal delete modal" id="remove-team-member"> 68 + <div class="header"> 70 69 {{$.locale.Tr "org.members.remove"}} 71 70 </div> 72 71 <div class="content"> 73 72 <p>{{$.locale.Tr "org.members.remove.detail" `<span class="name"></span>` `<span class="dataTeamName"></span>` | Safe}}</p> 74 73 </div> 75 - {{template "base/delete_modal_actions" .}} 74 + {{template "base/modal_actions_confirm" .}} 76 75 </div> 77 76 {{template "base/footer" .}}
+3 -3
templates/org/team/new.tmpl
··· 148 148 </div> 149 149 </div> 150 150 151 - <div class="ui small basic delete modal"> 152 - <div class="ui icon header"> 151 + <div class="ui gitea-confirm-modal delete modal"> 152 + <div class="header"> 153 153 {{svg "octicon-trash"}} 154 154 {{.locale.Tr "org.teams.delete_team_title"}} 155 155 </div> 156 156 <div class="content"> 157 157 <p>{{.locale.Tr "org.teams.delete_team_desc"}}</p> 158 158 </div> 159 - {{template "base/delete_modal_actions" .}} 159 + {{template "base/modal_actions_confirm" .}} 160 160 </div> 161 161 {{template "base/footer" .}}
+6 -6
templates/org/team/repositories.tmpl
··· 64 64 </div> 65 65 </div> 66 66 67 - <div class="ui small basic delete modal" id="org-team-remove-all-repo"> 68 - <div class="ui icon header"> 67 + <div class="ui gitea-confirm-modal delete modal" id="org-team-remove-all-repo"> 68 + <div class="header"> 69 69 {{svg "octicon-trash"}} 70 70 {{.locale.Tr "org.teams.remove_all_repos_title"}} 71 71 </div> 72 72 <div class="content"> 73 73 <p>{{.locale.Tr "org.teams.remove_all_repos_desc"}}</p> 74 74 </div> 75 - {{template "base/delete_modal_actions" .}} 75 + {{template "base/modal_actions_confirm" .}} 76 76 </div> 77 77 78 - <div class="ui small basic addall modal" id="org-team-add-all-repo"> 79 - <div class="ui icon header"> 78 + <div class="ui gitea-confirm-modal addall modal" id="org-team-add-all-repo"> 79 + <div class="header"> 80 80 {{svg "octicon-globe"}} 81 81 {{.locale.Tr "org.teams.add_all_repos_title"}} 82 82 </div> 83 83 <div class="content"> 84 84 <p>{{.locale.Tr "org.teams.add_all_repos_desc"}}</p> 85 85 </div> 86 - {{template "base/delete_modal_actions" .}} 86 + {{template "base/modal_actions_confirm" .}} 87 87 </div> 88 88 89 89 {{template "base/footer" .}}
+3 -4
templates/org/team/sidebar.tmpl
··· 83 83 </div> 84 84 {{end}} 85 85 </div> 86 - <div class="ui small basic delete modal" id="leave-team-sidebar"> 87 - <div class="ui icon header"> 88 - {{svg "octicon-x" 16 "close inside"}} 86 + <div class="ui gitea-confirm-modal delete modal" id="leave-team-sidebar"> 87 + <div class="header"> 89 88 {{$.locale.Tr "org.teams.leave"}} 90 89 </div> 91 90 <div class="content"> 92 91 <p>{{$.locale.Tr "org.teams.leave.detail" `<span class="name"></span>` | Safe}}</p> 93 92 </div> 94 - {{template "base/delete_modal_actions" .}} 93 + {{template "base/modal_actions_confirm" .}} 95 94 </div>
+3 -4
templates/org/team/teams.tmpl
··· 43 43 </div> 44 44 </div> 45 45 </div> 46 - <div class="ui small basic delete modal" id="leave-team"> 47 - <div class="ui icon header"> 48 - {{svg "octicon-x" 16 "close inside"}} 46 + <div class="ui gitea-confirm-modal delete modal" id="leave-team"> 47 + <div class="header"> 49 48 {{$.locale.Tr "org.teams.leave"}} 50 49 </div> 51 50 <div class="content"> 52 51 <p>{{$.locale.Tr "org.teams.leave.detail" `<span class="name"></span>` | Safe}}</p> 53 52 </div> 54 - {{template "base/delete_modal_actions" .}} 53 + {{template "base/modal_actions_confirm" .}} 55 54 </div> 56 55 {{template "base/footer" .}}
+1 -1
templates/package/settings.tmpl
··· 57 57 <form class="ui form" action="{{.Link}}" method="post"> 58 58 {{.CsrfTokenHtml}} 59 59 <input type="hidden" name="action" value="delete"> 60 - {{template "base/delete_modal_actions" .}} 60 + {{template "base/modal_actions_confirm" .}} 61 61 </form> 62 62 </div> 63 63 </div>
+3 -3
templates/projects/list.tmpl
··· 76 76 </div> 77 77 78 78 {{if $.CanWriteProjects}} 79 - <div class="ui small basic delete modal"> 80 - <div class="ui icon header"> 79 + <div class="ui gitea-confirm-modal delete modal"> 80 + <div class="header"> 81 81 {{svg "octicon-trash"}} 82 82 {{.locale.Tr "repo.projects.deletion"}} 83 83 </div> 84 84 <div class="content"> 85 85 <p>{{.locale.Tr "repo.projects.deletion_desc"}}</p> 86 86 </div> 87 - {{template "base/delete_modal_actions" .}} 87 + {{template "base/modal_actions_confirm" .}} 88 88 </div> 89 89 {{end}}
+15 -20
templates/projects/view.tmpl
··· 99 99 data-modal="#default-project-board-modal-{{.ID}}" 100 100 data-modal-default-project-board-header="{{$.locale.Tr "repo.projects.column.set_default"}}" 101 101 data-modal-default-project-board-content="{{$.locale.Tr "repo.projects.column.set_default_desc"}}" 102 - data-modal-default-project-board-submit="{{$.locale.Tr "repo.projects.column.set_default"}}" 103 102 data-url="{{$.Link}}/{{.ID}}/default"> 104 103 {{svg "octicon-pin"}} 105 104 {{$.locale.Tr "repo.projects.column.set_default"}} ··· 109 108 data-modal="#default-project-board-modal-{{.ID}}" 110 109 data-modal-default-project-board-header="{{$.locale.Tr "repo.projects.column.unset_default"}}" 111 110 data-modal-default-project-board-content="{{$.locale.Tr "repo.projects.column.unset_default_desc"}}" 112 - data-modal-default-project-board-submit="{{$.locale.Tr "repo.projects.column.unset_default"}}" 113 111 data-url="{{$.Link}}/{{.ID}}/unsetdefault"> 114 112 {{svg "octicon-pin"}} 115 113 {{$.locale.Tr "repo.projects.column.unset_default"}} 116 114 </a> 117 115 {{end}} 118 - <a class="item show-modal button" data-modal="#delete-board-modal-{{.ID}}"> 116 + <a class="item show-modal button show-delete-column-modal" 117 + data-modal="#delete-board-modal-{{.ID}}" 118 + data-url="{{$.Link}}/{{.ID}}" 119 + > 119 120 {{svg "octicon-trash"}} 120 121 {{$.locale.Tr "repo.projects.column.delete"}} 121 122 </a> ··· 149 150 </div> 150 151 </div> 151 152 152 - <div class="ui basic modal default-project-board-modal" id="default-project-board-modal-{{.ID}}"> 153 - <div class="ui icon header"> 153 + <div class="ui gitea-confirm-modal modal default-project-board-modal" id="default-project-board-modal-{{.ID}}"> 154 + <div class="header"> 154 155 <span id="default-project-board-header"></span> 155 156 </div> 156 - <div class="content center"> 157 + <div class="content"> 157 158 <label id="default-project-board-content"></label> 158 159 </div> 159 - <div class="text right actions"> 160 - <button class="ui cancel button">{{$.locale.Tr "settings.cancel"}}</button> 161 - <button class="ui primary button default-project-board-button" id="default-project-board-submit"></button> 162 - </div> 160 + {{template "base/modal_actions_confirm" (dict "locale" $.locale "ModalButtonStyle" "confirm")}} 163 161 </div> 164 162 165 - <div class="ui basic modal" id="delete-board-modal-{{.ID}}"> 166 - <div class="ui icon header"> 163 + <div class="ui gitea-confirm-modal modal" id="delete-board-modal-{{.ID}}"> 164 + <div class="header"> 167 165 {{$.locale.Tr "repo.projects.column.delete"}} 168 166 </div> 169 - <div class="content center"> 167 + <div class="content"> 170 168 <label> 171 169 {{$.locale.Tr "repo.projects.column.deletion_desc"}} 172 170 </label> 173 171 </div> 174 - <div class="text right actions">{{/* TODO: convert to base/delete_modal_actions.tmpl */}} 175 - <button class="ui cancel button">{{$.locale.Tr "settings.cancel"}}</button> 176 - <button class="ui red button delete-project-board" data-url="{{$.Link}}/{{.ID}}">{{$.locale.Tr "repo.projects.column.delete"}}</button> 177 - </div> 172 + {{template "base/modal_actions_confirm" (dict "locale" $.locale "ModalButtonStyle" "confirm")}} 178 173 </div> 179 174 </div> 180 175 </div> ··· 277 272 </div> 278 273 279 274 {{if .CanWriteProjects}} 280 - <div class="ui small basic delete modal"> 281 - <div class="ui icon header"> 275 + <div class="ui gitea-confirm-modal delete modal"> 276 + <div class="header"> 282 277 {{svg "octicon-trash"}} 283 278 {{.locale.Tr "repo.projects.deletion"}} 284 279 </div> 285 280 <div class="content"> 286 281 <p>{{.locale.Tr "repo.projects.deletion_desc"}}</p> 287 282 </div> 288 - {{template "base/delete_modal_actions" .}} 283 + {{template "base/modal_actions_confirm" .}} 289 284 </div> 290 285 {{end}}
+3 -3
templates/repo/branch/list.tmpl
··· 147 147 </div> 148 148 </div> 149 149 150 - <div class="ui small basic delete modal"> 151 - <div class="ui icon header"> 150 + <div class="ui gitea-confirm-modal delete modal"> 151 + <div class="header"> 152 152 {{svg "octicon-trash"}} 153 153 {{.locale.Tr "repo.branch.delete_html"}} <span class="name"></span> 154 154 </div> 155 155 <div class="content"> 156 156 <p>{{.locale.Tr "repo.branch.delete_desc" | Str2html}}</p> 157 157 </div> 158 - {{template "base/delete_modal_actions" .}} 158 + {{template "base/modal_actions_confirm" .}} 159 159 </div> 160 160 161 161 <div class="ui small modal" id="create-branch-modal">
+3 -3
templates/repo/commit_page.tmpl
··· 59 59 data-modal-cherry-pick-header="{{$.locale.Tr "repo.commit.cherry-pick-header" (ShortSha .CommitID)}}" 60 60 data-modal-cherry-pick-content="{{$.locale.Tr "repo.commit.cherry-pick-content"}}" 61 61 data-modal-cherry-pick-submit="{{.locale.Tr "repo.commit.cherry-pick"}}">{{.locale.Tr "repo.commit.cherry-pick"}}</div> 62 - <div class="ui basic modal" id="cherry-pick-modal"> 63 - <div class="ui icon header"> 62 + <div class="ui gitea-confirm-modal modal" id="cherry-pick-modal"> 63 + <div class="header"> 64 64 <span id="cherry-pick-header"></span> 65 65 </div> 66 - <div class="content center"> 66 + <div class="content"> 67 67 <p id="cherry-pick-content" class="branch-dropdown"></p> 68 68 {{template "repo/branch_dropdown" dict "root" . 69 69 "noTag" true "disableCreateBranch" true
+2 -2
templates/repo/editor/edit.tmpl
··· 56 56 </div> 57 57 58 58 59 - <div class="ui small basic modal" id="edit-empty-content-modal"> 60 - <div class="ui icon header"> 59 + <div class="ui gitea-confirm-modal modal" id="edit-empty-content-modal"> 60 + <div class="header"> 61 61 {{svg "octicon-file"}} 62 62 {{.locale.Tr "repo.editor.commit_empty_file_header"}} 63 63 </div>
+2 -2
templates/repo/editor/patch.tmpl
··· 36 36 </form> 37 37 </div> 38 38 39 - <div class="ui small basic modal" id="edit-empty-content-modal"> 40 - <div class="ui icon header"> 39 + <div class="ui gitea-confirm-modal modal" id="edit-empty-content-modal"> 40 + <div class="header"> 41 41 {{svg "octicon-file"}} 42 42 {{.locale.Tr "repo.editor.commit_empty_file_header"}} 43 43 </div>
-1
templates/repo/header.tmpl
··· 118 118 {{svg "octicon-repo-forked"}}{{$.locale.Tr "repo.fork"}} 119 119 </a> 120 120 <div class="ui small modal" id="fork-repo-modal"> 121 - {{svg "octicon-x" 16 "close inside"}} 122 121 <div class="header"> 123 122 {{$.locale.Tr "repo.already_forked" .Name}} 124 123 </div>
+3 -3
templates/repo/issue/labels/edit_delete_label.tmpl
··· 1 - <div class="ui small basic delete modal"> 2 - <div class="ui icon header"> 1 + <div class="ui gitea-confirm-modal delete modal"> 2 + <div class="header"> 3 3 {{svg "octicon-trash"}} 4 4 {{.locale.Tr "repo.issues.label_deletion"}} 5 5 </div> 6 6 <div class="content"> 7 7 <p>{{.locale.Tr "repo.issues.label_deletion_desc"}}</p> 8 8 </div> 9 - {{template "base/delete_modal_actions" .}} 9 + {{template "base/modal_actions_confirm" .}} 10 10 </div> 11 11 12 12 <div class="ui small edit-label modal">
+3 -3
templates/repo/issue/milestones.tmpl
··· 116 116 </div> 117 117 118 118 {{if or .CanWriteIssues .CanWritePulls}} 119 - <div class="ui small basic delete modal"> 120 - <div class="ui icon header"> 119 + <div class="ui gitea-confirm-modal delete modal"> 120 + <div class="header"> 121 121 {{svg "octicon-trash"}} 122 122 {{.locale.Tr "repo.milestones.deletion"}} 123 123 </div> 124 124 <div class="content"> 125 125 <p>{{.locale.Tr "repo.milestones.deletion_desc"}}</p> 126 126 </div> 127 - {{template "base/delete_modal_actions" .}} 127 + {{template "base/modal_actions_confirm" .}} 128 128 </div> 129 129 {{end}} 130 130 {{template "base/footer" .}}
+3 -3
templates/repo/issue/view_content.tmpl
··· 197 197 <span class="no-content">{{.locale.Tr "repo.issues.no_content"}}</span> 198 198 </div> 199 199 200 - <div class="ui small basic delete modal"> 201 - <div class="ui icon header"> 200 + <div class="ui gitea-confirm-modal delete modal"> 201 + <div class="header"> 202 202 {{svg "octicon-trash"}} 203 203 {{.locale.Tr "repo.branch.delete" .HeadTarget}} 204 204 </div> 205 205 <div class="content"> 206 206 <p>{{.locale.Tr "repo.branch.delete_desc" | Str2html}}</p> 207 207 </div> 208 - {{template "base/delete_modal_actions" .}} 208 + {{template "base/modal_actions_confirm" .}} 209 209 </div>
+1 -1
templates/repo/issue/view_content/comments_delete_time.tmpl
··· 7 7 {{.ctxData.CsrfTokenHtml}} 8 8 </form> 9 9 <div class="header">{{.ctxData.locale.Tr "repo.issues.del_time"}}</div> 10 - {{template "base/delete_modal_actions" .}} 10 + {{template "base/modal_actions_confirm" .}} 11 11 </div> 12 12 <button class="ui icon button compact mini issue-delete-time" data-id="{{.comment.Time.ID}}" data-tooltip-content="{{.ctxData.locale.Tr "repo.issues.del_time"}}"> 13 13 {{svg "octicon-trash"}}
+9 -19
templates/repo/issue/view_content/sidebar.tmpl
··· 542 542 {{if and .CanCreateIssueDependencies (not .Repository.IsArchived)}} 543 543 <input type="hidden" id="crossRepoSearch" value="{{.AllowCrossRepositoryDependencies}}"> 544 544 545 - <div class="ui basic modal remove-dependency"> 546 - <div class="ui icon header"> 545 + <div class="ui gitea-confirm-modal modal remove-dependency"> 546 + <div class="header"> 547 547 {{svg "octicon-trash"}} 548 548 {{.locale.Tr "repo.issues.dependency.remove_header"}} 549 549 </div> ··· 559 559 {{.locale.Tr "repo.issues.dependency.issue_remove_text"}} 560 560 {{end}}</p> 561 561 </div> 562 - <div class="actions"> 563 - <button class="ui red cancel inverted button"> 564 - {{svg "octicon-x"}} 565 - {{.locale.Tr "repo.issues.dependency.cancel"}} 566 - </button> 567 - <button class="ui green ok inverted button"> 568 - {{svg "octicon-check"}} 569 - {{.locale.Tr "repo.issues.dependency.remove"}} 570 - </button> 571 - </div> 562 + {{$ModalButtonCancelText := .locale.Tr "repo.issues.dependency.cancel"}} 563 + {{$ModalButtonOkText := .locale.Tr "repo.issues.dependency.remove"}} 564 + {{template "base/modal_actions_confirm" (dict "." . "ModalButtonCancelText" $ModalButtonCancelText "ModalButtonOkText" $ModalButtonOkText)}} 572 565 </div> 573 566 {{end}} 574 567 {{end}} ··· 663 656 {{svg "octicon-trash"}} 664 657 {{.locale.Tr "repo.issues.delete"}} 665 658 </button> 666 - <div class="ui basic modal" id="delete"> 667 - <div class="ui icon header"> 659 + <div class="ui gitea-confirm-modal modal" id="delete"> 660 + <div class="header"> 668 661 {{if .Issue.IsPull}} 669 662 {{.locale.Tr "repo.pulls.delete.title"}} 670 663 {{else}} 671 664 {{.locale.Tr "repo.issues.delete.title"}} 672 665 {{end}} 673 666 </div> 674 - <div class="content center"> 667 + <div class="content"> 675 668 <p> 676 669 {{if .Issue.IsPull}} 677 670 {{.locale.Tr "repo.pulls.delete.text"}} ··· 682 675 </div> 683 676 <form action="{{.Issue.Link}}/delete" method="post"> 684 677 {{.CsrfTokenHtml}} 685 - <div class="center actions"> 686 - <button class="ui basic cancel inverted button">{{.locale.Tr "settings.cancel"}}</button> 687 - <button class="ui basic red inverted button">{{.locale.Tr "modal.yes"}}</button> 688 - </div> 678 + {{template "base/modal_actions_confirm" .}} 689 679 </form> 690 680 </div> 691 681 {{end}}
+3 -3
templates/repo/projects/list.tmpl
··· 78 78 </div> 79 79 80 80 {{if .CanWriteProjects}} 81 - <div class="ui small basic delete modal"> 82 - <div class="ui icon header"> 81 + <div class="ui gitea-confirm-modal delete modal"> 82 + <div class="header"> 83 83 {{svg "octicon-trash"}} 84 84 {{.locale.Tr "repo.projects.deletion"}} 85 85 </div> 86 86 <div class="content"> 87 87 <p>{{.locale.Tr "repo.projects.deletion_desc"}}</p> 88 88 </div> 89 - {{template "base/delete_modal_actions" .}} 89 + {{template "base/modal_actions_confirm" .}} 90 90 </div> 91 91 {{end}} 92 92 {{template "base/footer" .}}
+15 -20
templates/repo/projects/view.tmpl
··· 103 103 data-modal="#default-project-board-modal-{{.ID}}" 104 104 data-modal-default-project-board-header="{{$.locale.Tr "repo.projects.column.set_default"}}" 105 105 data-modal-default-project-board-content="{{$.locale.Tr "repo.projects.column.set_default_desc"}}" 106 - data-modal-default-project-board-submit="{{$.locale.Tr "repo.projects.column.set_default"}}" 107 106 data-type="set_default" 108 107 data-url="{{$.Link}}/{{.ID}}/default"> 109 108 {{svg "octicon-pin"}} ··· 114 113 data-modal="#default-project-board-modal-{{.ID}}" 115 114 data-modal-default-project-board-header="{{$.locale.Tr "repo.projects.column.unset_default"}}" 116 115 data-modal-default-project-board-content="{{$.locale.Tr "repo.projects.column.unset_default_desc"}}" 117 - data-modal-default-project-board-submit="{{$.locale.Tr "repo.projects.column.unset_default"}}" 118 116 data-type="unset_default" 119 117 data-url="{{$.Link}}/{{.ID}}/unsetdefault"> 120 118 {{svg "octicon-pin"}} 121 119 {{$.locale.Tr "repo.projects.column.unset_default"}} 122 120 </a> 123 121 {{end}} 124 - <a class="item show-modal button" data-modal="#delete-board-modal-{{.ID}}"> 122 + <a class="item show-modal button show-delete-column-modal" 123 + data-modal="#delete-board-modal-{{.ID}}" 124 + data-url="{{$.RepoLink}}/projects/{{$.Project.ID}}/{{.ID}}" 125 + > 125 126 {{svg "octicon-trash"}} 126 127 {{$.locale.Tr "repo.projects.column.delete"}} 127 128 </a> ··· 155 156 </div> 156 157 </div> 157 158 158 - <div class="ui basic modal default-project-board-modal" id="default-project-board-modal-{{.ID}}"> 159 - <div class="ui icon header"> 159 + <div class="ui gitea-confirm-modal modal default-project-board-modal" id="default-project-board-modal-{{.ID}}"> 160 + <div class="header"> 160 161 <span id="default-project-board-header"></span> 161 162 </div> 162 - <div class="content center"> 163 + <div class="content"> 163 164 <label id="default-project-board-content"></label> 164 165 </div> 165 - <div class="text right actions"> 166 - <button class="ui cancel button">{{$.locale.Tr "settings.cancel"}}</button> 167 - <button class="ui primary button default-project-board-button" id="default-project-board-submit"></button> 168 - </div> 166 + {{template "base/modal_actions_confirm" (dict "locale" $.locale "ModalButtonStyle" "confirm")}} 169 167 </div> 170 168 171 - <div class="ui basic modal" id="delete-board-modal-{{.ID}}"> 172 - <div class="ui icon header"> 169 + <div class="ui gitea-confirm-modal modal" id="delete-board-modal-{{.ID}}"> 170 + <div class="header"> 173 171 {{$.locale.Tr "repo.projects.column.delete"}} 174 172 </div> 175 - <div class="content center"> 173 + <div class="content"> 176 174 <label> 177 175 {{$.locale.Tr "repo.projects.column.deletion_desc"}} 178 176 </label> 179 177 </div> 180 - <div class="text right actions">{{/* TODO: Convert to base/delete_modal_actions.tmpl? */}} 181 - <button class="ui cancel button">{{$.locale.Tr "settings.cancel"}}</button> 182 - <button class="ui red button delete-project-board" data-url="{{$.RepoLink}}/projects/{{$.Project.ID}}/{{.ID}}">{{$.locale.Tr "repo.projects.column.delete"}}</button> 183 - </div> 178 + {{template "base/modal_actions_confirm" (dict "locale" $.locale "ModalButtonStyle" "confirm")}} 184 179 </div> 185 180 </div> 186 181 </div> ··· 283 278 </div> 284 279 285 280 {{if or .CanWriteIssues .CanWritePulls}} 286 - <div class="ui small basic delete modal"> 287 - <div class="ui icon header"> 281 + <div class="ui gitea-confirm-modal delete modal"> 282 + <div class="header"> 288 283 {{svg "octicon-trash"}} 289 284 {{.locale.Tr "repo.projects.deletion"}} 290 285 </div> 291 286 <div class="content"> 292 287 <p>{{.locale.Tr "repo.projects.deletion_desc"}}</p> 293 288 </div> 294 - {{template "base/delete_modal_actions" .}} 289 + {{template "base/modal_actions_confirm" .}} 295 290 </div> 296 291 {{end}} 297 292
+4 -4
templates/repo/release/list.tmpl
··· 184 184 </div> 185 185 186 186 {{if (and ($.Permission.CanWrite $.UnitTypeCode) .PageIsTagList)}} 187 - <div class="ui small basic delete modal"> 188 - <div class="ui header"> 189 - {{svg "octicon-trash" 16 "gt-mr-2"}} 187 + <div class="ui gitea-confirm-modal delete modal"> 188 + <div class="header"> 189 + {{svg "octicon-trash"}} 190 190 {{.locale.Tr "repo.release.delete_tag"}} 191 191 </div> 192 192 <div class="content"> 193 193 <p>{{.locale.Tr "repo.release.deletion_tag_desc"}}</p> 194 194 </div> 195 - {{template "base/delete_modal_actions" .}} 195 + {{template "base/modal_actions_confirm" .}} 196 196 </div> 197 197 {{end}} 198 198
+3 -3
templates/repo/release/new.tmpl
··· 138 138 </div> 139 139 140 140 {{if .PageIsEditRelease}} 141 - <div class="ui small basic delete modal"> 142 - <div class="ui icon header"> 141 + <div class="ui gitea-confirm-modal delete modal"> 142 + <div class="header"> 143 143 {{svg "octicon-trash"}} 144 144 {{.locale.Tr "repo.release.deletion"}} 145 145 </div> 146 146 <div class="content"> 147 147 <p>{{.locale.Tr "repo.release.deletion_desc"}}</p> 148 148 </div> 149 - {{template "base/delete_modal_actions" .}} 149 + {{template "base/modal_actions_confirm" .}} 150 150 </div> 151 151 {{end}} 152 152 {{template "base/footer" .}}
+4 -4
templates/repo/settings/branches.tmpl
··· 96 96 </div> 97 97 </div> 98 98 99 - <div class="ui small basic delete modal"> 100 - <div class="ui header"> 101 - {{svg "octicon-trash" 16 "gt-mr-2"}} 99 + <div class="ui gitea-confirm-modal delete modal"> 100 + <div class="header"> 101 + {{svg "octicon-trash"}} 102 102 {{.locale.Tr "repo.settings.protected_branch_deletion"}} 103 103 </div> 104 104 <div class="content"> 105 105 <p>{{.locale.Tr "repo.settings.protected_branch_deletion_desc"}}</p> 106 106 </div> 107 - {{template "base/delete_modal_actions" .}} 107 + {{template "base/modal_actions_confirm" .}} 108 108 </div> 109 109 110 110 {{template "base/footer" .}}
+3 -3
templates/repo/settings/collaboration.tmpl
··· 112 112 </div> 113 113 </div> 114 114 115 - <div class="ui small basic delete modal"> 116 - <div class="ui icon header"> 115 + <div class="ui gitea-confirm-modal delete modal"> 116 + <div class="header"> 117 117 {{svg "octicon-trash"}} 118 118 {{.locale.Tr "repo.settings.collaborator_deletion"}} 119 119 </div> 120 120 <div class="content"> 121 121 <p>{{.locale.Tr "repo.settings.collaborator_deletion_desc"}}</p> 122 122 </div> 123 - {{template "base/delete_modal_actions" .}} 123 + {{template "base/modal_actions_confirm" .}} 124 124 </div> 125 125 {{template "base/footer" .}}
+3 -3
templates/repo/settings/deploy_keys.tmpl
··· 77 77 </div> 78 78 </div> 79 79 80 - <div class="ui small basic delete modal"> 81 - <div class="ui icon header"> 80 + <div class="ui gitea-confirm-modal delete modal"> 81 + <div class="header"> 82 82 {{svg "octicon-trash"}} 83 83 {{.locale.Tr "repo.settings.deploy_key_deletion"}} 84 84 </div> 85 85 <div class="content"> 86 86 <p>{{.locale.Tr "repo.settings.deploy_key_deletion_desc"}}</p> 87 87 </div> 88 - {{template "base/delete_modal_actions" .}} 88 + {{template "base/modal_actions_confirm" .}} 89 89 </div> 90 90 {{template "base/footer" .}}
+4 -4
templates/repo/settings/lfs.tmpl
··· 40 40 </table> 41 41 {{template "base/paginate" .}} 42 42 {{range .LFSFiles}} 43 - <div class="ui basic modal" id="delete-{{.Oid}}"> 44 - <div class="ui icon header"> 43 + <div class="ui gitea-confirm-modal modal" id="delete-{{.Oid}}"> 44 + <div class="header"> 45 45 {{$.locale.Tr "repo.settings.lfs_delete" .Oid}} 46 46 </div> 47 - <div class="content center"> 47 + <div class="content"> 48 48 <p> 49 49 {{$.locale.Tr "repo.settings.lfs_delete_warning"}} 50 50 </p> 51 51 <form class="ui form" action="{{$.Link}}/delete/{{.Oid}}" method="post"> 52 52 {{$.CsrfTokenHtml}} 53 - <div class="center actions">{{/* TODO: Convert to base/delete_modal_actions */}} 53 + <div class="actions">{{/* TODO: Convert to base/modal_actions_confirm */}} 54 54 <button class="ui basic cancel inverted button">{{$.locale.Tr "settings.cancel"}}</button> 55 55 <button class="ui basic inverted yellow button">{{$.locale.Tr "modal.yes"}}</button> 56 56 </div>
+4 -4
templates/repo/settings/options.tmpl
··· 967 967 {{end}} 968 968 969 969 {{if not .Repository.IsMirror}} 970 - <div class="ui basic modal" id="archive-repo-modal"> 971 - <div class="ui icon header"> 970 + <div class="ui gitea-confirm-modal modal" id="archive-repo-modal"> 971 + <div class="header"> 972 972 {{if .Repository.IsArchived}} 973 973 {{.locale.Tr "repo.settings.unarchive.header"}} 974 974 {{else}} 975 975 {{.locale.Tr "repo.settings.archive.header"}} 976 976 {{end}} 977 977 </div> 978 - <div class="content center"> 978 + <div class="content"> 979 979 <p> 980 980 {{if .Repository.IsArchived}} 981 981 {{.locale.Tr "repo.settings.unarchive.text"}} ··· 988 988 {{.CsrfTokenHtml}} 989 989 <input type="hidden" name="action" value="{{if .Repository.IsArchived}}unarchive{{else}}archive{{end}}"> 990 990 <input type="hidden" name="repo_id" value="{{.Repository.ID}}"> 991 - {{template "base/delete_modal_actions" .}} 991 + {{template "base/modal_actions_confirm" .}} 992 992 </form> 993 993 </div> 994 994 {{end}}
+3 -3
templates/repo/settings/webhook/delete_modal.tmpl
··· 1 - <div class="ui small basic delete modal"> 2 - <div class="ui icon header"> 1 + <div class="ui gitea-confirm-modal delete modal"> 2 + <div class="header"> 3 3 {{svg "octicon-trash"}} 4 4 {{.locale.Tr "repo.settings.webhook_deletion"}} 5 5 </div> 6 6 <div class="content"> 7 7 <p>{{.locale.Tr "repo.settings.webhook_deletion_desc"}}</p> 8 8 </div> 9 - {{template "base/delete_modal_actions" .}} 9 + {{template "base/modal_actions_confirm" .}} 10 10 </div>
+3 -3
templates/repo/wiki/view.tmpl
··· 99 99 </div> 100 100 </div> 101 101 102 - <div class="ui small basic delete modal"> 103 - <div class="ui icon header"> 102 + <div class="ui gitea-confirm-modal delete modal"> 103 + <div class="header"> 104 104 {{svg "octicon-trash"}} 105 105 {{.locale.Tr "repo.wiki.delete_page_button"}} 106 106 </div> 107 107 <div class="content"> 108 108 <p>{{.locale.Tr "repo.wiki.delete_page_notice_1" ($title|Escape) | Safe}}</p> 109 109 </div> 110 - {{template "base/delete_modal_actions" .}} 110 + {{template "base/modal_actions_confirm" .}} 111 111 </div> 112 112 113 113 {{template "base/footer" .}}
+3 -3
templates/shared/actions/runner_edit.tmpl
··· 89 89 </table> 90 90 {{template "base/paginate" .}} 91 91 </div> 92 - <div class="ui small basic delete modal" id="runner-delete-modal"> 93 - <div class="ui icon header"> 92 + <div class="ui gitea-confirm-modal delete modal" id="runner-delete-modal"> 93 + <div class="header"> 94 94 {{svg "octicon-trash"}} 95 95 {{.locale.Tr "actions.runners.delete_runner_header"}} 96 96 </div> 97 97 <div class="content"> 98 98 <p>{{.locale.Tr "actions.runners.delete_runner_notice" | Safe}}</p> 99 99 </div> 100 - {{template "base/delete_modal_actions" .}} 100 + {{template "base/modal_actions_confirm" .}} 101 101 </div> 102 102 </div>
+4 -4
templates/shared/secrets/add_list.tmpl
··· 56 56 {{.locale.Tr "secrets.none"}} 57 57 {{end}} 58 58 </div> 59 - <div class="ui small basic delete modal"> 60 - <div class="ui header"> 61 - {{svg "octicon-trash" 16 "gt-mr-2"}} 59 + <div class="ui gitea-confirm-modal delete modal"> 60 + <div class="header"> 61 + {{svg "octicon-trash"}} 62 62 {{.locale.Tr "secrets.deletion"}} 63 63 </div> 64 64 <div class="content"> 65 65 <p>{{.locale.Tr "secrets.deletion.description"}}</p> 66 66 </div> 67 - {{template "base/delete_modal_actions" .}} 67 + {{template "base/modal_actions_confirm" .}} 68 68 </div>
+6 -6
templates/user/settings/account.tmpl
··· 161 161 </div> 162 162 </div> 163 163 164 - <div class="ui small basic delete modal" id="delete-email"> 165 - <div class="ui icon header"> 164 + <div class="ui gitea-confirm-modal delete modal" id="delete-email"> 165 + <div class="header"> 166 166 {{svg "octicon-trash"}} 167 167 {{.locale.Tr "settings.email_deletion"}} 168 168 </div> 169 169 <div class="content"> 170 170 <p>{{.locale.Tr "settings.email_deletion_desc"}}</p> 171 171 </div> 172 - {{template "base/delete_modal_actions" .}} 172 + {{template "base/modal_actions_confirm" .}} 173 173 </div> 174 174 175 - <div class="ui small basic delete modal" id="delete-account"> 176 - <div class="ui icon header"> 175 + <div class="ui gitea-confirm-modal delete modal" id="delete-account"> 176 + <div class="header"> 177 177 {{svg "octicon-trash"}} 178 178 {{.locale.Tr "settings.delete_account_title"}} 179 179 </div> 180 180 <div class="content"> 181 181 <p>{{.locale.Tr "settings.delete_account_desc"}}</p> 182 182 </div> 183 - {{template "base/delete_modal_actions" .}} 183 + {{template "base/modal_actions_confirm" .}} 184 184 </div> 185 185 186 186 {{template "base/footer" .}}
+3 -3
templates/user/settings/applications.tmpl
··· 268 268 </div> 269 269 </div> 270 270 271 - <div class="ui small basic delete modal" id="delete-token"> 272 - <div class="ui icon header"> 271 + <div class="ui gitea-confirm-modal delete modal" id="delete-token"> 272 + <div class="header"> 273 273 {{svg "octicon-trash"}} 274 274 {{.locale.Tr "settings.access_token_deletion"}} 275 275 </div> ··· 277 277 <p>{{.locale.Tr "settings.access_token_deletion_desc"}}</p> 278 278 </div> 279 279 280 - <div class="actions">{{/* TODO: Convert to base/delete_modal_actions.tmpl */}} 280 + <div class="actions">{{/* TODO: Convert to base/modal_actions_confirm.tmpl */}} 281 281 <button class="ui green basic inverted cancel button"> 282 282 {{svg "octicon-x"}} 283 283 {{.locale.Tr "settings.access_token_deletion_cancel_action"}}
+3 -3
templates/user/settings/applications_oauth2_list.tmpl
··· 47 47 </form> 48 48 </div> 49 49 50 - <div class="ui small basic delete modal" id="remove-gitea-oauth2-application"> 51 - <div class="ui icon header"> 50 + <div class="ui gitea-confirm-modal delete modal" id="remove-gitea-oauth2-application"> 51 + <div class="header"> 52 52 {{svg "octicon-trash"}} 53 53 {{.locale.Tr "settings.remove_oauth2_application"}} 54 54 </div> 55 55 <div class="content"> 56 56 <p>{{.locale.Tr "settings.oauth2_application_remove_description"}}</p> 57 57 </div> 58 - {{template "base/delete_modal_actions" .}} 58 + {{template "base/modal_actions_confirm" .}} 59 59 </div>
+3 -3
templates/user/settings/grants_oauth2.tmpl
··· 28 28 </div> 29 29 </div> 30 30 31 - <div class="ui small basic delete modal" id="revoke-gitea-oauth2-grant"> 32 - <div class="ui icon header"> 31 + <div class="ui gitea-confirm-modal delete modal" id="revoke-gitea-oauth2-grant"> 32 + <div class="header"> 33 33 {{svg "octicon-shield" 16 "gt-mr-2"}} 34 34 {{.locale.Tr "settings.revoke_oauth2_grant"}} 35 35 </div> 36 36 <div class="content"> 37 37 <p>{{.locale.Tr "settings.revoke_oauth2_grant_description"}}</p> 38 38 </div> 39 - {{template "base/delete_modal_actions" .}} 39 + {{template "base/modal_actions_confirm" .}} 40 40 </div>
+3 -3
templates/user/settings/keys_gpg.tmpl
··· 111 111 <br> 112 112 <p>{{.locale.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> 113 113 114 - <div class="ui small basic delete modal" id="delete-gpg"> 115 - <div class="ui icon header"> 114 + <div class="ui gitea-confirm-modal delete modal" id="delete-gpg"> 115 + <div class="header"> 116 116 {{svg "octicon-trash"}} 117 117 {{.locale.Tr "settings.gpg_key_deletion"}} 118 118 </div> 119 119 <div class="content"> 120 120 <p>{{.locale.Tr "settings.gpg_key_deletion_desc"}}</p> 121 121 </div> 122 - {{template "base/delete_modal_actions" .}} 122 + {{template "base/modal_actions_confirm" .}} 123 123 </div>
+3 -3
templates/user/settings/keys_principal.tmpl
··· 54 54 </div> 55 55 </div> 56 56 57 - <div class="ui small basic delete modal" id="delete-principal"> 58 - <div class="ui icon header"> 57 + <div class="ui gitea-confirm-modal delete modal" id="delete-principal"> 58 + <div class="header"> 59 59 {{svg "octicon-trash"}} 60 60 {{.locale.Tr "settings.ssh_principal_deletion"}} 61 61 </div> 62 62 <div class="content"> 63 63 <p>{{.locale.Tr "settings.ssh_principal_deletion_desc"}}</p> 64 64 </div> 65 - {{template "base/delete_modal_actions" .}} 65 + {{template "base/modal_actions_confirm" .}} 66 66 </div> 67 67 {{end}}
+3 -3
templates/user/settings/keys_ssh.tmpl
··· 100 100 <br> 101 101 <p>{{.locale.Tr "settings.ssh_helper" "https://docs.github.com/en/free-pro-team@latest/github/authenticating-to-github/connecting-to-github-with-ssh" "https://docs.github.com/en/free-pro-team@latest/github/authenticating-to-github/troubleshooting-ssh" | Str2html}}</p> 102 102 103 - <div class="ui small basic delete modal" id="delete-ssh"> 104 - <div class="ui icon header"> 103 + <div class="ui gitea-confirm-modal delete modal" id="delete-ssh"> 104 + <div class="header"> 105 105 {{svg "octicon-trash"}} 106 106 {{.locale.Tr "settings.ssh_key_deletion"}} 107 107 </div> 108 108 <div class="content"> 109 109 <p>{{.locale.Tr "settings.ssh_key_deletion_desc"}}</p> 110 110 </div> 111 - {{template "base/delete_modal_actions" .}} 111 + {{template "base/modal_actions_confirm" .}} 112 112 </div>
+3 -4
templates/user/settings/organization.tmpl
··· 40 40 </div> 41 41 </div> 42 42 </div> 43 - <div class="ui small basic delete modal" id="leave-organization"> 44 - <div class="ui icon header"> 45 - {{svg "octicon-x" 16 "close inside"}} 43 + <div class="ui gitea-confirm-modal delete modal" id="leave-organization"> 44 + <div class="header"> 46 45 {{$.locale.Tr "org.members.leave"}} 47 46 </div> 48 47 <div class="content"> 49 48 <p>{{$.locale.Tr "org.members.leave.detail" `<span class="dataOrganizationName"></span>` | Safe}}</p> 50 49 </div> 51 - {{template "base/delete_modal_actions" .}} 50 + {{template "base/modal_actions_confirm" .}} 52 51 </div> 53 52 {{template "base/footer" .}}
+7 -9
templates/user/settings/repos.tmpl
··· 38 38 <div class="right floated content"> 39 39 {{if $.allowAdopt}} 40 40 <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">{{$.locale.Tr "repo.adopt_preexisting_label"}}</span></button> 41 - <div class="ui basic modal" id="adopt-unadopted-modal-{{$dirI}}"> 42 - {{svg "octicon-x" 16 "close inside"}} 41 + <div class="ui gitea-confirm-modal modal" id="adopt-unadopted-modal-{{$dirI}}"> 43 42 <div class="header"> 44 43 <span class="label">{{$.locale.Tr "repo.adopt_preexisting"}}</span> 45 44 </div> ··· 50 49 {{$.CsrfTokenHtml}} 51 50 <input type="hidden" name="id" value="{{$dir}}"> 52 51 <input type="hidden" name="action" value="adopt"> 53 - <div class="actions"> 52 + <div class="actions">{{/* TODO: Convert to base/modal_actions_confirm */}} 54 53 <button class="ui red basic inverted cancel button"> 55 54 {{svg "octicon-x"}} 56 55 {{$.locale.Tr "modal.no"}} ··· 65 64 {{end}} 66 65 {{if $.allowDelete}} 67 66 <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">{{$.locale.Tr "repo.delete_preexisting_label"}}</span></button> 68 - <div class="ui basic modal" id="delete-unadopted-modal-{{$dirI}}"> 69 - {{svg "octicon-x" 16 "close inside"}} 67 + <div class="ui gitea-confirm-modal modal" id="delete-unadopted-modal-{{$dirI}}"> 70 68 <div class="header"> 71 69 <span class="label">{{$.locale.Tr "repo.delete_preexisting"}}</span> 72 70 </div> ··· 77 75 {{$.CsrfTokenHtml}} 78 76 <input type="hidden" name="id" value="{{$dir}}"> 79 77 <input type="hidden" name="action" value="delete"> 80 - {{template "base/delete_modal_actions" $}} 78 + {{template "base/modal_actions_confirm" $}} 81 79 </form> 82 80 </div> 83 81 {{end}} ··· 131 129 </div> 132 130 </div> 133 131 134 - <div class="ui small basic delete modal"> 135 - <div class="ui icon header"> 132 + <div class="ui gitea-confirm-modal delete modal"> 133 + <div class="header"> 136 134 {{svg "octicon-trash"}} 137 135 {{.locale.Tr "settings.remove_account_link"}} 138 136 </div> 139 137 <div class="content"> 140 138 <p>{{.locale.Tr "settings.remove_account_link_desc"}}</p> 141 139 </div> 142 - {{template "base/delete_modal_actions" .}} 140 + {{template "base/modal_actions_confirm" .}} 143 141 </div> 144 142 {{template "base/footer" .}}
+3 -3
templates/user/settings/security/accountlinks.tmpl
··· 41 41 </div> 42 42 </div> 43 43 44 - <div class="ui small basic delete modal" id="delete-account-link"> 45 - <div class="ui icon header"> 44 + <div class="ui gitea-confirm-modal delete modal" id="delete-account-link"> 45 + <div class="header"> 46 46 {{svg "octicon-trash"}} 47 47 {{.locale.Tr "settings.remove_account_link"}} 48 48 </div> 49 49 <div class="content"> 50 50 <p>{{.locale.Tr "settings.remove_account_link_desc"}}</p> 51 51 </div> 52 - {{template "base/delete_modal_actions" .}} 52 + {{template "base/modal_actions_confirm" .}} 53 53 </div>
+3 -3
templates/user/settings/security/openid.tmpl
··· 51 51 </form> 52 52 </div> 53 53 54 - <div class="ui small basic delete modal" id="delete-openid"> 55 - <div class="ui icon header"> 54 + <div class="ui gitea-confirm-modal delete modal" id="delete-openid"> 55 + <div class="header"> 56 56 {{svg "octicon-trash"}} 57 57 {{.locale.Tr "settings.openid_deletion"}} 58 58 </div> 59 59 <div class="content"> 60 60 <p>{{.locale.Tr "settings.openid_deletion_desc"}}</p> 61 61 </div> 62 - {{template "base/delete_modal_actions" .}} 62 + {{template "base/modal_actions_confirm" .}} 63 63 </div>
+3 -3
templates/user/settings/security/twofa.tmpl
··· 23 23 {{end}} 24 24 </div> 25 25 26 - <div class="ui small basic delete modal" id="disable-twofa"> 27 - <div class="ui icon header"> 26 + <div class="ui gitea-confirm-modal delete modal" id="disable-twofa"> 27 + <div class="header"> 28 28 {{svg "octicon-trash"}} 29 29 {{.locale.Tr "settings.twofa_disable"}} 30 30 </div> 31 31 <div class="content"> 32 32 <p>{{.locale.Tr "settings.twofa_disable_desc"}}</p> 33 33 </div> 34 - {{template "base/delete_modal_actions" .}} 34 + {{template "base/modal_actions_confirm" .}} 35 35 </div>
+3 -3
templates/user/settings/security/webauthn.tmpl
··· 30 30 31 31 {{template "user/auth/webauthn_error" .}} 32 32 33 - <div class="ui small basic delete modal" id="delete-registration"> 34 - <div class="ui icon header"> 33 + <div class="ui gitea-confirm-modal delete modal" id="delete-registration"> 34 + <div class="header"> 35 35 {{svg "octicon-trash"}} 36 36 {{.locale.Tr "settings.webauthn_delete_key"}} 37 37 </div> 38 38 <div class="content"> 39 39 <p>{{.locale.Tr "settings.webauthn_delete_key_desc"}}</p> 40 40 </div> 41 - {{template "base/delete_modal_actions" .}} 41 + {{template "base/modal_actions_confirm" .}} 42 42 </div>
-26
web_src/css/base.css
··· 1140 1140 color: var(--color-text); 1141 1141 } 1142 1142 1143 - .ui.modal { 1144 - background: var(--color-body); 1145 - } 1146 - 1147 - .ui.modal > .header { 1148 - color: var(--color-text-dark); 1149 - background: var(--color-secondary-bg); 1150 - border-color: var(--color-secondary); 1151 - border-top-left-radius: var(--border-radius); 1152 - border-top-right-radius: var(--border-radius); 1153 - } 1154 - 1155 - .ui.modal > .content { 1156 - background: var(--color-body); 1157 - text-align: left !important; 1158 - } 1159 - 1160 - .ui.modal > .actions { 1161 - background: var(--color-secondary-bg); 1162 - border-color: var(--color-secondary); 1163 - } 1164 - 1165 - .ui.modal > .close.inside { 1166 - color: var(--color-text); 1167 - } 1168 - 1169 1143 .ui.basic.table > tbody > tr { 1170 1144 border-color: var(--color-secondary); 1171 1145 }
+1
web_src/css/index.css
··· 10 10 @import "./features/codeeditor.css"; 11 11 @import "./features/projects.css"; 12 12 @import "./modules/tippy.css"; 13 + @import "./modules/modal.css"; 13 14 @import "./code/linebutton.css"; 14 15 @import "./markup/content.css"; 15 16 @import "./markup/codecopy.css";
+47
web_src/css/modules/modal.css
··· 1 + .ui.modal.gitea-confirm-modal { 2 + max-width: min(800px, 90vw); 3 + width: fit-content; 4 + } 5 + 6 + .ui.modal > .header { 7 + /* can't use display:flex, because some headers have space-separated elements, eg: delete branch modal */ 8 + color: var(--color-text-dark); 9 + background: var(--color-body); 10 + border-color: var(--color-secondary); 11 + border-top-left-radius: var(--border-radius); 12 + border-top-right-radius: var(--border-radius); 13 + vertical-align: middle; 14 + } 15 + 16 + .ui.modal > .header .svg { 17 + vertical-align: middle; 18 + display: inline-block; 19 + } 20 + 21 + /* Gitea sometimes use a form in a modal dialog, then the "positive" button could submit the form directly */ 22 + 23 + .ui.modal > .content, 24 + .ui.modal > form > .content { 25 + background: var(--color-body); 26 + } 27 + 28 + .ui.modal > .actions, 29 + .ui.modal > form > .actions { 30 + background: var(--color-secondary-bg); 31 + border-color: var(--color-secondary); 32 + 33 + /* these styles are from Fomantic UI */ 34 + padding: 1rem; 35 + text-align: right; 36 + } 37 + 38 + /* positive/negative action buttons */ 39 + .ui.modal .actions > .ui.button { 40 + display: inline-flex; 41 + align-items: center; 42 + padding: 10px 12px 10px 10px; 43 + } 44 + 45 + .ui.modal .actions > .ui.button .svg { 46 + margin-right: 5px; 47 + }
+8 -9
web_src/js/features/repo-projects.js
··· 129 129 $('.default-project-board-modal').each(function () { 130 130 const boardColumn = $(this).closest('.board-column'); 131 131 const showButton = $(boardColumn).find('.default-project-board-show'); 132 - const commitButton = $(this).find('.default-project-board-button'); 133 - 134 - if ($(showButton).data('type') === 'unset_default') { 135 - $(commitButton).removeClass('primary'); 136 - $(commitButton).addClass('red'); 137 - } 132 + const commitButton = $(this).find('.actions > .ok.button'); 138 133 139 134 $(commitButton).on('click', (e) => { 140 135 e.preventDefault(); ··· 152 147 }); 153 148 }); 154 149 155 - $('.delete-project-board').each(function () { 156 - $(this).on('click', function (e) { 150 + $('.show-delete-column-modal').each(function () { 151 + const deleteColumnModal = $(`${$(this).attr('data-modal')}`); 152 + const deleteColumnButton = deleteColumnModal.find('.actions > .ok.button'); 153 + const deleteUrl = $(this).attr('data-url'); 154 + 155 + deleteColumnButton.on('click', (e) => { 157 156 e.preventDefault(); 158 157 159 158 $.ajax({ 160 - url: $(this).data('url'), 159 + url: deleteUrl, 161 160 headers: { 162 161 'X-Csrf-Token': csrfToken, 163 162 },