PageSourceSearch

https://www.libre.gr/wp-content/cache/wpfc-minified/9haqfq4b/8f5lj.js

js libre.gr collected 2026-09-25 00:33:38 UTC 2,517 bytes, 67 lines download raw bytes

1document.addEventListener('DOMContentLoaded', function (){
2var boxes=document.querySelectorAll('.ai-reader-summary-box');
3if(!boxes||boxes.length===0){
4return;
5}
6boxes.forEach(function (box){
7if(box.classList.contains('airs-collapsible-init')){
8return;
9}
10box.classList.add('airs-collapsible-init');
11var enableCollapse=box.getAttribute('data-enable-collapse');
12if(enableCollapse==='0'){
13return;
14}
15var accentPrimary=box.getAttribute('data-accent-primary')||'#FF4B6A';
16var accentSecondary=box.getAttribute('data-accent-secondary')||'#FF7A3C';
17var labelEl=box.querySelector('.airs-summary-label');
18var labelText='💡 AI Summary by Libre';
19if(labelEl){
20var iconEl=labelEl.querySelector('.airs-label-icon');
21var mainEl=labelEl.querySelector('.airs-label-text');
22var secondaryEl=labelEl.querySelector('.airs-label-brand');
23var parts=[];
24if(iconEl&&iconEl.textContent) parts.push(iconEl.textContent);
25if(mainEl&&mainEl.textContent) parts.push(mainEl.textContent);
26if(secondaryEl&&secondaryEl.textContent) parts.push(secondaryEl.textContent);
27if(parts.length > 0){
28labelText=parts.join(' ');
29}}
30var toggleBtn=document.createElement('button');
31toggleBtn.type='button';
32toggleBtn.className='ai-summary-toggle';
33toggleBtn.setAttribute('aria-expanded', 'true');
34toggleBtn.setAttribute('aria-label', 'Απόκρυψη περίληψης');
35toggleBtn.textContent='–';
36toggleBtn.style.background=accentPrimary;
37box.appendChild(toggleBtn);
38var collapsedBar=document.createElement('div');
39collapsedBar.className='ai-summary-collapsed-bar';
40collapsedBar.style.background='linear-gradient(90deg, ' + accentPrimary + ' 0%, ' + accentSecondary + ' 100%)';
41var collapsedText=document.createElement('span');
42collapsedText.className='ai-summary-collapsed-text';
43collapsedText.textContent=labelText;
44var plusSpan=document.createElement('span');
45plusSpan.className='plus';
46plusSpan.textContent='+';
47collapsedBar.appendChild(collapsedText);
48collapsedBar.appendChild(plusSpan);
49if(box.parentNode){
50if(box.nextSibling){
51box.parentNode.insertBefore(collapsedBar, box.nextSibling);
52}else{
53box.parentNode.appendChild(collapsedBar);
54}}
55toggleBtn.addEventListener('click', function (){
56box.classList.add('ai-summary-box-hidden');
57toggleBtn.setAttribute('aria-expanded', 'false');
58collapsedBar.style.display='block';
59});
60collapsedBar.addEventListener('click', function (){
61box.classList.remove('ai-summary-box-hidden');
62toggleBtn.setAttribute('aria-expanded', 'true');
63collapsedBar.style.display='none';
64});
65collapsedBar.style.display='none';
66});
67});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.