mirror of
https://github.com/go-gitea/gitea.git
synced 2026-10-26 06:16:56 +09:00
refactor: replace Fomantic modal with native dialog (#39846)
Replace Fomantic's hard-forked jQuery modal with native `<dialog>` elements, advancing https://github.com/go-gitea/gitea/issues/29849. The UI is visually unchanged. Dialogs open with `show()` over an `inert` page, so tooltips, popups and toasts mounted on `<body>` stay usable above them, unlike with `showModal()` (https://github.com/whatwg/html/issues/9936). - Remove the Fomantic modal and dimmer, add `showModal` and `hideModal` - Declare modals as `<dialog class="modal-dialog">`, shown inside a `.modal-backdrop`, instead of `ui modal` with its unused size classes - Remove two modals that could never be opened - Block the page while a modal is open, close the topmost one on Escape and restore focus to its opener - Allow stacked modals, use a confirm modal instead of `window.confirm` for deleting content history - Hide popups and toasts when a modal opens or closes - Keep the release notes modal open when generating notes fails Fixes: https://github.com/go-gitea/gitea/issues/39643 Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
This commit is contained in:
1 parent
7610336d74
commit
e645afbb3f
95 files changed
+607
-1719
No files matched your search
@@ -127,7 +127,7 @@
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
<div class="ui small modal" id="delete-account">
|
||||
<dialog class="modal-dialog" id="delete-account">
|
||||
<div class="header">
|
||||
{{svg "octicon-trash"}}
|
||||
{{ctx.Locale.Tr "settings.delete_account_title"}}
|
||||
@@ -136,12 +136,12 @@
|
||||
<p>{{ctx.Locale.Tr "settings.delete_account_desc"}}</p>
|
||||
</div>
|
||||
{{template "base/modal_actions_confirm" .}}
|
||||
</div>
|
||||
</dialog>
|
||||
</div>
|
||||
{{end}}
|
||||
</div>
|
||||
|
||||
<div class="ui small modal" id="delete-email">
|
||||
<dialog class="modal-dialog" id="delete-email">
|
||||
<div class="header">
|
||||
{{svg "octicon-trash"}}
|
||||
{{ctx.Locale.Tr "settings.email_deletion"}}
|
||||
@@ -150,6 +150,6 @@
|
||||
<p>{{ctx.Locale.Tr "settings.email_deletion_desc"}}</p>
|
||||
</div>
|
||||
{{template "base/modal_actions_confirm" .}}
|
||||
</div>
|
||||
</dialog>
|
||||
|
||||
{{template "user/settings/layout_footer" .}}
|
||||
@@ -35,7 +35,7 @@
|
||||
{{end}}
|
||||
</div>
|
||||
|
||||
<div class="ui small modal" id="remove-gitea-oauth2-application">
|
||||
<dialog class="modal-dialog" id="remove-gitea-oauth2-application">
|
||||
<div class="header">
|
||||
{{svg "octicon-trash"}}
|
||||
{{ctx.Locale.Tr "settings.remove_oauth2_application"}}
|
||||
@@ -44,7 +44,7 @@
|
||||
<p>{{ctx.Locale.Tr "settings.oauth2_application_remove_description"}}</p>
|
||||
</div>
|
||||
{{template "base/modal_actions_confirm" .}}
|
||||
</div>
|
||||
</dialog>
|
||||
</div>
|
||||
|
||||
<div class="ui bottom attached segment">
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
{{end}}
|
||||
</div>
|
||||
|
||||
<div class="ui small modal" id="revoke-gitea-oauth2-grant">
|
||||
<dialog class="modal-dialog" id="revoke-gitea-oauth2-grant">
|
||||
<div class="header">
|
||||
{{svg "octicon-shield" 16 "tw-mr-1"}}
|
||||
{{ctx.Locale.Tr "settings.revoke_oauth2_grant"}}
|
||||
@@ -36,5 +36,5 @@
|
||||
<p>{{ctx.Locale.Tr "settings.revoke_oauth2_grant_description"}}</p>
|
||||
</div>
|
||||
{{template "base/modal_actions_confirm" .}}
|
||||
</div>
|
||||
</dialog>
|
||||
</div>
|
||||
@@ -123,7 +123,7 @@
|
||||
{{end}}
|
||||
{{end}}
|
||||
</div>
|
||||
<div class="ui small modal" id="delete-gpg">
|
||||
<dialog class="modal-dialog" id="delete-gpg">
|
||||
<div class="header">
|
||||
{{svg "octicon-trash"}}
|
||||
{{ctx.Locale.Tr "settings.gpg_key_deletion"}}
|
||||
@@ -132,5 +132,5 @@
|
||||
<p>{{ctx.Locale.Tr "settings.gpg_key_deletion_desc"}}</p>
|
||||
</div>
|
||||
{{template "base/modal_actions_confirm" .}}
|
||||
</div>
|
||||
</dialog>
|
||||
</div>
|
||||
@@ -55,7 +55,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="ui small modal" id="delete-principal">
|
||||
<dialog class="modal-dialog" id="delete-principal">
|
||||
<div class="header">
|
||||
{{svg "octicon-trash"}}
|
||||
{{ctx.Locale.Tr "settings.ssh_principal_deletion"}}
|
||||
@@ -64,5 +64,5 @@
|
||||
<p>{{ctx.Locale.Tr "settings.ssh_principal_deletion_desc"}}</p>
|
||||
</div>
|
||||
{{template "base/modal_actions_confirm" .}}
|
||||
</div>
|
||||
</dialog>
|
||||
{{end}}
|
||||
@@ -103,7 +103,7 @@
|
||||
{{end}}
|
||||
{{end}}
|
||||
</div>
|
||||
<div class="ui small modal" id="delete-ssh">
|
||||
<dialog class="modal-dialog" id="delete-ssh">
|
||||
<div class="header">
|
||||
{{svg "octicon-trash"}}
|
||||
{{ctx.Locale.Tr "settings.ssh_key_deletion"}}
|
||||
@@ -112,5 +112,5 @@
|
||||
<p>{{ctx.Locale.Tr "settings.ssh_key_deletion_desc"}}</p>
|
||||
</div>
|
||||
{{template "base/modal_actions_confirm" .}}
|
||||
</div>
|
||||
</dialog>
|
||||
</div>
|
||||
@@ -38,14 +38,16 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<form class="ui small modal form-fetch-action" method="post" id="leave-organization">
|
||||
<dialog class="modal-dialog" id="leave-organization">
|
||||
<div class="header">
|
||||
{{ctx.Locale.Tr "org.members.leave"}}
|
||||
</div>
|
||||
<div class="content">
|
||||
<p>{{ctx.Locale.Tr "org.members.leave.detail" (HTMLFormat `<span class="%s"></span>` "organization-name")}}</p>
|
||||
</div>
|
||||
{{template "base/modal_actions_confirm" .}}
|
||||
</form>
|
||||
<form class="form-fetch-action" method="post">
|
||||
<div class="content">
|
||||
<p>{{ctx.Locale.Tr "org.members.leave.detail" (HTMLFormat `<span class="%s"></span>` "organization-name")}}</p>
|
||||
</div>
|
||||
{{template "base/modal_actions_confirm" .}}
|
||||
</form>
|
||||
</dialog>
|
||||
|
||||
{{template "user/settings/layout_footer" .}}
|
||||
@@ -35,7 +35,7 @@
|
||||
<div class="tw-float-right">
|
||||
{{if $.allowAdopt}}
|
||||
<button type="button" class="ui button primary show-modal tw-p-2" data-modal="#adopt-unadopted-modal-{{$dirI}}"><span class="icon">{{svg "octicon-plus"}}</span><span class="label">{{ctx.Locale.Tr "repo.adopt_preexisting_label"}}</span></button>
|
||||
<div class="ui g-modal-confirm modal" id="adopt-unadopted-modal-{{$dirI}}">
|
||||
<dialog class="modal-dialog" id="adopt-unadopted-modal-{{$dirI}}">
|
||||
<div class="header">
|
||||
<span class="label">{{ctx.Locale.Tr "repo.adopt_preexisting"}}</span>
|
||||
</div>
|
||||
@@ -47,11 +47,11 @@
|
||||
<input type="hidden" name="action" value="adopt">
|
||||
{{template "base/modal_actions_confirm" $}}
|
||||
</form>
|
||||
</div>
|
||||
</dialog>
|
||||
{{end}}
|
||||
{{if $.allowDelete}}
|
||||
<button type="button" class="ui button red show-modal tw-p-2" data-modal="#delete-unadopted-modal-{{$dirI}}"><span class="icon">{{svg "octicon-x"}}</span><span class="label">{{ctx.Locale.Tr "repo.delete_preexisting_label"}}</span></button>
|
||||
<div class="ui g-modal-confirm modal" id="delete-unadopted-modal-{{$dirI}}">
|
||||
<dialog class="modal-dialog" id="delete-unadopted-modal-{{$dirI}}">
|
||||
<div class="header">
|
||||
<span class="label">{{ctx.Locale.Tr "repo.delete_preexisting"}}</span>
|
||||
</div>
|
||||
@@ -63,7 +63,7 @@
|
||||
<input type="hidden" name="action" value="delete">
|
||||
{{template "base/modal_actions_confirm" $}}
|
||||
</form>
|
||||
</div>
|
||||
</dialog>
|
||||
{{end}}
|
||||
</div>
|
||||
{{end}}
|
||||
@@ -114,15 +114,4 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="ui g-modal-confirm delete modal">
|
||||
<div class="header">
|
||||
{{svg "octicon-trash"}}
|
||||
{{ctx.Locale.Tr "settings.remove_account_link"}}
|
||||
</div>
|
||||
<div class="content">
|
||||
<p>{{ctx.Locale.Tr "settings.remove_account_link_desc"}}</p>
|
||||
</div>
|
||||
{{template "base/modal_actions_confirm" .}}
|
||||
</div>
|
||||
|
||||
{{template "user/settings/layout_footer" .}}
|
||||
@@ -48,7 +48,7 @@
|
||||
{{end}}
|
||||
</div>
|
||||
|
||||
<div class="ui small modal" id="delete-account-link">
|
||||
<dialog class="modal-dialog" id="delete-account-link">
|
||||
<div class="header">
|
||||
{{svg "octicon-trash"}}
|
||||
{{ctx.Locale.Tr "settings.remove_account_link"}}
|
||||
@@ -57,6 +57,6 @@
|
||||
<p>{{ctx.Locale.Tr "settings.remove_account_link_desc"}}</p>
|
||||
</div>
|
||||
{{template "base/modal_actions_confirm" .}}
|
||||
</div>
|
||||
</dialog>
|
||||
</div>
|
||||
{{end}}
|
||||
@@ -48,7 +48,7 @@
|
||||
</button>
|
||||
</form>
|
||||
|
||||
<div class="ui small modal" id="delete-openid">
|
||||
<dialog class="modal-dialog" id="delete-openid">
|
||||
<div class="header">
|
||||
{{svg "octicon-trash"}}
|
||||
{{ctx.Locale.Tr "settings.openid_deletion"}}
|
||||
@@ -57,5 +57,5 @@
|
||||
<p>{{ctx.Locale.Tr "settings.openid_deletion_desc"}}</p>
|
||||
</div>
|
||||
{{template "base/modal_actions_confirm" .}}
|
||||
</div>
|
||||
</dialog>
|
||||
</div>
|
||||
@@ -22,7 +22,7 @@
|
||||
</div>
|
||||
{{end}}
|
||||
|
||||
<div class="ui small modal" id="disable-twofa">
|
||||
<dialog class="modal-dialog" id="disable-twofa">
|
||||
<div class="header">
|
||||
{{svg "octicon-trash"}}
|
||||
{{ctx.Locale.Tr "settings.twofa_disable"}}
|
||||
@@ -31,5 +31,5 @@
|
||||
<p>{{ctx.Locale.Tr "settings.twofa_disable_desc"}}</p>
|
||||
</div>
|
||||
{{template "base/modal_actions_confirm" .}}
|
||||
</div>
|
||||
</dialog>
|
||||
</div>
|
||||
@@ -35,7 +35,7 @@
|
||||
</div>
|
||||
<button type="button" id="register-webauthn" class="ui primary button">{{svg "octicon-key"}} {{ctx.Locale.Tr "settings.webauthn_register_key"}}</button>
|
||||
</div>
|
||||
<div class="ui small modal" id="rename-webauthn-nickname">
|
||||
<dialog class="modal-dialog" id="rename-webauthn-nickname">
|
||||
<div class="header">
|
||||
{{svg "octicon-pencil"}}
|
||||
{{ctx.Locale.Tr "rename"}}
|
||||
@@ -48,8 +48,8 @@
|
||||
</div>
|
||||
{{template "base/modal_actions_confirm" (dict "ModalButtonTypes" "confirm")}}
|
||||
</form>
|
||||
</div>
|
||||
<div class="ui small modal" id="delete-registration">
|
||||
</dialog>
|
||||
<dialog class="modal-dialog" id="delete-registration">
|
||||
<div class="header">
|
||||
{{svg "octicon-trash"}}
|
||||
{{ctx.Locale.Tr "settings.webauthn_delete_key"}}
|
||||
@@ -58,5 +58,5 @@
|
||||
<p>{{ctx.Locale.Tr "settings.webauthn_delete_key_desc"}}</p>
|
||||
</div>
|
||||
{{template "base/modal_actions_confirm" .}}
|
||||
</div>
|
||||
</dialog>
|
||||
</div>
|
||||
Reference in new issue
Block a user