您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Calm Code Helper
当前为
// ==UserScript== // @name Calm Code 2.0 // @namespace http://tampermonkey.net/ // @version 2024-04-02.3.1 // @description Calm Code Helper // @author xabdaziz // @match https://fcmenu-dub-regionalized.corp.amazon.com/CDG7/laborTrackingKiosk // @match https://fcmenu-dub-regionalized.corp.amazon.com/CDG7/calmCode // @icon https://www.google.com/s2/favicons?sz=64&domain=amazon.com // @grant none // @license AzAbd // ==/UserScript== (function() { 'use strict'; const style = document.createElement('style'); style.textContent = ` .button-container { position: relative; display: flex; align-items: center; margin: 2px; } .code-button { display: flex; justify-content: space-between; align-items: center; width: 100%; padding: 6px 10px; margin: 0; } .code-text { color: #FFD700; font-weight: bold; } .code-label { margin-left: 10px; color: #98FB98; font-size: 11px; } .category-inbound .code-text, .category-training .code-text { color: #000000; } .category-inbound .code-label, .category-training .code-label { color: #FFFFFF; } `; document.head.appendChild(style); const categories = [ { name: "Inbound", color: "#FF9900", codes: [ { code: "ICQAPSS", label: "Dock/JPE/Corral/Bras KO" }, { code: "ICQAPSR", label: "NPC/RCV/DCT/PREP" }, { code: "ICQAPST", label: "MFI/TTO/TTF/TTH" }, { code: "QARSH", label: "IOL/Authors" } ] }, { name: "Outbound", color: "#01B0F1", codes: [ { code: "ICQAPSO", label: "SORT" }, { code: "PSRSPS", label: "UIS" }, { code: "PSTOPS", label: "MP/RP" }, { code: "PSRPPS", label: "JPW/ATAC" } ] }, { name: "ICQA", color: "#146EB4", codes: [ { code: "ICQDMP", label: "DMG Processing" }, { code: "ICQADMP", label: "Recolte DMG" }, { code: "ICQAQA", label: "AUDIT" }, { code: "AUDITPC", label: "Pallet Defect Capture" } ] }, { name: "Training", color: "#FF9900", codes: [ { code: "ICQATR", label: "ICQA Peer Trainer" }, { code: "ICQAIC", label: "ICQA Trainee" } ] }, { name: "Other", color: "#37475A", codes: [ { code: "FACJAN", label: "Facility Janitorial" }, { code: "ICQA5S", label: "5S" }, { code: "OPSEMPENG", label: "Engagement" }, { code: "ICQALQA", label: "LEAD" } ] } ]; function createButton(codeObj, color, categoryName) { const buttonContainer = document.createElement('div'); buttonContainer.className = `button-container category-${categoryName.toLowerCase()}`; const button = document.createElement('button'); button.className = 'code-button'; button.style.cssText = ` border: none; border-radius: 4px; background-color: ${color}; cursor: pointer; font-size: 11px; transition: all 0.3s; width: 100%; text-align: left; `; const codeSpan = document.createElement('span'); codeSpan.className = 'code-text'; codeSpan.textContent = codeObj.code; const labelSpan = document.createElement('span'); labelSpan.className = 'code-label'; labelSpan.textContent = codeObj.label; button.appendChild(codeSpan); button.appendChild(labelSpan); button.addEventListener('mouseover', () => button.style.transform = 'scale(1.05)'); button.addEventListener('mouseout', () => button.style.transform = 'scale(1)'); button.addEventListener('click', () => { const input = document.querySelector('#calmCode'); if (input) { input.value = codeObj.code; const form = input.closest('form'); if (form) form.submit(); } }); buttonContainer.appendChild(button); return buttonContainer; } function toggleCategory(categoryDiv, buttonsDiv) { const isExpanded = buttonsDiv.style.display !== 'none'; buttonsDiv.style.display = isExpanded ? 'none' : 'flex'; categoryDiv.querySelector('.toggle-icon').textContent = isExpanded ? '+' : '-'; } const container = document.createElement('div'); container.style.cssText = ` position: absolute; top: 50%; left: 20px; transform: translateY(-50%); background: #232F3E; padding: 12px; border-radius: 8px; box-shadow: 0 0 15px rgba(0,0,0,0.3); display: flex; flex-direction: column; gap: 10px; z-index: 9999; font-family: Amazon Ember, Arial, sans-serif; font-size: 12px; min-width: 300px; `; categories.forEach(category => { const categoryDiv = document.createElement('div'); categoryDiv.style.cssText = ` display: flex; flex-direction: column; gap: 6px; `; const categoryHeader = document.createElement('div'); categoryHeader.style.cssText = ` display: flex; align-items: center; cursor: pointer; user-select: none; padding: 4px 0; border-bottom: 2px solid #FF9900; `; const toggleIcon = document.createElement('span'); toggleIcon.textContent = '+'; toggleIcon.className = 'toggle-icon'; toggleIcon.style.cssText = ` color: #FFFFFF; margin-right: 8px; font-weight: bold; font-size: 16px; width: 15px; `; const categoryTitle = document.createElement('span'); categoryTitle.textContent = category.name; categoryTitle.style.cssText = ` font-weight: bold; color: #FFFFFF; font-size: 13px; `; const buttonsDiv = document.createElement('div'); buttonsDiv.style.cssText = ` display: none; flex-direction: column; gap: 6px; margin-top: 6px; `; categoryHeader.appendChild(toggleIcon); categoryHeader.appendChild(categoryTitle); categoryDiv.appendChild(categoryHeader); category.codes.forEach(codeObj => { buttonsDiv.appendChild(createButton(codeObj, category.color, category.name)); }); categoryDiv.appendChild(buttonsDiv); categoryHeader.addEventListener('click', () => toggleCategory(categoryDiv, buttonsDiv)); container.appendChild(categoryDiv); }); document.body.appendChild(container); })();