zvuk
// ==UserScript== // @name Zobrazení poznámek objednávek bez tlačítka "Reagovat" // @namespace https://www.recomp.cz/ // @version 1.8 // @description Automaticky zobrazuje poznámky a komentáře pod jmény v přehledu objednávek na recomp.cz. Text z tlačítka "Reagovat" je odstraněn, ale uživatelský obsah zůstává zachován. // @author Ty // @match https://www.recomp.cz/admin/prehled-objednavek/* // @grant none // ==/UserScript== document.querySelectorAll('.order-customer .review-remarks').forEach(async (element) => { const url = element.getAttribute('rel'); // URL pro získání poznámky if (url) { try { // Extrakce ID z URL const urlParams = new URLSearchParams(url.split('?')[1]); const orderId = urlParams.get('id'); // Získání ID objednávky // Získej data z URL const response = await fetch(url, { credentials: 'same-origin' }); // Zajištění použití cookies if (response.ok) { let htmlText = await response.text(); // Načtení textu poznámky s HTML // Vytvoření elementu pro parsování HTML const parser = new DOMParser(); const parsedDoc = parser.parseFromString(htmlText, 'text/html'); // Najdi a odstraň tlačítko "Reagovat", ale ponechej ostatní obsah parsedDoc.querySelectorAll('button, a').forEach(button => { if (button.textContent.trim().toLowerCase() === 'reagovat') { button.remove(); // Odstraní tlačítko "Reagovat" } }); let plainText = parsedDoc.body.textContent || ''; // Extrakce čistého textu // Odeber nadbytečné části plainText = plainText .replace(/Poznámka:\s*$/, '') // Odebere "Poznámka:" pokud je bez textu .replace(/Komentáře:\s*\(\d+\)\s*$/, '') // Odebere "Komentáře: (1)" pokud je bez textu .trim(); // Odstraní bílé znaky na začátku a na konci // Pokud je text prázdný po úpravách, nezobrazuj nic if (!plainText) return; // Vytvoř nový element a vlož poznámku pod jméno const noteElement = document.createElement('div'); noteElement.textContent = plainText; // Vloží čistý text // Přidej ID do poznámkového divu if (orderId) { noteElement.id = `note-order-${orderId}`; // Nastavení unikátního ID } // Nastavení stylů noteElement.style.background = 'white'; // Bílé pozadí noteElement.style.padding = '10px'; // Vnitřní odsazení noteElement.style.borderRadius = '18px'; // Zaoblené rohy noteElement.style.margin = '5px'; // Mezera kolem noteElement.style.fontWeight = 'bold'; // Tučný text noteElement.style.color = 'black'; // Černé písmo element.parentElement.appendChild(noteElement); // Vložení pod jméno } } catch (error) { console.error('Chyba při načítání poznámky:', error); } } });