From 39bafb65c4d92c19c34e4c90d7dbca0b7255468f Mon Sep 17 00:00:00 2001 From: unknown Date: Sun, 6 Sep 2026 15:48:52 +0800 Subject: [PATCH] fix(icons): render FA glyphs in the SPA picker grid and harden item clicks MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The server catalog ships bare glyph names, but the SPA grid preview composed "fas home" instead of "fas fa-home" — every FA icon rendered blank (the old curated lists carried the fa- prefix, so the regression appeared with the catalog switch). Item clicks move from per-element @click to a delegated panel handler reading data-icon (immunity to DOM-replacing extensions/userscripts, matching the PHP picker's pattern), and selecting now closes the popover so the choice is visible in the field immediately. --- ...c5FzO9W.js => CommentSettings.D1KlFUf4.js} | 2 +- assets/admin/build/FaIconPicker.C_p6xA0k.js | 1 + assets/admin/build/FaIconPicker.DuahAn6_.js | 1 - assets/admin/build/FaIconPicker.css | 2 +- ...js => FloatingButtonsSettings.i1suZZSa.js} | 2 +- ...9d.js => FooterTabbarSettings.pU_E4Hmw.js} | 2 +- ...Cpy4K2E1.js => PaymentGateway.CciAIUvu.js} | 2 +- ...f9Fwyn.js => PostPageSettings.BLoHVRqN.js} | 2 +- ...age._RXlmOMl.js => SchemaPage.DUnjy3YN.js} | 2 +- assets/admin/build/index.js | 4 +-- ...api.DsnKC5vk.js => shared-api.DieGsdVx.js} | 2 +- .../src/components/form/FaIconPicker.vue | 31 +++++++++++++------ 12 files changed, 33 insertions(+), 20 deletions(-) rename assets/admin/build/{CommentSettings.Cc5FzO9W.js => CommentSettings.D1KlFUf4.js} (61%) create mode 100644 assets/admin/build/FaIconPicker.C_p6xA0k.js delete mode 100644 assets/admin/build/FaIconPicker.DuahAn6_.js rename assets/admin/build/{FloatingButtonsSettings.DPX1stkw.js => FloatingButtonsSettings.i1suZZSa.js} (99%) rename assets/admin/build/{FooterTabbarSettings.CIyXQt9d.js => FooterTabbarSettings.pU_E4Hmw.js} (99%) rename assets/admin/build/{PaymentGateway.Cpy4K2E1.js => PaymentGateway.CciAIUvu.js} (97%) rename assets/admin/build/{PostPageSettings.DEf9Fwyn.js => PostPageSettings.BLoHVRqN.js} (61%) rename assets/admin/build/{SchemaPage._RXlmOMl.js => SchemaPage.DUnjy3YN.js} (99%) rename assets/admin/build/{shared-api.DsnKC5vk.js => shared-api.DieGsdVx.js} (99%) diff --git a/assets/admin/build/CommentSettings.Cc5FzO9W.js b/assets/admin/build/CommentSettings.D1KlFUf4.js similarity index 61% rename from assets/admin/build/CommentSettings.Cc5FzO9W.js rename to assets/admin/build/CommentSettings.D1KlFUf4.js index 3dbf23f1..5d00d30d 100644 --- a/assets/admin/build/CommentSettings.Cc5FzO9W.js +++ b/assets/admin/build/CommentSettings.D1KlFUf4.js @@ -1 +1 @@ -import t from"./SchemaPage._RXlmOMl.js";import{a2 as o,W as m}from"./vendor-vue.BxZIRU0_.js";import"./shared-api.DsnKC5vk.js";import"./FaIcon.NZ6TDkNu.js";import"./index.js";import"./vendor-naive.CKYCZmXD.js";import"./vendor-misc.bELTaXdf.js";import"./FaIconPicker.DuahAn6_.js";import"./shared-api.DnsQ5cxS.js";import"./level.E3ANSDAX.js";import"./badge.CKTsmH1z.js";const h={__name:"CommentSettings",setup(r){return(p,e)=>(m(),o(t,{domain:"post_list",section:"comment"}))}};export{h as default}; +import t from"./SchemaPage.DUnjy3YN.js";import{a2 as o,W as m}from"./vendor-vue.BxZIRU0_.js";import"./shared-api.DieGsdVx.js";import"./FaIcon.NZ6TDkNu.js";import"./index.js";import"./vendor-naive.CKYCZmXD.js";import"./vendor-misc.bELTaXdf.js";import"./FaIconPicker.C_p6xA0k.js";import"./shared-api.DnsQ5cxS.js";import"./level.E3ANSDAX.js";import"./badge.CKTsmH1z.js";const h={__name:"CommentSettings",setup(r){return(p,e)=>(m(),o(t,{domain:"post_list",section:"comment"}))}};export{h as default}; diff --git a/assets/admin/build/FaIconPicker.C_p6xA0k.js b/assets/admin/build/FaIconPicker.C_p6xA0k.js new file mode 100644 index 00000000..e864b81f --- /dev/null +++ b/assets/admin/build/FaIconPicker.C_p6xA0k.js @@ -0,0 +1 @@ +import{_ as M}from"./FaIcon.NZ6TDkNu.js";import{_ as H}from"./index.js";import{N as c,W as n,X as i,L as V,a5 as T,c as L,o as Z,a1 as k,a4 as v,a3 as p,Y as y,F as b,R as z,a2 as A,f as I,Z as D,r as f}from"./vendor-vue.BxZIRU0_.js";import{a as G}from"./shared-api.DnsQ5cxS.js";function w(e){const o=String(e||"").trim();if(!o)return"";let u;try{u=new DOMParser().parseFromString(o,"image/svg+xml")}catch{return""}if(u.querySelector("parsererror"))return"";const r=u.querySelector("svg");if(!r||r.querySelector("script, foreignObject, animate"))return"";["class","id","style","t","version","p-id"].forEach(l=>r.removeAttribute(l)),Array.from(r.attributes).forEach(l=>{l.name.indexOf("data-")===0&&r.removeAttribute(l.name)});const d=new XMLSerializer().serializeToString(r);return/