1.18更新

This commit is contained in:
RT15548
2026-01-18 20:04:43 +08:00
committed by GitHub
parent be142640c0
commit 03ba508a31
62 changed files with 18838 additions and 7264 deletions

View File

@@ -489,6 +489,8 @@ function createModal() {
const overlay = document.createElement('div');
overlay.className = 'cloud-presets-overlay';
// Template-only UI markup.
// eslint-disable-next-line no-unsanitized/property
overlay.innerHTML = `
<div class="cloud-presets-modal">
<div class="cp-header">
@@ -584,6 +586,8 @@ function renderPage() {
const start = (currentPage - 1) * ITEMS_PER_PAGE;
const pageItems = filteredPresets.slice(start, start + ITEMS_PER_PAGE);
// Escaped fields are used in the template.
// eslint-disable-next-line no-unsanitized/property
grid.innerHTML = pageItems.map(p => `
<div class="cp-card">
<div class="cp-card-head">
@@ -609,24 +613,34 @@ function renderPage() {
btn.disabled = true;
const origHtml = btn.innerHTML;
// Template-only UI markup.
// eslint-disable-next-line no-unsanitized/property
btn.innerHTML = '<i class="fa-solid fa-spinner fa-spin"></i> 导入中';
try {
const data = await downloadPreset(url);
if (onImportCallback) await onImportCallback(data);
btn.classList.add('success');
// Template-only UI markup.
// eslint-disable-next-line no-unsanitized/property
btn.innerHTML = '<i class="fa-solid fa-check"></i> 成功';
setTimeout(() => {
btn.classList.remove('success');
// Template-only UI markup.
// eslint-disable-next-line no-unsanitized/property
btn.innerHTML = origHtml;
btn.disabled = false;
}, 2000);
} catch (err) {
console.error('[CloudPresets]', err);
btn.classList.add('error');
// Template-only UI markup.
// eslint-disable-next-line no-unsanitized/property
btn.innerHTML = '<i class="fa-solid fa-xmark"></i> 失败';
setTimeout(() => {
btn.classList.remove('error');
// Template-only UI markup.
// eslint-disable-next-line no-unsanitized/property
btn.innerHTML = origHtml;
btn.disabled = false;
}, 2000);