'+
'
'+
'
'+
'
'+meta[item.key][0]+''+(item.enabled?'ظاهر في الصفحة':'مخفي')+'
'+
'
'+
'
';
});
if(!state.length)html='لا توجد مكونات. أضف أول مكون من المكتبة.
';
html+='كل المكونات مضافة. اسحب لإعادة ترتيبها.
';
if(count)count.textContent=state.length+' مكونات';
syncOriginal();
}
function add(key,before){
if(!meta[key]||state.some(function(x){return x.key===key;}))return;
var item={key:key,enabled:true};
if(before){var idx=state.findIndex(function(x){return x.key===before;}); if(idx>=0)state.splice(idx,0,item);else state.push(item);}else state.push(item);
render();toast('تمت إضافة '+meta[key][0]);
}
function action(action,key){
var item=state.find(function(x){return x.key===key;});if(!item)return;
if(action==='toggle'){item.enabled=!item.enabled;render();toast(item.enabled?'تم إظهار '+meta[key][0]:'تم إخفاء '+meta[key][0]);}
else if(action==='delete'){state=state.filter(function(x){return x.key!==key;});render();toast('تمت إزالة '+meta[key][0]+' — احفظ لتثبيت التغيير');}
else if(action==='edit'){
var el=document.querySelector('[name="alamoffers_theme_settings[homepage][titles]['+key+']"]');
if(el){el.scrollIntoView({behavior:'smooth',block:'center'});el.focus();}else{var hp=document.querySelector('[data-panel="homepage"]');if(hp)hp.scrollIntoView({behavior:'smooth',block:'start'});}
} else if(action==='copy'){
var txt='ALAM OFFERS component: '+key; if(navigator.clipboard&&navigator.clipboard.writeText)navigator.clipboard.writeText(txt).then(function(){toast('تم نسخ تعريف المكون');});else toast('تعريف المكون: '+key);
} else if(action==='info'){toast(meta[key][0]+' · '+(item.enabled?'مفعّل':'مخفي')+' · اسحب لترتيبه');}
}
list.addEventListener('click',function(e){
var lib=e.target.closest('[data-library-component]');if(lib){add(lib.dataset.libraryComponent,'');return;}
var line=e.target.closest('[data-add-before]');if(line){var avail=Object.keys(meta).find(function(k){return !state.some(function(x){return x.key===k;});});if(avail)add(avail,line.dataset.addBefore||'');return;}
var row=e.target.closest('.ao-component-row');if(row){var b=e.target.closest('[data-component-action]');if(b)action(b.dataset.componentAction,row.dataset.componentKey);}
});
var dragKey=null;
list.addEventListener('dragstart',function(e){var row=e.target.closest('.ao-component-row');if(!row)return;dragKey=row.dataset.componentKey;row.classList.add('dragging');if(e.dataTransfer)e.dataTransfer.effectAllowed='move';});
list.addEventListener('dragend',function(e){var row=e.target.closest('.ao-component-row');if(row)row.classList.remove('dragging');dragKey=null;});
list.addEventListener('dragover',function(e){var row=e.target.closest('.ao-component-row');if(!row||!dragKey)return;e.preventDefault();var rect=row.getBoundingClientRect();var before=e.clientY