您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Helpers for PixAI: Toggle between 4x1 and 2x2 layouts for the image grid and toggle the visibility of the right sidebar.
当前为
// ==UserScript== // @name PixAI UI Helpers // @namespace http://yourname.tampermonkey.net/ // @version 1.3 // @description Helpers for PixAI: Toggle between 4x1 and 2x2 layouts for the image grid and toggle the visibility of the right sidebar. // @author Yada // @match https://pixai.art/generator/* // @icon https://pixai.art/favicon.ico // @grant none // @license MIT // @supportURL http://yoursupporturl.com // ==/UserScript== (function() { 'use strict'; let is2x2Layout = false; let isRightBarCollapsed = false; // Function to get the target element for grid layout function getGridTargetElement() { return document.querySelector('#workbench-layout main > div > div:nth-child(2) > div > div:nth-child(1)'); } // Function to set the layout to 4x1 function setLayout4x1() { const imageContainer = getGridTargetElement(); if (imageContainer) { imageContainer.style.setProperty('--grid-cols', '4'); imageContainer.style.setProperty('--grid-rows', '1'); is2x2Layout = false; } } // Function to set the layout to 2x2 function setLayout2x2() { const imageContainer = getGridTargetElement(); if (imageContainer) { imageContainer.style.setProperty('--grid-cols', '2'); imageContainer.style.setProperty('--grid-rows', '2'); is2x2Layout = true; } } // Function to toggle between layouts function toggleLayout() { if (is2x2Layout) { setLayout4x1(); } else { setLayout2x2(); } } // Function to set right bar width to zero function setRightBarWidthToZero() { const workbenchLayout = document.querySelector('#workbench-layout'); if (workbenchLayout) { workbenchLayout.style.gridTemplateColumns = 'min-content 1fr 0px'; isRightBarCollapsed = true; } } // Function to restore the original width of the right bar function restoreRightBarWidth() { const workbenchLayout = document.querySelector('#workbench-layout'); if (workbenchLayout) { workbenchLayout.style.gridTemplateColumns = 'min-content 1fr 380px'; isRightBarCollapsed = false; } } // Function to toggle the right bar's visibility function toggleRightBar() { if (isRightBarCollapsed) { restoreRightBarWidth(); } else { setRightBarWidthToZero(); } } // Create button container const buttonContainer = document.createElement('div'); buttonContainer.style.position = 'fixed'; buttonContainer.style.top = '10px'; buttonContainer.style.right = '10px'; buttonContainer.style.zIndex = '1000'; buttonContainer.style.display = 'flex'; buttonContainer.style.flexDirection = 'row'; buttonContainer.style.gap = '5px'; // Button styles const buttonStyle = { display: 'flex', justifyContent: 'center', alignItems: 'center', backgroundColor: 'transparent', color: 'white', fontFamily: 'Inter, sans-serif', fontSize: '0.75rem', fontWeight: '500', textShadow: '0 1px 2px rgba(0, 0, 0, 0.5)', padding: '0.25rem 0.5rem', border: 'none', borderRadius: '0.25rem', cursor: 'pointer', transition: 'background-color 0.3s', }; // Create toggle layout button const toggleLayoutButton = document.createElement('button'); toggleLayoutButton.textContent = 'Toggle Image Layout'; Object.assign(toggleLayoutButton.style, buttonStyle); toggleLayoutButton.onclick = toggleLayout; // Create toggle right bar button const toggleRightBarButton = document.createElement('button'); toggleRightBarButton.textContent = 'Toggle Right Bar'; Object.assign(toggleRightBarButton.style, buttonStyle); toggleRightBarButton.onclick = toggleRightBar; // Append buttons to container buttonContainer.appendChild(toggleLayoutButton); buttonContainer.appendChild(toggleRightBarButton); // Append button container to body document.body.appendChild(buttonContainer); // Set initial layout based on current grid settings const initialGridContainer = getGridTargetElement(); if (initialGridContainer && initialGridContainer.style.getPropertyValue('--grid-cols') === '4') { is2x2Layout = false; } else { is2x2Layout = true; } // Set initial state for the right bar const workbenchLayout = document.querySelector('#workbench-layout'); if (workbenchLayout && workbenchLayout.style.gridTemplateColumns.includes('0px')) { isRightBarCollapsed = true; } else { isRightBarCollapsed = false; } })();