Backport #31283 by @silverwind
Bug: orange button color was removed in
https://github.com/go-gitea/gitea/pull/30475, replaced with red
Bug: translation text was not html-escaped
Refactor: Replaced as much jQuery as possible, added useful
`createElementFromHTML`
Refactor: Remove colors checks that don't exist on `.link-action`
<img width="381" alt="image"
src="5900bf6a
-8a86-4a86-b368-0559cbfea66e">
Co-authored-by: silverwind <me@silverwind.io>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
Co-authored-by: delvh <dev.lh@web.de>
31 lines
987 B
JavaScript
31 lines
987 B
JavaScript
import $ from 'jquery';
|
|
import {svg} from '../../svg.js';
|
|
import {htmlEscape} from 'escape-goat';
|
|
import {createElementFromHTML} from '../../utils/dom.js';
|
|
|
|
const {i18n} = window.config;
|
|
|
|
export function confirmModal(content, {confirmButtonColor = 'primary'} = {}) {
|
|
return new Promise((resolve) => {
|
|
const modal = createElementFromHTML(`
|
|
<div class="ui g-modal-confirm modal">
|
|
<div class="content">${htmlEscape(content)}</div>
|
|
<div class="actions">
|
|
<button class="ui cancel button">${svg('octicon-x')} ${htmlEscape(i18n.modal_cancel)}</button>
|
|
<button class="ui ${confirmButtonColor} ok button">${svg('octicon-check')} ${htmlEscape(i18n.modal_confirm)}</button>
|
|
</div>
|
|
</div>
|
|
`);
|
|
document.body.append(modal);
|
|
const $modal = $(modal);
|
|
$modal.modal({
|
|
onApprove() {
|
|
resolve(true);
|
|
},
|
|
onHidden() {
|
|
$modal.remove();
|
|
resolve(false);
|
|
},
|
|
}).modal('show');
|
|
});
|
|
}
|