fix(icons): render FA glyphs in the SPA picker grid and harden item clicks

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.
This commit is contained in:
kate522 committed 2026-09-06 15:48:52 +08:00
1 parent 27d8a9ea71
commit 39bafb65c4
12 files changed
+33 -20

No files matched your search

@@ -0,0 +1 @@
import{d as ae}from"./vendor-draggable.BooRVfGb.js";import{a as le}from"./shared-api.DnsQ5cxS.js";import{P as Fe}from"./PageHeader.CtT29f8Y.js";import{I as C,F as oe}from"./FaIconPicker.C_p6xA0k.js";import{_ as Ve}from"./index.js";import{u as Be,a as De,B as g,b as T}from"./vendor-naive.CKYCZmXD.js";import{o as Pe,X as y,a4 as a,a3 as o,r as I,a1 as p,e as se,W as r,N as f,f as u,Y as i,a2 as c,a5 as v,Z as x,F as ie,R as ne,c as U}from"./vendor-vue.BxZIRU0_.js";import"./FaIcon.NZ6TDkNu.js";import"./vendor-misc.bELTaXdf.js";const Se={class:"aksrt-page-container content-page"},Te={class:"aksrt-card-header-row"},Ie={class:"aksrt-card-header-row__left"},Me={class:"aksrt-card-header-row__title"},je={class:"float-btn-sort__item"},Le={class:"float-btn-sort__main"},He={class:"float-btn-sort__icon"},Ne={class:"float-btn-sort__meta"},Oe={class:"float-btn-sort__title-row"},Ee={class:"float-btn-sort__desc"},Re={class:"float-btn-sort__actions"},We={class:"aksrt-form-actions"},Xe={class:"icon-preview-row"},Ye={key:0,class:"theme-icon-preview-inline"},Ze={key:2,class:"muted-text"},Ge={key:7,class:"add-items-editor"},Je={class:"add-items-editor__head"},Ke={class:"add-items-editor__head-actions"},et={key:0,class:"add-items-editor__list"},tt={class:"add-items-editor__row"},at={class:"add-items-preview"},lt={class:"add-items-preview__panel add-items-preview__panel--light"},ot={class:"add-items-preview__trigger"},st={class:"add-items-preview__menu"},it={key:0,class:"add-items-preview__list"},nt={key:1,class:"add-items-preview__empty"},dt={class:"add-items-preview__panel add-items-preview__panel--dark"},rt={class:"add-items-preview__trigger add-items-preview__trigger--dark"},ut={class:"add-items-preview__menu add-items-preview__menu--dark"},_t={key:0,class:"add-items-preview__list"},pt={key:1,class:"add-items-preview__empty add-items-preview__empty--dark"},ct={class:"aksrt-modal-footer"},ft={__name:"FloatingButtonsSettings",setup(mt){var X,Y;const m=Be(),de=De(),M=I(!0),A=I(!1),z=I(!1),q=I(-1),$=(((X=window.aksrtAdminData)==null?void 0:X.siteUrl)||"").replace(/\/$/,"");(((Y=window.aksrtAdminData)==null?void 0:Y.adminUrl)||"").replace(/\/$/,"");const n=se({enabled:!0,style:"round",position:"bottom",scroll_hide:!1,scroll_down_hide:!0,filter_blur:["mobile"],items:[]}),t=se(V()),H=[{label:"自定义链接",value:"custom"},{label:"回到顶部",value:"back_top"},{label:"主题切换",value:"theme_mode"},{label:"页面二维码",value:"qrcode"},{label:"发布入口",value:"add"},{label:"QQ 客服",value:"service_qq"},{label:"微信客服",value:"service_wechat"},{label:"会员入口",value:"pay_vip"}],j=Object.fromEntries(H.map(s=>[s.value,s.label])),re=U(()=>[{label:"写文章",key:"post"},{label:"投稿页",key:"submit"},{label:"用户中心创作",key:"profile"}].map(e=>{const d=E(e.key);return{...e,disabled:d,label:d?`${e.label}(已存在)`:e.label}})),F=U(()=>["custom","add"].includes(t.type)&&!t.hover),Q=U(()=>t.type==="custom"),N=U(()=>["service_qq","service_wechat"].includes(t.type)),ue=U(()=>t.type==="pay_vip"),O=U(()=>["service_qq","service_wechat"].includes(t.type)&&t.action_mode==="qrcode"),_e=U(()=>!O.value);function V(){return{id:"",type:"custom",icon:"fa fas fa-link",icon_dark:"",icon_light:"",text:"",desc:"",action_mode:"link",qq:"",qrcode_img:"",wechat_img:"",link:"",add_items:[],hover:"",qr_size:120,hover_width:200,pc_s:!0,m_s:!0,color:null,bg:null,enabled:!0,sort_order:0}}function pe(s){const e={custom:{icon:"fa fas fa-link",icon_dark:"",icon_light:"",text:"链接",desc:"",link:"",hover:"",action_mode:"link",qr_size:120},back_top:{icon:"fa fas fa-chevron-up",icon_dark:"",icon_light:"",text:"顶部",desc:"返回顶部",link:"",hover:"",action_mode:"link",qr_size:120},theme_mode:{icon:"fa fas fa-sun",icon_dark:"",icon_light:"",text:"主题",desc:"切换主题",link:"",hover:"",action_mode:"link",qr_size:120},qrcode:{icon:"fa fas fa-qrcode",icon_dark:"",icon_light:"",text:"二维码",desc:"扫码继续浏览",link:"",hover:"",action_mode:"qrcode",qr_size:120},service_qq:{icon:"fa fab fa-qq",icon_dark:"",icon_light:"",text:"QQ",desc:"QQ 联系",link:"",hover:"",action_mode:"link",qr_size:120},service_wechat:{icon:"fa fab fa-weixin",icon_dark:"",icon_light:"",text:"微信",desc:"扫码添加微信",link:"",hover:"",action_mode:"link",qr_size:120},pay_vip:{icon:"fa fas fa-gem",icon_dark:"",icon_light:"",text:"会员",desc:"开通/升级会员弹窗",link:"",hover:"",action_mode:"link",qr_size:120},add:{icon:"fa fas fa-plus",icon_dark:"",icon_light:"",text:"发布",desc:"发布内容",link:"",hover:"",action_mode:"link",qr_size:120}};return e[s]||e.custom}function ce(s){const e=pe(s);t.icon=e.icon,t.icon_dark=e.icon_dark,t.icon_light=e.icon_light,t.action_mode=e.action_mode,t.qr_size=e.qr_size,t.text||(t.text=e.text),t.desc||(t.desc=e.desc),Q.value||(t.hover=""),s==="service_qq"&&t.action_mode==="qrcode"&&(t.qq=""),s==="service_wechat"&&t.action_mode==="qrcode"&&(t.link=""),["service_qq","service_wechat"].includes(sLine truncated