From b2c6efa56e867e8e24a8c38566c58a8079da336d Mon Sep 17 00:00:00 2001 From: "adamlui@protonmail.com" Date: Wed, 29 Jan 2025 21:19:50 -0800 Subject: [PATCH] Updated rising-stars func/var/meta names + paths + comments --- amazongpt/greasemonkey/amazongpt.user.js | 32 ++++++++--------- assets/lib/dom.js/dist/dom.min.js | 2 +- assets/lib/dom.js/src/dom.js | 20 +++++------ .../autoclear-chatgpt-history.user.js | 34 +++++++++--------- bravegpt/greasemonkey/bravegpt.user.js | 36 +++++++++---------- .../chromium/extension/components/modals.js | 6 ++-- .../chromium/extension/content.js | 6 ++-- .../chromium/extension/lib/dom.js | 18 +++++----- .../firefox/extension/components/modals.js | 6 ++-- .../firefox/extension/content.js | 6 ++-- .../firefox/extension/lib/dom.js | 18 +++++----- .../chatgpt-auto-continue.user.js | 10 +++--- chatgpt-auto-continue/utils/bump/resources.js | 13 +++---- .../greasemonkey/chatgpt-auto-refresh.user.js | 34 +++++++++--------- .../greasemonkey/chatgpt-auto-talk.user.js | 34 +++++++++--------- .../chromium/extension/components/modals.js | 6 ++-- .../chromium/extension/content.js | 6 ++-- .../chromium/extension/lib/dom.js | 18 +++++----- .../firefox/extension/components/modals.js | 6 ++-- chatgpt-infinity/firefox/extension/content.js | 6 ++-- chatgpt-infinity/firefox/extension/lib/dom.js | 18 +++++----- .../greasemonkey/chatgpt-infinity.user.js | 10 +++--- chatgpt-infinity/utils/bump/resources.js | 13 +++---- .../chromium/extension/components/modals.js | 6 ++-- .../chromium/extension/content.js | 6 ++-- .../chromium/extension/lib/dom.js | 18 +++++----- .../firefox/extension/components/modals.js | 6 ++-- .../firefox/extension/content.js | 6 ++-- .../firefox/extension/lib/dom.js | 18 +++++----- .../chatgpt-widescreen-mode.user.js | 10 +++--- chatgpt-widescreen/utils/bump/resources.js | 13 +++---- duckduckgpt/greasemonkey/duckduckgpt.user.js | 36 +++++++++---------- googlegpt/greasemonkey/googlegpt.user.js | 36 +++++++++---------- utils/bump/resources.js | 13 +++---- 34 files changed, 265 insertions(+), 261 deletions(-) diff --git a/amazongpt/greasemonkey/amazongpt.user.js b/amazongpt/greasemonkey/amazongpt.user.js index eed4a206f..9da768c35 100644 --- a/amazongpt/greasemonkey/amazongpt.user.js +++ b/amazongpt/greasemonkey/amazongpt.user.js @@ -3,7 +3,7 @@ // @description Adds the magic of AI to Amazon shopping // @author KudoAI // @namespace https://kudoai.com -// @version 2025.1.29.11 +// @version 2025.1.29.12 // @license MIT // @icon https://amazongpt.kudoai.com/assets/images/icons/amazongpt/black-gold-teal/icon48.png?v=0fddfc7 // @icon64 https://amazongpt.kudoai.com/assets/images/icons/amazongpt/black-gold-teal/icon64.png?v=0fddfc7 @@ -71,8 +71,8 @@ // @resource amzgptLSlogo https://amazongpt.kudoai.com/assets/images/logos/amazongpt/black-gold/logo509x74.png.b64?v=1ac5561#sha256-wSW1EtGtscP0ZcUweFBqKfswt3NzEjbKxn5COYyihVA= // @resource amzgptDSlogo https://amazongpt.kudoai.com/assets/images/logos/amazongpt/white-teal/logo509x74.png.b64?v=1ac5561#sha256-EWstwtlU8+gXSM98gpr6OR3OZ63ttHVNp/NQ7IMzFDA= // @resource hljsCSS https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/dark.min.css#sha256-v0N76BFFkH0dCB8bUr4cHSVN8A/zCaOopMuSmJWV/5w= -// @resource brsCSS https://assets.aiwebextensions.com/styles/rising-stars/dist/black.min.css?v=3289404#sha256-CTj6Ndngq+TsPlNpQ6Ej39PQKSDpmxyKUFohhc91ruQ= -// @resource wrsCSS https://assets.aiwebextensions.com/styles/rising-stars/dist/white.min.css?v=3289404#sha256-tOOIvIe6O5/x2A5E7s9kP4+zw0d4EEDfRgXQLq2KwLs= +// @resource brpCSS https://assets.aiwebextensions.com/styles/rising-particles/dist/black.min.css?v=727feff#sha256-7ycEGqwB5zKKoaW3olhaFP8yj0KEXe+Ks2kS/4iRGZM= +// @resource wrpCSS https://assets.aiwebextensions.com/styles/rising-particles/dist/white.min.css?v=727feff#sha256-6xBXczm7yM1MZ/v0o1KVFfJGehHk47KJjq8oTktH4KE= // @grant GM_getValue // @grant GM_setValue // @grant GM_deleteValue @@ -408,7 +408,7 @@ }}) // Export DEPENDENCIES to dom.js - dom.imports.import({ config, env }) // for config.bgAnimationsDisabled + env.ui.app.scheme in dom.fillStarryBg() + dom.imports.import({ config, env }) // for config.bgAnimationsDisabled + env.ui.app.scheme in dom.addRisingParticles() // Define MENU functions @@ -600,7 +600,7 @@ } // Hack BG - dom.fillStarryBG(modal) + dom.addRisingParticles(modal) setTimeout(() => { // dim bg modal.parentNode.style.backgroundColor = `rgba(67,70,72,${ env.ui.app.scheme == 'dark' ? 0.62 : 0.33 })` @@ -1633,7 +1633,7 @@ appBottomPos() { appDiv.style.bottom = `${ config.minimized ? 55 - appDiv.offsetHeight : -7 }px` }, appStyle() { - const isStarryDM = env.ui.app.scheme == 'dark' && !config.bgAnimationsDisabled + const isParticlizedDS = env.ui.app.scheme == 'dark' && !config.bgAnimationsDisabled modals.stylize() // update modal styles app.styles.innerText = ( ':root {' // vars @@ -1673,7 +1673,7 @@ + ( config.bgAnimationsDisabled ? // classic flat bg `background: var(--app-bg-color-${env.ui.app.scheme}-scheme) ;` + `color: var(--font-color-${env.ui.app.scheme}-scheme) ;` - : `background-image: linear-gradient(180deg, ${ // gradient bg to match stars + : `background-image: linear-gradient(180deg, ${ // gradient bg to match rising particles env.ui.app.scheme == 'dark' ? '#99a8a6 -245px, black 185px' : '#b6ebff -163px, white 65px' }) ;` ) + 'transition: var(--app-transition) ;' @@ -1747,7 +1747,7 @@ + 'float: left ; left: 7px ; margin: 1.89em -14px 0 0 ;' // positioning + 'border-bottom-style: solid ; border-bottom-width: 16px ; border-top: 0 ; border-bottom-color:' + `${ // hide reply tip for terminal aesthetic - isStarryDM ? '#0000' : `var(--pre-bg-color-${env.ui.app.scheme}-scheme)` }}` + isParticlizedDS ? '#0000' : `var(--pre-bg-color-${env.ui.app.scheme}-scheme)` }}` + `#${app.slug} > pre {` + `font-size: ${config.fontSize}px ; white-space: pre-wrap ; min-width: 0 ;` + `line-height: ${ config.fontSize * config.lineHeightRatio }px ; overscroll-behavior: contain ;` @@ -1899,15 +1899,15 @@ log.caller = `update.scheme('${newScheme}')` log.debug(`Updating ${app.name} scheme to ${log.toTitleCase(newScheme)}...`) env.ui.app.scheme = newScheme ; logos.amzgpt.update() ; icons.amzgpt.update() ; update.appStyle() - update.stars() ; update.replyPrefix() ; toggle.btnGlow() ; modals.settings.updateSchemeStatus() + update.risingParticles() ; update.replyPrefix() ; toggle.btnGlow() ; modals.settings.updateSchemeStatus() log.debug(`Success! ${app.name} updated to ${log.toTitleCase(newScheme)} scheme`) }, - stars() { + risingParticles() { ['sm', 'med', 'lg'].forEach(size => - document.querySelectorAll(`[id*=stars-${size}]`).forEach(starsDiv => - starsDiv.id = config.bgAnimationsDisabled ? `stars-${size}-off` - : `${ env.ui.app.scheme == 'dark' ? 'white' : 'black' }-stars-${size}` + document.querySelectorAll(`[id*=particles-${size}]`).forEach(particlesDiv => + particlesDiv.id = config.bgAnimationsDisabled ? `particles-${size}-off` + : `${ env.ui.app.scheme == 'dark' ? 'white' : 'black' }-particles-${size}` )) } } @@ -2280,7 +2280,7 @@ animations(layer) { const configKey = `${layer}AnimationsDisabled` settings.save(configKey, !config[configKey]) - update.appStyle() ; if (layer == 'bg') { update.stars() ; update.replyPrefix() } + update.appStyle() ; if (layer == 'bg') { update.risingParticles() ; update.replyPrefix() } if (layer == 'fg' && modals.settings.get()) { // Toggle ticker-scroll of About status label @@ -2867,7 +2867,7 @@ // Build answer interface up to reply section if missing if (!appDiv.querySelector('pre')) { appDiv.textContent = '' - dom.fillStarryBG(appDiv) // add stars + dom.addRisingParticles(appDiv) // Create/append title const appHeaderLogo = logos.amzgpt.create() @@ -3053,7 +3053,7 @@ appDiv.classList.add('anchored', 'fade-in') ; addListeners.appDiv() if (config.expanded) appDiv.classList.add('expanded') app.styles = dom.create.style() ; update.appStyle() ; document.head.append(app.styles); - ['brs', 'wrs', 'hljs'].forEach(cssType => // black rising stars, white rising stars, code highlighting + ['brp', 'wrp', 'hljs'].forEach(cssType => // black rising particles, white rising particles, code highlighting document.head.append(dom.create.style(GM_getResourceText(`${cssType}CSS`)))) // Create/stylize TOOLTIPs diff --git a/assets/lib/dom.js/dist/dom.min.js b/assets/lib/dom.js/dist/dom.min.js index be1f5c27a..5d86e4109 100644 --- a/assets/lib/dom.js/dist/dom.min.js +++ b/assets/lib/dom.js/dist/dom.min.js @@ -1 +1 @@ -window.dom={imports:{import(deps){for(var depName in deps)this[depName]=deps[depName]}},cssSelectorize(classList){return classList.toString().replace(/([:[\]\\])/g,"\\$1").replace(/^| /g,".")},create:{anchor(linkHref,displayContent,attrs={}){let anchor=document.createElement("a"),defaultAttrs={href:linkHref,target:"_blank",rel:"noopener"},finalAttrs={...defaultAttrs,...attrs};return Object.entries(finalAttrs).forEach(([attr,value])=>anchor.setAttribute(attr,value)),displayContent&&anchor.append(displayContent),anchor},elem(elemType,attrs={}){var attr,elem=document.createElement(elemType);for(attr in attrs)elem.setAttribute(attr,attrs[attr]);return elem},style(content){var style=document.createElement("style");return content&&(style.innerText=content),style},svgElem(type,attrs){var attr,elem=document.createElementNS("http://www.w3.org/2000/svg",type);for(attr in attrs)elem.setAttributeNS(null,attr,attrs[attr]);return elem}},fillStarryBG(targetNode){if(!targetNode.querySelector("[id*=stars]")){let starsDivsContainer=document.createElement("div");starsDivsContainer.style.cssText="position: absolute ; top: 0 ; left: 0 ;height: 100% ; width: 100% ; border-radius: 15px ; overflow: clip ;z-index: -1",["sm","med","lg"].forEach(starSize=>{var starsDiv=document.createElement("div");starsDiv.id=this.imports.config?.bgAnimationsDisabled?`stars-${starSize}-off`:`${"dark"==(this.imports.env?.ui?.scheme||this.imports.env?.ui?.app?.scheme)?"white":"black"}-stars-`+starSize,starsDivsContainer.append(starsDiv)}),targetNode.prepend(starsDivsContainer)}},get:{computedWidth(...elems){let totalWidth=0;return elems.map(arg=>arg instanceof NodeList?[...arg]:arg).flat().forEach(elem=>{var elemStyle;elem instanceof Element&&"none"!=(elemStyle=getComputedStyle(elem)).display&&(totalWidth+=elem.getBoundingClientRect().width+parseFloat(elemStyle.marginLeft)+parseFloat(elemStyle.marginRight))}),totalWidth},loadedElem(selector,timeout=null){var timeoutPromise=timeout?new Promise(resolve=>setTimeout(()=>resolve(null),timeout)):null,isLoadedPromise=new Promise(resolve=>{var elem=document.querySelector(selector);elem?resolve(elem):new MutationObserver((_,obs)=>{var elem=document.querySelector(selector);elem&&(obs.disconnect(),resolve(elem))}).observe(document.documentElement,{childList:!0,subtree:!0})});return timeoutPromise?Promise.race([isLoadedPromise,timeoutPromise]):isLoadedPromise}}}; \ No newline at end of file +window.dom={imports:{import(deps){for(var depName in deps)this[depName]=deps[depName]}},cssSelectorize(classList){return classList.toString().replace(/([:[\]\\])/g,"\\$1").replace(/^| /g,".")},create:{anchor(linkHref,displayContent,attrs={}){let anchor=document.createElement("a"),defaultAttrs={href:linkHref,target:"_blank",rel:"noopener"},finalAttrs={...defaultAttrs,...attrs};return Object.entries(finalAttrs).forEach(([attr,value])=>anchor.setAttribute(attr,value)),displayContent&&anchor.append(displayContent),anchor},elem(elemType,attrs={}){var attr,elem=document.createElement(elemType);for(attr in attrs)elem.setAttribute(attr,attrs[attr]);return elem},style(content){var style=document.createElement("style");return content&&(style.innerText=content),style},svgElem(type,attrs){var attr,elem=document.createElementNS("http://www.w3.org/2000/svg",type);for(attr in attrs)elem.setAttributeNS(null,attr,attrs[attr]);return elem}},addRisingParticles(targetNode){if(!targetNode.querySelector("[id*=particles]")){let particlesDivsContainer=document.createElement("div");particlesDivsContainer.style.cssText="position: absolute ; top: 0 ; left: 0 ;height: 100% ; width: 100% ; border-radius: 15px ; overflow: clip ;z-index: -1",["sm","med","lg"].forEach(particleSize=>{var particlesDiv=document.createElement("div");particlesDiv.id=this.imports.config?.bgAnimationsDisabled?`particles-${particleSize}-off`:`${"dark"==(this.imports.env?.ui?.scheme||this.imports.env?.ui?.app?.scheme)?"white":"black"}-particles-`+particleSize,particlesDivsContainer.append(particlesDiv)}),targetNode.prepend(particlesDivsContainer)}},get:{computedWidth(...elems){let totalWidth=0;return elems.map(arg=>arg instanceof NodeList?[...arg]:arg).flat().forEach(elem=>{var elemStyle;elem instanceof Element&&"none"!=(elemStyle=getComputedStyle(elem)).display&&(totalWidth+=elem.getBoundingClientRect().width+parseFloat(elemStyle.marginLeft)+parseFloat(elemStyle.marginRight))}),totalWidth},loadedElem(selector,timeout=null){var timeoutPromise=timeout?new Promise(resolve=>setTimeout(()=>resolve(null),timeout)):null,isLoadedPromise=new Promise(resolve=>{var elem=document.querySelector(selector);elem?resolve(elem):new MutationObserver((_,obs)=>{var elem=document.querySelector(selector);elem&&(obs.disconnect(),resolve(elem))}).observe(document.documentElement,{childList:!0,subtree:!0})});return timeoutPromise?Promise.race([isLoadedPromise,timeoutPromise]):isLoadedPromise}}}; \ No newline at end of file diff --git a/assets/lib/dom.js/src/dom.js b/assets/lib/dom.js/src/dom.js index 677ab1f5c..451474be0 100644 --- a/assets/lib/dom.js/src/dom.js +++ b/assets/lib/dom.js/src/dom.js @@ -40,20 +40,20 @@ window.dom = { } }, - fillStarryBG(targetNode) { // requires https://assets.aiwebextensions.com/styles/rising-stars/css/.min.css - if (targetNode.querySelector('[id*=stars]')) return - const starsDivsContainer = document.createElement('div') - starsDivsContainer.style.cssText = 'position: absolute ; top: 0 ; left: 0 ;' // hug targetNode's top-left corner + addRisingParticles(targetNode) { // requires https://assets.aiwebextensions.com/styles/rising-particles/dist/.min.css + if (targetNode.querySelector('[id*=particles]')) return + const particlesDivsContainer = document.createElement('div') + particlesDivsContainer.style.cssText = 'position: absolute ; top: 0 ; left: 0 ;' // hug targetNode's top-left corner + 'height: 100% ; width: 100% ; border-radius: 15px ; overflow: clip ;' // bound innards exactly by targetNode + 'z-index: -1'; // allow interactive elems to be clicked - ['sm', 'med', 'lg'].forEach(starSize => { - const starsDiv = document.createElement('div') - starsDiv.id = this.imports.config?.bgAnimationsDisabled ? `stars-${starSize}-off` + ['sm', 'med', 'lg'].forEach(particleSize => { + const particlesDiv = document.createElement('div') + particlesDiv.id = this.imports.config?.bgAnimationsDisabled ? `particles-${particleSize}-off` : `${( this.imports.env?.ui?.scheme || this.imports.env?.ui?.app?.scheme ) == 'dark' ? 'white' - : 'black' }-stars-${starSize}` - starsDivsContainer.append(starsDiv) + : 'black' }-particles-${particleSize}` + particlesDivsContainer.append(particlesDiv) }) - targetNode.prepend(starsDivsContainer) + targetNode.prepend(particlesDivsContainer) }, get: { diff --git a/autoclear-chatgpt-history/greasemonkey/autoclear-chatgpt-history.user.js b/autoclear-chatgpt-history/greasemonkey/autoclear-chatgpt-history.user.js index 61416fab4..b17d322ca 100644 --- a/autoclear-chatgpt-history/greasemonkey/autoclear-chatgpt-history.user.js +++ b/autoclear-chatgpt-history/greasemonkey/autoclear-chatgpt-history.user.js @@ -225,7 +225,7 @@ // @description:zu Ziba itshala lokucabanga okuzoshintshwa ngokuzenzakalelayo uma ukubuka chatgpt.com // @author Adam Lui // @namespace https://github.com/adamlui -// @version 2025.1.29.1 +// @version 2025.1.29.2 // @license MIT // @icon https://assets.autoclearchatgpt.com/images/icons/openai/black/icon48.png?v=f461c06 // @icon64 https://assets.autoclearchatgpt.com/images/icons/openai/black/icon64.png?v=f461c06 @@ -243,8 +243,8 @@ // @connect gm.autoclearchatgpt.com // @connect raw.githubusercontent.com // @require https://cdn.jsdelivr.net/npm/@kudoai/chatgpt.js@3.5.0/dist/chatgpt.min.js#sha256-+C0x4BOFQc38aZB3pvUC2THu+ZSvuCxRphGdtRLjCDg= -// @resource brsCSS https://assets.aiwebextensions.com/styles/rising-stars/dist/black.min.css?v=3289404#sha256-CTj6Ndngq+TsPlNpQ6Ej39PQKSDpmxyKUFohhc91ruQ= -// @resource wrsCSS https://assets.aiwebextensions.com/styles/rising-stars/dist/white.min.css?v=3289404#sha256-tOOIvIe6O5/x2A5E7s9kP4+zw0d4EEDfRgXQLq2KwLs= +// @resource brpCSS https://assets.aiwebextensions.com/styles/rising-particles/dist/black.min.css?v=727feff#sha256-7ycEGqwB5zKKoaW3olhaFP8yj0KEXe+Ks2kS/4iRGZM= +// @resource wrpCSS https://assets.aiwebextensions.com/styles/rising-particles/dist/white.min.css?v=727feff#sha256-6xBXczm7yM1MZ/v0o1KVFfJGehHk47KJjq8oTktH4KE= // @grant GM_setValue // @grant GM_getValue // @grant GM_registerMenuCommand @@ -499,7 +499,7 @@ alert(title = '', msg = '', btns = '', checkbox = '', width = '') { // generic one from chatgpt.alert() const alertID = chatgpt.alert(title, msg, btns, checkbox, width), alert = document.getElementById(alertID).firstChild - this.init(alert) // add classes + starry bg + this.init(alert) // add classes + rising particles bg return alert }, @@ -507,14 +507,14 @@ const modal = modalSubType ? this[modalType][modalSubType]() : this[modalType]() // show modal if (!modal) return // since no div returned this.stack.unshift(modalSubType ? `${modalType}_${modalSubType}` : modalType) // add to stack - this.init(modal) // add classes + starry bg + this.init(modal) // add classes + rising particles bg this.observeRemoval(modal, modalType, modalSubType) // to maintain stack for proper nav }, init(modal) { if (!this.styles) this.stylize() // to init/append stylesheet modal.classList.add('no-user-select', this.class) ; modal.parentNode.classList.add(`${this.class}-bg`) - fillStarryBG(modal) // add starry bg + addRisingParticles(modal) }, stylize() { @@ -753,18 +753,18 @@ return style } - function fillStarryBG(targetNode) { // requires https://assets.aiwebextensions.com/styles/rising-stars/css/.min.css - if (targetNode.querySelector('[id*=stars]')) return - const starsDivsContainer = document.createElement('div') - starsDivsContainer.style.cssText = 'position: absolute ; top: 0 ; left: 0 ;' // hug targetNode's top-left corner + function addRisingParticles(targetNode) { // requires https://assets.aiwebextensions.com/styles/rising-particles/dist/.min.css + if (targetNode.querySelector('[id*=particles]')) return + const particlesDivsContainer = document.createElement('div') + particlesDivsContainer.style.cssText = 'position: absolute ; top: 0 ; left: 0 ;' // hug targetNode's top-left corner + 'height: 100% ; width: 100% ; border-radius: 15px ; overflow: clip ;' // bound innards exactly by targetNode + 'z-index: -1'; // allow interactive elems to be clicked - ['sm', 'med', 'lg'].forEach(starSize => { - const starsDiv = document.createElement('div') - starsDiv.id = `${ env.ui.scheme == 'dark' ? 'white' : 'black' }-stars-${starSize}` - starsDivsContainer.append(starsDiv) + ['sm', 'med', 'lg'].forEach(particleSize => { + const particlesDiv = document.createElement('div') + particlesDiv.id = `${ env.ui.scheme == 'dark' ? 'white' : 'black' }-particles-${particleSize}` + particlesDivsContainer.append(particlesDiv) }) - targetNode.prepend(starsDivsContainer) + targetNode.prepend(particlesDivsContainer) } const toggles = { @@ -929,8 +929,8 @@ await chatgpt.sidebar.isLoaded() env.ui.firstLink = chatgpt.getNewChatLink(); - // Add STARS styles - ['brs', 'wrs'].forEach(cssType => document.head.append(createStyle(GM_getResourceText(`${cssType}CSS`)))) + // Add RISING PARTICLES styles + ['brp', 'wrp'].forEach(cssType => document.head.append(createStyle(GM_getResourceText(`${cssType}CSS`)))) toggles.sidebar.insert() diff --git a/bravegpt/greasemonkey/bravegpt.user.js b/bravegpt/greasemonkey/bravegpt.user.js index 19e1cbcf7..02632f8ca 100644 --- a/bravegpt/greasemonkey/bravegpt.user.js +++ b/bravegpt/greasemonkey/bravegpt.user.js @@ -148,7 +148,7 @@ // @description:zu Yengeza izimpendulo ze-AI ku-Brave Search (inikwa amandla yi-GPT-4o!) // @author KudoAI // @namespace https://kudoai.com -// @version 2025.1.29.14 +// @version 2025.1.29.15 // @license MIT // @icon https://assets.bravegpt.com/images/icons/bravegpt/icon48.png?v=df624b0 // @icon64 https://assets.bravegpt.com/images/icons/bravegpt/icon64.png?v=df624b0 @@ -192,8 +192,8 @@ // @resource bgptLSlogo https://assets.bravegpt.com/images/logos/bravegpt/lightmode/logo730x155.png.b64?v=a76e718#sha256-gGomHdYcs/AE4Ep8dAJhPFbCX6uyHmb38vi9hWYJZLI= // @resource bgptDSlogo https://assets.bravegpt.com/images/logos/bravegpt/darkmode/logo730x155.png.b64?v=a76e718#sha256-2Qx4bTS8s7dKj4m2dsJdPnijThaYRwYQMi30+KjtopI= // @resource hljsCSS https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/dark.min.css#sha256-v0N76BFFkH0dCB8bUr4cHSVN8A/zCaOopMuSmJWV/5w= -// @resource brsCSS https://assets.aiwebextensions.com/styles/rising-stars/dist/black.min.css?v=3289404#sha256-CTj6Ndngq+TsPlNpQ6Ej39PQKSDpmxyKUFohhc91ruQ= -// @resource wrsCSS https://assets.aiwebextensions.com/styles/rising-stars/dist/white.min.css?v=3289404#sha256-tOOIvIe6O5/x2A5E7s9kP4+zw0d4EEDfRgXQLq2KwLs= +// @resource brpCSS https://assets.aiwebextensions.com/styles/rising-particles/dist/black.min.css?v=727feff#sha256-7ycEGqwB5zKKoaW3olhaFP8yj0KEXe+Ks2kS/4iRGZM= +// @resource wrpCSS https://assets.aiwebextensions.com/styles/rising-particles/dist/white.min.css?v=727feff#sha256-6xBXczm7yM1MZ/v0o1KVFfJGehHk47KJjq8oTktH4KE= // @grant GM_getValue // @grant GM_setValue // @grant GM_deleteValue @@ -580,7 +580,7 @@ }}) // Export DEPENDENCIES to dom.js - dom.imports.import({ config, env }) // for config.bgAnimationsDisabled + env.ui.app.scheme in dom.fillStarryBg() + dom.imports.import({ config, env }) // for config.bgAnimationsDisabled + env.ui.app.scheme in dom.addRisingParticles() // Define MENU functions @@ -773,7 +773,7 @@ } // Hack BG - dom.fillStarryBG(modal) + dom.addRisingParticles(modal) setTimeout(() => { // dim bg modal.parentNode.style.backgroundColor = `rgba(67,70,72,${ env.ui.app.scheme == 'dark' ? 0.62 : 0.33 })` @@ -2041,7 +2041,7 @@ appBottomPos() { appDiv.style.bottom = `${ config.minimized ? 48 - appDiv.offsetHeight : -32 }px` }, appStyle() { - const isStarryDM = env.ui.app.scheme == 'dark' && !config.bgAnimationsDisabled + const isParticlizedDS = env.ui.app.scheme == 'dark' && !config.bgAnimationsDisabled modals.stylize() // update modal styles app.styles.innerText = ( ':root {' // vars @@ -2085,7 +2085,7 @@ + ( config.bgAnimationsDisabled ? // classic flat bg `background: var(--app-bg-color-${env.ui.app.scheme}-scheme) ;` + `color: var(--font-color-${env.ui.app.scheme}-scheme) ;` - : `background-image: linear-gradient(180deg, ${ // gradient bg to match stars + : `background-image: linear-gradient(180deg, ${ // gradient bg to match rising particles env.ui.app.scheme == 'dark' ? '#99a8a6 -245px, black 185px' : '#b6ebff -163px, white 65px' }) ;` ) + ( env.ui.app.scheme == 'dark' ? 'border: none ;' : '' ) @@ -2160,8 +2160,8 @@ + `.${app.slug}-standby-btn {` + 'width: 100% ; margin: 14px 0 20px ; padding: 13px 0 ; cursor: pointer ;' + `background-color: #f0f0f0${ config.bgAnimationsDisabled ? '' : '00' };` - + `color: ${ isStarryDM ? 'white' : 'black' };` - + `border-radius: 4px ; border: 1px solid ${ isStarryDM ? '#fff' : '#888' };` + + `color: ${ isParticlizedDS ? 'white' : 'black' };` + + `border-radius: 4px ; border: 1px solid ${ isParticlizedDS ? '#fff' : '#888' };` + 'transition: var(--btn-transition) ;' + '-webkit-transition: var(--btn-transition) ; -moz-transition: var(--btn-transition) ;' + '-o-transition: var(--btn-transition) ; -ms-transition: var(--btn-transition) }' @@ -2175,7 +2175,7 @@ + 'float: left ; left: 7px ; margin: 29px -13px 0 0 ;' // positioning + 'border-bottom-style: solid ; border-bottom-width: 16px ; border-top: 0 ; border-bottom-color:' + `${ // hide reply tip for terminal aesthetic - isStarryDM ? '#0000' : `var(--pre-bg-color-${env.ui.app.scheme}-scheme)` }}` + isParticlizedDS ? '#0000' : `var(--pre-bg-color-${env.ui.app.scheme}-scheme)` }}` + `#${app.slug} > pre {` + `font-size: ${config.fontSize}px ; white-space: pre-wrap ;` + 'font-family: Consolas, Menlo, Monaco, monospace ;' @@ -2472,15 +2472,15 @@ log.caller = `update.scheme('${newScheme}')` log.debug(`Updating ${app.name} scheme to ${log.toTitleCase(newScheme)}...`) env.ui.app.scheme = newScheme ; logos.braveGPT.update() ; update.appStyle() - update.stars() ; update.replyPrefix() ; toggle.btnGlow() ; modals.settings.updateSchemeStatus() + update.risingParticles() ; update.replyPrefix() ; toggle.btnGlow() ; modals.settings.updateSchemeStatus() log.debug(`Success! ${app.name} updated to ${log.toTitleCase(newScheme)} scheme`) }, - stars() { + risingParticles() { ['sm', 'med', 'lg'].forEach(size => - document.querySelectorAll(`[id*=stars-${size}]`).forEach(starsDiv => - starsDiv.id = config.bgAnimationsDisabled ? `stars-${size}-off` - : `${ env.ui.app.scheme == 'dark' ? 'white' : 'black' }-stars-${size}` + document.querySelectorAll(`[id*=particles-${size}]`).forEach(particlesDiv => + particlesDiv.id = config.bgAnimationsDisabled ? `particles-${size}-off` + : `${ env.ui.app.scheme == 'dark' ? 'white' : 'black' }-particles-${size}` )) } } @@ -2911,7 +2911,7 @@ animations(layer) { const configKey = `${layer}AnimationsDisabled` settings.save(configKey, !config[configKey]) - update.appStyle() ; if (layer == 'bg') { update.stars() ; update.replyPrefix() } + update.appStyle() ; if (layer == 'bg') { update.risingParticles() ; update.replyPrefix() } if (layer == 'fg' && modals.settings.get()) { // Toggle ticker-scroll of About status label @@ -3639,7 +3639,7 @@ // Build answer interface up to reply section if missing if (!appDiv.querySelector('pre')) { appDiv.textContent = '' - dom.fillStarryBG(appDiv) // add stars + dom.addRisingParticles(appDiv) // Create/append title const appHeaderLogo = logos.braveGPT.create() ; appHeaderLogo.width = 104 @@ -3939,7 +3939,7 @@ ['anchored', 'expanded', 'sticky', 'wider'].forEach(mode => (config[mode] || config[`${mode}Sidebar`]) && appDiv.classList.add(mode)) app.styles = dom.create.style() ; update.appStyle() ; document.head.append(app.styles); - ['brs', 'wrs', 'hljs'].forEach(cssType => // black rising stars, white rising stars, code highlighting + ['brp', 'wrp', 'hljs'].forEach(cssType => // black rising particles, white rising particles, code highlighting document.head.append(dom.create.style(GM_getResourceText(`${cssType}CSS`)))) // Create/stylize TOOLTIPs diff --git a/chatgpt-auto-continue/chromium/extension/components/modals.js b/chatgpt-auto-continue/chromium/extension/components/modals.js index 874572166..4775e3b78 100644 --- a/chatgpt-auto-continue/chromium/extension/components/modals.js +++ b/chatgpt-auto-continue/chromium/extension/components/modals.js @@ -25,7 +25,7 @@ window.modals = { alert(title = '', msg = '', btns = '', checkbox = '', width = '') { // generic one from chatgpt.alert() const alertID = chatgpt.alert(title, msg, btns, checkbox, width), alert = document.getElementById(alertID).firstChild - this.init(alert) // add classes + starry bg + this.init(alert) // add classes + rising particles bg return alert }, @@ -33,14 +33,14 @@ window.modals = { const modal = modalSubType ? this[modalType][modalSubType]() : this[modalType]() // show modal if (!modal) return // since no div returned this.stack.unshift(modalSubType ? `${modalType}_${modalSubType}` : modalType) // add to stack - this.init(modal) // add classes + starry bg + this.init(modal) // add classes + rising particles bg this.observeRemoval(modal, modalType, modalSubType) // to maintain stack for proper nav }, init(modal) { if (!this.styles) this.stylize() // to init/append stylesheet modal.classList.add('no-user-select', this.class) ; modal.parentNode.classList.add(`${this.class}-bg`) - dom.fillStarryBG(modal) // add starry bg + dom.addRisingParticles(modal) }, stylize() { diff --git a/chatgpt-auto-continue/chromium/extension/content.js b/chatgpt-auto-continue/chromium/extension/content.js index c9e58b198..fea73c410 100644 --- a/chatgpt-auto-continue/chromium/extension/content.js +++ b/chatgpt-auto-continue/chromium/extension/content.js @@ -92,11 +92,11 @@ // Run MAIN routine - // Add STARS styles + // Add RISING PARTICLES styles ['black', 'white'].forEach(color => document.head.append( dom.create.elem('link', { rel: 'stylesheet', - href: `https://assets.aiwebextensions.com/styles/rising-stars/dist/${ - color}.min.css?v=0cde30f9ae3ce99ae998141f6e7a36de9b0cc2e7` + href: `https://assets.aiwebextensions.com/styles/rising-particles/dist/${ + color}.min.css?v=727feff` }))) // Observe DOM for need to continue generating response diff --git a/chatgpt-auto-continue/chromium/extension/lib/dom.js b/chatgpt-auto-continue/chromium/extension/lib/dom.js index be524527f..70e3321cc 100644 --- a/chatgpt-auto-continue/chromium/extension/lib/dom.js +++ b/chatgpt-auto-continue/chromium/extension/lib/dom.js @@ -25,17 +25,17 @@ window.dom = { } }, - fillStarryBG(targetNode) { // requires https://assets.aiwebextensions.com/styles/rising-stars/css/.min.css - if (targetNode.querySelector('[id*=stars]')) return - const starsDivsContainer = document.createElement('div') - starsDivsContainer.style.cssText = 'position: absolute ; top: 0 ; left: 0 ;' // hug targetNode's top-left corner + addRisingParticles(targetNode) { // requires https://assets.aiwebextensions.com/styles/rising-particles/dist/.min.css + if (targetNode.querySelector('[id*=particles]')) return + const particlesDivsContainer = document.createElement('div') + particlesDivsContainer.style.cssText = 'position: absolute ; top: 0 ; left: 0 ;' // hug targetNode's top-left corner + 'height: 100% ; width: 100% ; border-radius: 15px ; overflow: clip ;' // bound innards exactly by targetNode + 'z-index: -1'; // allow interactive elems to be clicked - ['sm', 'med', 'lg'].forEach(starSize => { - const starsDiv = document.createElement('div') - starsDiv.id = `${ this.imports.env.ui.scheme == 'dark' ? 'white' : 'black' }-stars-${starSize}` - starsDivsContainer.append(starsDiv) + ['sm', 'med', 'lg'].forEach(particleSize => { + const particlesDiv = document.createElement('div') + particlesDiv.id = `${ this.imports.env.ui.scheme == 'dark' ? 'white' : 'black' }-particles-${particleSize}` + particlesDivsContainer.append(particlesDiv) }) - targetNode.prepend(starsDivsContainer) + targetNode.prepend(particlesDivsContainer) } }; diff --git a/chatgpt-auto-continue/firefox/extension/components/modals.js b/chatgpt-auto-continue/firefox/extension/components/modals.js index 874572166..4775e3b78 100644 --- a/chatgpt-auto-continue/firefox/extension/components/modals.js +++ b/chatgpt-auto-continue/firefox/extension/components/modals.js @@ -25,7 +25,7 @@ window.modals = { alert(title = '', msg = '', btns = '', checkbox = '', width = '') { // generic one from chatgpt.alert() const alertID = chatgpt.alert(title, msg, btns, checkbox, width), alert = document.getElementById(alertID).firstChild - this.init(alert) // add classes + starry bg + this.init(alert) // add classes + rising particles bg return alert }, @@ -33,14 +33,14 @@ window.modals = { const modal = modalSubType ? this[modalType][modalSubType]() : this[modalType]() // show modal if (!modal) return // since no div returned this.stack.unshift(modalSubType ? `${modalType}_${modalSubType}` : modalType) // add to stack - this.init(modal) // add classes + starry bg + this.init(modal) // add classes + rising particles bg this.observeRemoval(modal, modalType, modalSubType) // to maintain stack for proper nav }, init(modal) { if (!this.styles) this.stylize() // to init/append stylesheet modal.classList.add('no-user-select', this.class) ; modal.parentNode.classList.add(`${this.class}-bg`) - dom.fillStarryBG(modal) // add starry bg + dom.addRisingParticles(modal) }, stylize() { diff --git a/chatgpt-auto-continue/firefox/extension/content.js b/chatgpt-auto-continue/firefox/extension/content.js index c9e58b198..fea73c410 100644 --- a/chatgpt-auto-continue/firefox/extension/content.js +++ b/chatgpt-auto-continue/firefox/extension/content.js @@ -92,11 +92,11 @@ // Run MAIN routine - // Add STARS styles + // Add RISING PARTICLES styles ['black', 'white'].forEach(color => document.head.append( dom.create.elem('link', { rel: 'stylesheet', - href: `https://assets.aiwebextensions.com/styles/rising-stars/dist/${ - color}.min.css?v=0cde30f9ae3ce99ae998141f6e7a36de9b0cc2e7` + href: `https://assets.aiwebextensions.com/styles/rising-particles/dist/${ + color}.min.css?v=727feff` }))) // Observe DOM for need to continue generating response diff --git a/chatgpt-auto-continue/firefox/extension/lib/dom.js b/chatgpt-auto-continue/firefox/extension/lib/dom.js index be524527f..70e3321cc 100644 --- a/chatgpt-auto-continue/firefox/extension/lib/dom.js +++ b/chatgpt-auto-continue/firefox/extension/lib/dom.js @@ -25,17 +25,17 @@ window.dom = { } }, - fillStarryBG(targetNode) { // requires https://assets.aiwebextensions.com/styles/rising-stars/css/.min.css - if (targetNode.querySelector('[id*=stars]')) return - const starsDivsContainer = document.createElement('div') - starsDivsContainer.style.cssText = 'position: absolute ; top: 0 ; left: 0 ;' // hug targetNode's top-left corner + addRisingParticles(targetNode) { // requires https://assets.aiwebextensions.com/styles/rising-particles/dist/.min.css + if (targetNode.querySelector('[id*=particles]')) return + const particlesDivsContainer = document.createElement('div') + particlesDivsContainer.style.cssText = 'position: absolute ; top: 0 ; left: 0 ;' // hug targetNode's top-left corner + 'height: 100% ; width: 100% ; border-radius: 15px ; overflow: clip ;' // bound innards exactly by targetNode + 'z-index: -1'; // allow interactive elems to be clicked - ['sm', 'med', 'lg'].forEach(starSize => { - const starsDiv = document.createElement('div') - starsDiv.id = `${ this.imports.env.ui.scheme == 'dark' ? 'white' : 'black' }-stars-${starSize}` - starsDivsContainer.append(starsDiv) + ['sm', 'med', 'lg'].forEach(particleSize => { + const particlesDiv = document.createElement('div') + particlesDiv.id = `${ this.imports.env.ui.scheme == 'dark' ? 'white' : 'black' }-particles-${particleSize}` + particlesDivsContainer.append(particlesDiv) }) - targetNode.prepend(starsDivsContainer) + targetNode.prepend(particlesDivsContainer) } }; diff --git a/chatgpt-auto-continue/greasemonkey/chatgpt-auto-continue.user.js b/chatgpt-auto-continue/greasemonkey/chatgpt-auto-continue.user.js index 216ec010d..5ac9d79df 100644 --- a/chatgpt-auto-continue/greasemonkey/chatgpt-auto-continue.user.js +++ b/chatgpt-auto-continue/greasemonkey/chatgpt-auto-continue.user.js @@ -219,7 +219,7 @@ // @description:zu ⚡ Terus menghasilkan imibuzo eminingi ye-ChatGPT ngokwesizulu // @author Adam Lui // @namespace https://github.com/adamlui -// @version 2025.1.29.1 +// @version 2025.1.29.2 // @license MIT // @icon https://assets.chatgptautocontinue.com/images/icons/continue-symbol/circled/with-robot/icon48.png?v=8b39fb4 // @icon64 https://assets.chatgptautocontinue.com/images/icons/continue-symbol/circled/with-robot/icon64.png?v=8b39fb4 @@ -231,8 +231,8 @@ // @require https://cdn.jsdelivr.net/gh/adamlui/chatgpt-auto-continue@7ad2c29/chromium/extension/components/modals.js#sha256-WsU/FpgwYrSF9pWPk0kDOaWiX4j44oDhxvItj95Zn7Q= // @require https://cdn.jsdelivr.net/gh/adamlui/chatgpt-auto-continue@7644314/chromium/extension/lib/dom.js#sha256-x42VLAXHPZdt08Dp23Oo7AWqCRsK4EgfBEX3B1dyW4w= // @require https://cdn.jsdelivr.net/gh/adamlui/chatgpt-auto-continue@7623f9e/chromium/extension/lib/settings.js#sha256-+1SzWklvhvhJPIE8vxmP6hgWBlxFS6st8SeSjC/Cvgg= -// @resource brsCSS https://assets.aiwebextensions.com/styles/rising-stars/dist/black.min.css?v=3289404#sha256-CTj6Ndngq+TsPlNpQ6Ej39PQKSDpmxyKUFohhc91ruQ= -// @resource wrsCSS https://assets.aiwebextensions.com/styles/rising-stars/dist/white.min.css?v=3289404#sha256-tOOIvIe6O5/x2A5E7s9kP4+zw0d4EEDfRgXQLq2KwLs= +// @resource brpCSS https://assets.aiwebextensions.com/styles/rising-particles/dist/black.min.css?v=727feff#sha256-7ycEGqwB5zKKoaW3olhaFP8yj0KEXe+Ks2kS/4iRGZM= +// @resource wrpCSS https://assets.aiwebextensions.com/styles/rising-particles/dist/white.min.css?v=727feff#sha256-6xBXczm7yM1MZ/v0o1KVFfJGehHk47KJjq8oTktH4KE= // @grant GM_setValue // @grant GM_getValue // @grant GM_registerMenuCommand @@ -490,8 +490,8 @@ menu.register() ; if (env.extensionInstalled) return - // Add STARS styles - ['brs', 'wrs'].forEach(cssType => document.head.append(dom.create.style(GM_getResourceText(`${cssType}CSS`)))) + // Add RISING PARTICLES styles + ['brp', 'wrp'].forEach(cssType => document.head.append(dom.create.style(GM_getResourceText(`${cssType}CSS`)))) // Observe DOM for need to continue generating response checkContinueBtn() diff --git a/chatgpt-auto-continue/utils/bump/resources.js b/chatgpt-auto-continue/utils/bump/resources.js index 1051407c6..91dc79161 100644 --- a/chatgpt-auto-continue/utils/bump/resources.js +++ b/chatgpt-auto-continue/utils/bump/resources.js @@ -1,6 +1,6 @@ #!/usr/bin/env node -// Bumps @require'd JS + rising-stars CSS @resource's in userscript +// Bumps @require'd JS + rising-particles CSS @resource's in userscript // NOTE: Doesn't git commit to allow script editing from breaking changes (async () => { @@ -111,10 +111,11 @@ const resURLs = [...userJScontent.matchAll(reResURL)].map(match => match[1] || match[2]) log.success(`${resURLs.length} potentially bumpable resource(s) found.`) - // Fetch latest commit hash for adamlui/ai-web-extensions/assets/styles/rising-stars - const risingStarsPath = 'assets/styles/rising-stars' - log.working(`\nFetching latest commit hash for ${risingStarsPath}...\n`) - const latestCommitHashes = { risingStars: await getLatestCommitHash('adamlui/ai-web-extensions', risingStarsPath) } + // Fetch latest commit hash for adamlui/ai-web-extensions/assets/styles/rising-particles + const risingParticlesPath = 'assets/styles/rising-particles' + log.working(`\nFetching latest commit hash for ${risingParticlesPath}...\n`) + const latestCommitHashes = { + risingParticles: await getLatestCommitHash('adamlui/ai-web-extensions', risingParticlesPath) } log.working('\nProcessing resource(s)...\n') let urlsUpdatedCnt = 0 @@ -131,7 +132,7 @@ const resName = rePatterns.resName.exec(resURL)?.[0] || 'resource' // dir/filename for logs // Compare/update commit hash - let resLatestCommitHash = latestCommitHashes[resURL.includes(repoName) ? 'chromium' : 'risingStars'] + let resLatestCommitHash = latestCommitHashes[resURL.includes(repoName) ? 'chromium' : 'risingParticles'] if (resLatestCommitHash.startsWith( // compare hashes rePatterns.commitHash.exec(resURL)?.[2] || '')) { // commit hash didn't change... console.log(`${resName} already up-to-date!`) ; log.endedWithLineBreak = false diff --git a/chatgpt-auto-refresh/greasemonkey/chatgpt-auto-refresh.user.js b/chatgpt-auto-refresh/greasemonkey/chatgpt-auto-refresh.user.js index c7f37a90b..ceb979970 100644 --- a/chatgpt-auto-refresh/greasemonkey/chatgpt-auto-refresh.user.js +++ b/chatgpt-auto-refresh/greasemonkey/chatgpt-auto-refresh.user.js @@ -220,7 +220,7 @@ // @description:zu *NGOKUPHEPHA* susa ukusetha kabusha ingxoxo yemizuzu eyi-10 + amaphutha enethiwekhi ahlala njalo + Ukuhlolwa kwe-Cloudflare ku-ChatGPT. // @author Adam Lui // @namespace https://github.com/adamlui -// @version 2025.1.29.2 +// @version 2025.1.29.3 // @license MIT // @icon https://assets.chatgptautorefresh.com/images/icons/openai/black/icon48.png?v=f11a0a8 // @icon64 https://assets.chatgptautorefresh.com/images/icons/openai/black/icon64.png?v=f11a0a8 @@ -239,8 +239,8 @@ // @connect gm.chatgptautorefresh.com // @connect raw.githubusercontent.com // @require https://cdn.jsdelivr.net/npm/@kudoai/chatgpt.js@3.5.0/dist/chatgpt.min.js#sha256-+C0x4BOFQc38aZB3pvUC2THu+ZSvuCxRphGdtRLjCDg= -// @resource brsCSS https://assets.aiwebextensions.com/styles/rising-stars/dist/black.min.css?v=3289404#sha256-CTj6Ndngq+TsPlNpQ6Ej39PQKSDpmxyKUFohhc91ruQ= -// @resource wrsCSS https://assets.aiwebextensions.com/styles/rising-stars/dist/white.min.css?v=3289404#sha256-tOOIvIe6O5/x2A5E7s9kP4+zw0d4EEDfRgXQLq2KwLs= +// @resource brpCSS https://assets.aiwebextensions.com/styles/rising-particles/dist/black.min.css?v=727feff#sha256-7ycEGqwB5zKKoaW3olhaFP8yj0KEXe+Ks2kS/4iRGZM= +// @resource wrpCSS https://assets.aiwebextensions.com/styles/rising-particles/dist/white.min.css?v=727feff#sha256-6xBXczm7yM1MZ/v0o1KVFfJGehHk47KJjq8oTktH4KE= // @grant GM_setValue // @grant GM_getValue // @grant GM_registerMenuCommand @@ -533,7 +533,7 @@ alert(title = '', msg = '', btns = '', checkbox = '', width = '') { // generic one from chatgpt.alert() const alertID = chatgpt.alert(title, msg, btns, checkbox, width), alert = document.getElementById(alertID).firstChild - this.init(alert) // add classes + starry bg + this.init(alert) // add classes + rising particles bg return alert }, @@ -541,14 +541,14 @@ const modal = modalSubType ? this[modalType][modalSubType]() : this[modalType]() // show modal if (!modal) return // since no div returned this.stack.unshift(modalSubType ? `${modalType}_${modalSubType}` : modalType) // add to stack - this.init(modal) // add classes + starry bg + this.init(modal) // add classes + rising particles bg this.observeRemoval(modal, modalType, modalSubType) // to maintain stack for proper nav }, init(modal) { if (!this.styles) this.stylize() // to init/append stylesheet modal.classList.add('no-user-select', this.class) ; modal.parentNode.classList.add(`${this.class}-bg`) - fillStarryBG(modal) // add starry bg + addRisingParticles(modal) }, stylize() { @@ -787,18 +787,18 @@ return style } - function fillStarryBG(targetNode) { // requires https://assets.aiwebextensions.com/styles/rising-stars/css/.min.css - if (targetNode.querySelector('[id*=stars]')) return - const starsDivsContainer = document.createElement('div') - starsDivsContainer.style.cssText = 'position: absolute ; top: 0 ; left: 0 ;' // hug targetNode's top-left corner + function addRisingParticles(targetNode) { // requires https://assets.aiwebextensions.com/styles/rising-particles/dist/.min.css + if (targetNode.querySelector('[id*=particles]')) return + const particlesDivsContainer = document.createElement('div') + particlesDivsContainer.style.cssText = 'position: absolute ; top: 0 ; left: 0 ;' // hug targetNode's top-left corner + 'height: 100% ; width: 100% ; border-radius: 15px ; overflow: clip ;' // bound innards exactly by targetNode + 'z-index: -1'; // allow interactive elems to be clicked - ['sm', 'med', 'lg'].forEach(starSize => { - const starsDiv = document.createElement('div') - starsDiv.id = `${ env.ui.scheme == 'dark' ? 'white' : 'black' }-stars-${starSize}` - starsDivsContainer.append(starsDiv) + ['sm', 'med', 'lg'].forEach(particleSize => { + const particlesDiv = document.createElement('div') + particlesDiv.id = `${ env.ui.scheme == 'dark' ? 'white' : 'black' }-particles-${particleSize}` + particlesDivsContainer.append(particlesDiv) }) - targetNode.prepend(starsDivsContainer) + targetNode.prepend(particlesDivsContainer) } const toggles = { @@ -949,8 +949,8 @@ await chatgpt.sidebar.isLoaded() env.ui.firstLink = chatgpt.getNewChatLink(); - // Add STARS styles - ['brs', 'wrs'].forEach(cssType => document.head.append(createStyle(GM_getResourceText(`${cssType}CSS`)))) + // Add RISING PARTICLES styles + ['brp', 'wrp'].forEach(cssType => document.head.append(createStyle(GM_getResourceText(`${cssType}CSS`)))) toggles.sidebar.insert() diff --git a/chatgpt-auto-talk/greasemonkey/chatgpt-auto-talk.user.js b/chatgpt-auto-talk/greasemonkey/chatgpt-auto-talk.user.js index 2a601cfcc..15b7a711d 100644 --- a/chatgpt-auto-talk/greasemonkey/chatgpt-auto-talk.user.js +++ b/chatgpt-auto-talk/greasemonkey/chatgpt-auto-talk.user.js @@ -225,7 +225,7 @@ // @description:zu Dlala izimpendulo ze-ChatGPT ngokuzenzakalela // @author Adam Lui // @namespace https://github.com/adamlui -// @version 2025.1.29.5 +// @version 2025.1.29.6 // @license MIT // @icon https://assets.chatgptautotalk.com/images/icons/openai/black/icon48.png?v=9f1ed3c // @icon64 https://assets.chatgptautotalk.com/images/icons/openai/black/icon64.png?v=9f1ed3c @@ -234,8 +234,8 @@ // @connect gm.chatgptautotalk.com // @connect raw.githubusercontent.com // @require https://cdn.jsdelivr.net/npm/@kudoai/chatgpt.js@3.5.0/dist/chatgpt.min.js#sha256-+C0x4BOFQc38aZB3pvUC2THu+ZSvuCxRphGdtRLjCDg= -// @resource brsCSS https://assets.aiwebextensions.com/styles/rising-stars/dist/black.min.css?v=3289404#sha256-CTj6Ndngq+TsPlNpQ6Ej39PQKSDpmxyKUFohhc91ruQ= -// @resource wrsCSS https://assets.aiwebextensions.com/styles/rising-stars/dist/white.min.css?v=3289404#sha256-tOOIvIe6O5/x2A5E7s9kP4+zw0d4EEDfRgXQLq2KwLs= +// @resource brpCSS https://assets.aiwebextensions.com/styles/rising-particles/dist/black.min.css?v=727feff#sha256-7ycEGqwB5zKKoaW3olhaFP8yj0KEXe+Ks2kS/4iRGZM= +// @resource wrpCSS https://assets.aiwebextensions.com/styles/rising-particles/dist/white.min.css?v=727feff#sha256-6xBXczm7yM1MZ/v0o1KVFfJGehHk47KJjq8oTktH4KE= // @grant GM_setValue // @grant GM_getValue // @grant GM_registerMenuCommand @@ -485,7 +485,7 @@ alert(title = '', msg = '', btns = '', checkbox = '', width = '') { // generic one from chatgpt.alert() const alertID = chatgpt.alert(title, msg, btns, checkbox, width), alert = document.getElementById(alertID).firstChild - this.init(alert) // add classes + starry bg + this.init(alert) // add classes + rising particles bg return alert }, @@ -493,14 +493,14 @@ const modal = modalSubType ? this[modalType][modalSubType]() : this[modalType]() // show modal if (!modal) return // since no div returned this.stack.unshift(modalSubType ? `${modalType}_${modalSubType}` : modalType) // add to stack - this.init(modal) // add classes + starry bg + this.init(modal) // add classes + rising particles bg this.observeRemoval(modal, modalType, modalSubType) // to maintain stack for proper nav }, init(modal) { if (!this.styles) this.stylize() // to init/append stylesheet modal.classList.add('no-user-select', this.class) ; modal.parentNode.classList.add(`${this.class}-bg`) - fillStarryBG(modal) // add starry bg + addRisingParticles(modal) }, stylize() { @@ -738,18 +738,18 @@ return style } - function fillStarryBG(targetNode) { // requires https://assets.aiwebextensions.com/styles/rising-stars/css/.min.css - if (targetNode.querySelector('[id*=stars]')) return - const starsDivsContainer = document.createElement('div') - starsDivsContainer.style.cssText = 'position: absolute ; top: 0 ; left: 0 ;' // hug targetNode's top-left corner + function addRisingParticles(targetNode) { // requires https://assets.aiwebextensions.com/styles/rising-particles/dist/.min.css + if (targetNode.querySelector('[id*=particles]')) return + const particlesDivsContainer = document.createElement('div') + particlesDivsContainer.style.cssText = 'position: absolute ; top: 0 ; left: 0 ;' // hug targetNode's top-left corner + 'height: 100% ; width: 100% ; border-radius: 15px ; overflow: clip ;' // bound innards exactly by targetNode + 'z-index: -1'; // allow interactive elems to be clicked - ['sm', 'med', 'lg'].forEach(starSize => { - const starsDiv = document.createElement('div') - starsDiv.id = `${ env.ui.scheme == 'dark' ? 'white' : 'black' }-stars-${starSize}` - starsDivsContainer.append(starsDiv) + ['sm', 'med', 'lg'].forEach(particleSize => { + const particlesDiv = document.createElement('div') + particlesDiv.id = `${ env.ui.scheme == 'dark' ? 'white' : 'black' }-particles-${particleSize}` + particlesDivsContainer.append(particlesDiv) }) - targetNode.prepend(starsDivsContainer) + targetNode.prepend(particlesDivsContainer) } const toggles = { @@ -894,8 +894,8 @@ await chatgpt.sidebar.isLoaded() env.ui.firstLink = chatgpt.getNewChatLink(); - // Add STARS styles - ['brs', 'wrs'].forEach(cssType => document.head.append(createStyle(GM_getResourceText(`${cssType}CSS`)))) + // Add RISING PARTICLES styles + ['brp', 'wrp'].forEach(cssType => document.head.append(createStyle(GM_getResourceText(`${cssType}CSS`)))) toggles.sidebar.insert() diff --git a/chatgpt-infinity/chromium/extension/components/modals.js b/chatgpt-infinity/chromium/extension/components/modals.js index af9a69e29..719fa1420 100644 --- a/chatgpt-infinity/chromium/extension/components/modals.js +++ b/chatgpt-infinity/chromium/extension/components/modals.js @@ -25,7 +25,7 @@ window.modals = { alert(title = '', msg = '', btns = '', checkbox = '', width = '') { // generic one from chatgpt.alert() const alertID = chatgpt.alert(title, msg, btns, checkbox, width), alert = document.getElementById(alertID).firstChild - this.init(alert) // add classes + starry bg + this.init(alert) // add classes + rising particles bg return alert }, @@ -33,14 +33,14 @@ window.modals = { const modal = modalSubType ? this[modalType][modalSubType]() : this[modalType]() // show modal if (!modal) return // since no div returned this.stack.unshift(modalSubType ? `${modalType}_${modalSubType}` : modalType) // add to stack - this.init(modal) // add classes + starry bg + this.init(modal) // add classes + rising particles bg this.observeRemoval(modal, modalType, modalSubType) // to maintain stack for proper nav }, init(modal) { if (!this.styles) this.stylize() // to init/append stylesheet modal.classList.add('no-user-select', this.class) ; modal.parentNode.classList.add(`${this.class}-bg`) - dom.fillStarryBG(modal) // add starry bg + dom.addRisingParticles(modal) }, stylize() { diff --git a/chatgpt-infinity/chromium/extension/content.js b/chatgpt-infinity/chromium/extension/content.js index 646089899..739956925 100644 --- a/chatgpt-infinity/chromium/extension/content.js +++ b/chatgpt-infinity/chromium/extension/content.js @@ -160,11 +160,11 @@ settings.save('infinityMode', false) ; syncConfigToUI({ updatedKey: 'infinityMode' }) } } - // Add STARS styles + // Add RISING PARTICLES styles ['black', 'white'].forEach(color => document.head.append( dom.create.elem('link', { rel: 'stylesheet', - href: `https://assets.aiwebextensions.com/styles/rising-stars/dist/${ - color}.min.css?v=0cde30f9ae3ce99ae998141f6e7a36de9b0cc2e7` + href: `https://assets.aiwebextensions.com/styles/rising-particles/dist/${ + color}.min.css?v=727feff` }))) toggles.imports.import({ app, env, notify, syncConfigToUI }) diff --git a/chatgpt-infinity/chromium/extension/lib/dom.js b/chatgpt-infinity/chromium/extension/lib/dom.js index be524527f..70e3321cc 100644 --- a/chatgpt-infinity/chromium/extension/lib/dom.js +++ b/chatgpt-infinity/chromium/extension/lib/dom.js @@ -25,17 +25,17 @@ window.dom = { } }, - fillStarryBG(targetNode) { // requires https://assets.aiwebextensions.com/styles/rising-stars/css/.min.css - if (targetNode.querySelector('[id*=stars]')) return - const starsDivsContainer = document.createElement('div') - starsDivsContainer.style.cssText = 'position: absolute ; top: 0 ; left: 0 ;' // hug targetNode's top-left corner + addRisingParticles(targetNode) { // requires https://assets.aiwebextensions.com/styles/rising-particles/dist/.min.css + if (targetNode.querySelector('[id*=particles]')) return + const particlesDivsContainer = document.createElement('div') + particlesDivsContainer.style.cssText = 'position: absolute ; top: 0 ; left: 0 ;' // hug targetNode's top-left corner + 'height: 100% ; width: 100% ; border-radius: 15px ; overflow: clip ;' // bound innards exactly by targetNode + 'z-index: -1'; // allow interactive elems to be clicked - ['sm', 'med', 'lg'].forEach(starSize => { - const starsDiv = document.createElement('div') - starsDiv.id = `${ this.imports.env.ui.scheme == 'dark' ? 'white' : 'black' }-stars-${starSize}` - starsDivsContainer.append(starsDiv) + ['sm', 'med', 'lg'].forEach(particleSize => { + const particlesDiv = document.createElement('div') + particlesDiv.id = `${ this.imports.env.ui.scheme == 'dark' ? 'white' : 'black' }-particles-${particleSize}` + particlesDivsContainer.append(particlesDiv) }) - targetNode.prepend(starsDivsContainer) + targetNode.prepend(particlesDivsContainer) } }; diff --git a/chatgpt-infinity/firefox/extension/components/modals.js b/chatgpt-infinity/firefox/extension/components/modals.js index af9a69e29..719fa1420 100644 --- a/chatgpt-infinity/firefox/extension/components/modals.js +++ b/chatgpt-infinity/firefox/extension/components/modals.js @@ -25,7 +25,7 @@ window.modals = { alert(title = '', msg = '', btns = '', checkbox = '', width = '') { // generic one from chatgpt.alert() const alertID = chatgpt.alert(title, msg, btns, checkbox, width), alert = document.getElementById(alertID).firstChild - this.init(alert) // add classes + starry bg + this.init(alert) // add classes + rising particles bg return alert }, @@ -33,14 +33,14 @@ window.modals = { const modal = modalSubType ? this[modalType][modalSubType]() : this[modalType]() // show modal if (!modal) return // since no div returned this.stack.unshift(modalSubType ? `${modalType}_${modalSubType}` : modalType) // add to stack - this.init(modal) // add classes + starry bg + this.init(modal) // add classes + rising particles bg this.observeRemoval(modal, modalType, modalSubType) // to maintain stack for proper nav }, init(modal) { if (!this.styles) this.stylize() // to init/append stylesheet modal.classList.add('no-user-select', this.class) ; modal.parentNode.classList.add(`${this.class}-bg`) - dom.fillStarryBG(modal) // add starry bg + dom.addRisingParticles(modal) }, stylize() { diff --git a/chatgpt-infinity/firefox/extension/content.js b/chatgpt-infinity/firefox/extension/content.js index 6b80fe525..78bc50d9c 100644 --- a/chatgpt-infinity/firefox/extension/content.js +++ b/chatgpt-infinity/firefox/extension/content.js @@ -163,11 +163,11 @@ settings.save('infinityMode', false) ; syncConfigToUI({ updatedKey: 'infinityMode' }) } } - // Add STARS styles + // Add RISING PARTICLES styles ['black', 'white'].forEach(color => document.head.append( dom.create.elem('link', { rel: 'stylesheet', - href: `https://assets.aiwebextensions.com/styles/rising-stars/dist/${ - color}.min.css?v=0cde30f9ae3ce99ae998141f6e7a36de9b0cc2e7` + href: `https://assets.aiwebextensions.com/styles/rising-particles/dist/${ + color}.min.css?v=727feff` }))) toggles.imports.import({ app, env, notify, syncConfigToUI }) diff --git a/chatgpt-infinity/firefox/extension/lib/dom.js b/chatgpt-infinity/firefox/extension/lib/dom.js index be524527f..70e3321cc 100644 --- a/chatgpt-infinity/firefox/extension/lib/dom.js +++ b/chatgpt-infinity/firefox/extension/lib/dom.js @@ -25,17 +25,17 @@ window.dom = { } }, - fillStarryBG(targetNode) { // requires https://assets.aiwebextensions.com/styles/rising-stars/css/.min.css - if (targetNode.querySelector('[id*=stars]')) return - const starsDivsContainer = document.createElement('div') - starsDivsContainer.style.cssText = 'position: absolute ; top: 0 ; left: 0 ;' // hug targetNode's top-left corner + addRisingParticles(targetNode) { // requires https://assets.aiwebextensions.com/styles/rising-particles/dist/.min.css + if (targetNode.querySelector('[id*=particles]')) return + const particlesDivsContainer = document.createElement('div') + particlesDivsContainer.style.cssText = 'position: absolute ; top: 0 ; left: 0 ;' // hug targetNode's top-left corner + 'height: 100% ; width: 100% ; border-radius: 15px ; overflow: clip ;' // bound innards exactly by targetNode + 'z-index: -1'; // allow interactive elems to be clicked - ['sm', 'med', 'lg'].forEach(starSize => { - const starsDiv = document.createElement('div') - starsDiv.id = `${ this.imports.env.ui.scheme == 'dark' ? 'white' : 'black' }-stars-${starSize}` - starsDivsContainer.append(starsDiv) + ['sm', 'med', 'lg'].forEach(particleSize => { + const particlesDiv = document.createElement('div') + particlesDiv.id = `${ this.imports.env.ui.scheme == 'dark' ? 'white' : 'black' }-particles-${particleSize}` + particlesDivsContainer.append(particlesDiv) }) - targetNode.prepend(starsDivsContainer) + targetNode.prepend(particlesDivsContainer) } }; diff --git a/chatgpt-infinity/greasemonkey/chatgpt-infinity.user.js b/chatgpt-infinity/greasemonkey/chatgpt-infinity.user.js index 0daf845fa..8a2e58377 100644 --- a/chatgpt-infinity/greasemonkey/chatgpt-infinity.user.js +++ b/chatgpt-infinity/greasemonkey/chatgpt-infinity.user.js @@ -199,7 +199,7 @@ // @description:zh-TW 從無所不知的 ChatGPT 生成無窮無盡的答案 (用任何語言!) // @author Adam Lui // @namespace https://github.com/adamlui -// @version 2025.1.29.2 +// @version 2025.1.29.3 // @license MIT // @icon https://assets.chatgptinfinity.com/images/icons/infinity-symbol/circled/with-robot/icon48.png?v=69e434b // @icon64 https://assets.chatgptinfinity.com/images/icons/infinity-symbol/circled/with-robot/icon64.png?v=69e434b @@ -224,8 +224,8 @@ // @require https://cdn.jsdelivr.net/gh/adamlui/chatgpt-infinity@1438758/chromium/extension/components/toggles.js#sha256-YZsynLs9DNIneWimQgR3vRLTXIaTvXKpHYRAGv5c/i8= // @require https://cdn.jsdelivr.net/gh/adamlui/chatgpt-infinity@8a547fc/chromium/extension/lib/dom.js#sha256-x42VLAXHPZdt08Dp23Oo7AWqCRsK4EgfBEX3B1dyW4w= // @require https://cdn.jsdelivr.net/gh/adamlui/chatgpt-infinity@4586ca9/chromium/extension/lib/settings.js#sha256-3uj1yPXTh/zZd4pHvMzOznvL5dr00fREbmJe2b5VKkQ= -// @resource brsCSS https://assets.aiwebextensions.com/styles/rising-stars/dist/black.min.css?v=3289404#sha256-CTj6Ndngq+TsPlNpQ6Ej39PQKSDpmxyKUFohhc91ruQ= -// @resource wrsCSS https://assets.aiwebextensions.com/styles/rising-stars/dist/white.min.css?v=3289404#sha256-tOOIvIe6O5/x2A5E7s9kP4+zw0d4EEDfRgXQLq2KwLs= +// @resource brpCSS https://assets.aiwebextensions.com/styles/rising-particles/dist/black.min.css?v=727feff#sha256-7ycEGqwB5zKKoaW3olhaFP8yj0KEXe+Ks2kS/4iRGZM= +// @resource wrpCSS https://assets.aiwebextensions.com/styles/rising-particles/dist/white.min.css?v=727feff#sha256-6xBXczm7yM1MZ/v0o1KVFfJGehHk47KJjq8oTktH4KE= // @grant GM_setValue // @grant GM_getValue // @grant GM_registerMenuCommand @@ -639,8 +639,8 @@ settings.save('infinityMode', false) ; syncConfigToUI({ updatedKey: 'infinityMode' }) } } - // Add STARS styles - ['brs', 'wrs'].forEach(cssType => document.head.append(dom.create.style(GM_getResourceText(`${cssType}CSS`)))) + // Add RISING PARTICLES styles + ['brp', 'wrp'].forEach(cssType => document.head.append(dom.create.style(GM_getResourceText(`${cssType}CSS`)))) toggles.imports.import({ app, env, notify, syncConfigToUI }) toggles.sidebar.insert() diff --git a/chatgpt-infinity/utils/bump/resources.js b/chatgpt-infinity/utils/bump/resources.js index 1051407c6..91dc79161 100644 --- a/chatgpt-infinity/utils/bump/resources.js +++ b/chatgpt-infinity/utils/bump/resources.js @@ -1,6 +1,6 @@ #!/usr/bin/env node -// Bumps @require'd JS + rising-stars CSS @resource's in userscript +// Bumps @require'd JS + rising-particles CSS @resource's in userscript // NOTE: Doesn't git commit to allow script editing from breaking changes (async () => { @@ -111,10 +111,11 @@ const resURLs = [...userJScontent.matchAll(reResURL)].map(match => match[1] || match[2]) log.success(`${resURLs.length} potentially bumpable resource(s) found.`) - // Fetch latest commit hash for adamlui/ai-web-extensions/assets/styles/rising-stars - const risingStarsPath = 'assets/styles/rising-stars' - log.working(`\nFetching latest commit hash for ${risingStarsPath}...\n`) - const latestCommitHashes = { risingStars: await getLatestCommitHash('adamlui/ai-web-extensions', risingStarsPath) } + // Fetch latest commit hash for adamlui/ai-web-extensions/assets/styles/rising-particles + const risingParticlesPath = 'assets/styles/rising-particles' + log.working(`\nFetching latest commit hash for ${risingParticlesPath}...\n`) + const latestCommitHashes = { + risingParticles: await getLatestCommitHash('adamlui/ai-web-extensions', risingParticlesPath) } log.working('\nProcessing resource(s)...\n') let urlsUpdatedCnt = 0 @@ -131,7 +132,7 @@ const resName = rePatterns.resName.exec(resURL)?.[0] || 'resource' // dir/filename for logs // Compare/update commit hash - let resLatestCommitHash = latestCommitHashes[resURL.includes(repoName) ? 'chromium' : 'risingStars'] + let resLatestCommitHash = latestCommitHashes[resURL.includes(repoName) ? 'chromium' : 'risingParticles'] if (resLatestCommitHash.startsWith( // compare hashes rePatterns.commitHash.exec(resURL)?.[2] || '')) { // commit hash didn't change... console.log(`${resName} already up-to-date!`) ; log.endedWithLineBreak = false diff --git a/chatgpt-widescreen/chromium/extension/components/modals.js b/chatgpt-widescreen/chromium/extension/components/modals.js index f7a66d1e0..7bc3b98fd 100644 --- a/chatgpt-widescreen/chromium/extension/components/modals.js +++ b/chatgpt-widescreen/chromium/extension/components/modals.js @@ -25,7 +25,7 @@ window.modals = { alert(title = '', msg = '', btns = '', checkbox = '', width = '') { // generic one from chatgpt.alert() const alertID = chatgpt.alert(title, msg, btns, checkbox, width), alert = document.getElementById(alertID).firstChild - this.init(alert) // add classes + starry bg + this.init(alert) // add classes + rising particles bg return alert }, @@ -33,14 +33,14 @@ window.modals = { const modal = modalSubType ? this[modalType][modalSubType]() : this[modalType]() // show modal if (!modal) return // since no div returned this.stack.unshift(modalSubType ? `${modalType}_${modalSubType}` : modalType) // add to stack - this.init(modal) // add classes + starry bg + this.init(modal) // add classes + rising particles bg this.observeRemoval(modal, modalType, modalSubType) // to maintain stack for proper nav }, init(modal) { if (!this.styles) this.stylize() // to init/append stylesheet modal.classList.add('no-user-select', this.class) ; modal.parentNode.classList.add(`${this.class}-bg`) - dom.fillStarryBG(modal) // add starry bg + dom.addRisingParticles(modal) }, stylize() { diff --git a/chatgpt-widescreen/chromium/extension/content.js b/chatgpt-widescreen/chromium/extension/content.js index 0c4936f9b..6174aa2e6 100644 --- a/chatgpt-widescreen/chromium/extension/content.js +++ b/chatgpt-widescreen/chromium/extension/content.js @@ -353,11 +353,11 @@ update.style.tweaks() ; document.head.append(tweaksStyle); - // Add STARS styles + // Add RISING PARTICLES styles ['black', 'white'].forEach(color => document.head.append( dom.create.elem('link', { rel: 'stylesheet', - href: `https://assets.aiwebextensions.com/styles/rising-stars/dist/${ - color}.min.css?v=0cde30f9ae3ce99ae998141f6e7a36de9b0cc2e7` + href: `https://assets.aiwebextensions.com/styles/rising-particles/dist/${ + color}.min.css?v=727feff` }))) // Create WIDESCREEN style diff --git a/chatgpt-widescreen/chromium/extension/lib/dom.js b/chatgpt-widescreen/chromium/extension/lib/dom.js index 3049e1528..c12c22a6f 100644 --- a/chatgpt-widescreen/chromium/extension/lib/dom.js +++ b/chatgpt-widescreen/chromium/extension/lib/dom.js @@ -31,18 +31,18 @@ window.dom = { .replace(/^| /g, '.') // prefix w/ dot, convert spaces to dots }, - fillStarryBG(targetNode) { // requires https://assets.aiwebextensions.com/styles/rising-stars/css/.min.css - if (targetNode.querySelector('[id*=stars]')) return - const starsDivsContainer = document.createElement('div') - starsDivsContainer.style.cssText = 'position: absolute ; top: 0 ; left: 0 ;' // hug targetNode's top-left corner + addRisingParticles(targetNode) { // requires https://assets.aiwebextensions.com/styles/rising-particles/dist/.min.css + if (targetNode.querySelector('[id*=particles]')) return + const particlesDivsContainer = document.createElement('div') + particlesDivsContainer.style.cssText = 'position: absolute ; top: 0 ; left: 0 ;' // hug targetNode's top-left corner + 'height: 100% ; width: 100% ; border-radius: 15px ; overflow: clip ;' // bound innards exactly by targetNode + 'z-index: -1'; // allow interactive elems to be clicked - ['sm', 'med', 'lg'].forEach(starSize => { - const starsDiv = document.createElement('div') - starsDiv.id = `${ this.imports.env.ui.scheme == 'dark' ? 'white' : 'black' }-stars-${starSize}` - starsDivsContainer.append(starsDiv) + ['sm', 'med', 'lg'].forEach(particleSize => { + const particlesDiv = document.createElement('div') + particlesDiv.id = `${ this.imports.env.ui.scheme == 'dark' ? 'white' : 'black' }-particles-${particleSize}` + particlesDivsContainer.append(particlesDiv) }) - targetNode.prepend(starsDivsContainer) + targetNode.prepend(particlesDivsContainer) }, getLoadedElem(selector, timeout = null) { diff --git a/chatgpt-widescreen/firefox/extension/components/modals.js b/chatgpt-widescreen/firefox/extension/components/modals.js index f7a66d1e0..7bc3b98fd 100644 --- a/chatgpt-widescreen/firefox/extension/components/modals.js +++ b/chatgpt-widescreen/firefox/extension/components/modals.js @@ -25,7 +25,7 @@ window.modals = { alert(title = '', msg = '', btns = '', checkbox = '', width = '') { // generic one from chatgpt.alert() const alertID = chatgpt.alert(title, msg, btns, checkbox, width), alert = document.getElementById(alertID).firstChild - this.init(alert) // add classes + starry bg + this.init(alert) // add classes + rising particles bg return alert }, @@ -33,14 +33,14 @@ window.modals = { const modal = modalSubType ? this[modalType][modalSubType]() : this[modalType]() // show modal if (!modal) return // since no div returned this.stack.unshift(modalSubType ? `${modalType}_${modalSubType}` : modalType) // add to stack - this.init(modal) // add classes + starry bg + this.init(modal) // add classes + rising particles bg this.observeRemoval(modal, modalType, modalSubType) // to maintain stack for proper nav }, init(modal) { if (!this.styles) this.stylize() // to init/append stylesheet modal.classList.add('no-user-select', this.class) ; modal.parentNode.classList.add(`${this.class}-bg`) - dom.fillStarryBG(modal) // add starry bg + dom.addRisingParticles(modal) }, stylize() { diff --git a/chatgpt-widescreen/firefox/extension/content.js b/chatgpt-widescreen/firefox/extension/content.js index 0c4936f9b..6174aa2e6 100644 --- a/chatgpt-widescreen/firefox/extension/content.js +++ b/chatgpt-widescreen/firefox/extension/content.js @@ -353,11 +353,11 @@ update.style.tweaks() ; document.head.append(tweaksStyle); - // Add STARS styles + // Add RISING PARTICLES styles ['black', 'white'].forEach(color => document.head.append( dom.create.elem('link', { rel: 'stylesheet', - href: `https://assets.aiwebextensions.com/styles/rising-stars/dist/${ - color}.min.css?v=0cde30f9ae3ce99ae998141f6e7a36de9b0cc2e7` + href: `https://assets.aiwebextensions.com/styles/rising-particles/dist/${ + color}.min.css?v=727feff` }))) // Create WIDESCREEN style diff --git a/chatgpt-widescreen/firefox/extension/lib/dom.js b/chatgpt-widescreen/firefox/extension/lib/dom.js index 3049e1528..c12c22a6f 100644 --- a/chatgpt-widescreen/firefox/extension/lib/dom.js +++ b/chatgpt-widescreen/firefox/extension/lib/dom.js @@ -31,18 +31,18 @@ window.dom = { .replace(/^| /g, '.') // prefix w/ dot, convert spaces to dots }, - fillStarryBG(targetNode) { // requires https://assets.aiwebextensions.com/styles/rising-stars/css/.min.css - if (targetNode.querySelector('[id*=stars]')) return - const starsDivsContainer = document.createElement('div') - starsDivsContainer.style.cssText = 'position: absolute ; top: 0 ; left: 0 ;' // hug targetNode's top-left corner + addRisingParticles(targetNode) { // requires https://assets.aiwebextensions.com/styles/rising-particles/dist/.min.css + if (targetNode.querySelector('[id*=particles]')) return + const particlesDivsContainer = document.createElement('div') + particlesDivsContainer.style.cssText = 'position: absolute ; top: 0 ; left: 0 ;' // hug targetNode's top-left corner + 'height: 100% ; width: 100% ; border-radius: 15px ; overflow: clip ;' // bound innards exactly by targetNode + 'z-index: -1'; // allow interactive elems to be clicked - ['sm', 'med', 'lg'].forEach(starSize => { - const starsDiv = document.createElement('div') - starsDiv.id = `${ this.imports.env.ui.scheme == 'dark' ? 'white' : 'black' }-stars-${starSize}` - starsDivsContainer.append(starsDiv) + ['sm', 'med', 'lg'].forEach(particleSize => { + const particlesDiv = document.createElement('div') + particlesDiv.id = `${ this.imports.env.ui.scheme == 'dark' ? 'white' : 'black' }-particles-${particleSize}` + particlesDivsContainer.append(particlesDiv) }) - targetNode.prepend(starsDivsContainer) + targetNode.prepend(particlesDivsContainer) }, getLoadedElem(selector, timeout = null) { diff --git a/chatgpt-widescreen/greasemonkey/chatgpt-widescreen-mode.user.js b/chatgpt-widescreen/greasemonkey/chatgpt-widescreen-mode.user.js index 2f7ff2680..e3b16ab72 100644 --- a/chatgpt-widescreen/greasemonkey/chatgpt-widescreen-mode.user.js +++ b/chatgpt-widescreen/greasemonkey/chatgpt-widescreen-mode.user.js @@ -235,7 +235,7 @@ // @description:zu Thuthukisa iChatGPT ngemodi zesikrini ezibanzi/egcwele/ephezulu + imodi yokuvimbela i-spam. Futhi isebenza ku-perplexity.ai + poe.com! // @author Adam Lui // @namespace https://github.com/adamlui -// @version 2025.1.29.1 +// @version 2025.1.29.2 // @license MIT // @icon https://assets.chatgptwidescreen.com/images/icons/widescreen-robot-emoji/icon48.png?v=844b16e // @icon64 https://assets.chatgptwidescreen.com/images/icons/widescreen-robot-emoji/icon64.png?v=844b16e @@ -259,8 +259,8 @@ // @require https://cdn.jsdelivr.net/gh/adamlui/chatgpt-widescreen@bbd0ea4/chromium/extension/lib/settings.js#sha256-zmX98Pku2DFY9SI0KBy6Ix6lUJIh8FNtqbAO8nnFE6k= // @require https://cdn.jsdelivr.net/gh/adamlui/chatgpt-widescreen@bbd0ea4/chromium/extension/components/buttons.js#sha256-cf8uqPcLdpEPM21OSeh2Xj2mi987eeGtg+wXR1EmHlI= // @require https://cdn.jsdelivr.net/gh/adamlui/chatgpt-widescreen@6fc65c4/chromium/extension/components/modals.js#sha256-qQtlKpnAqUAwoTAxVtKStahUlbwcDYrqTBbfYfqOIzc= -// @resource brsCSS https://assets.aiwebextensions.com/styles/rising-stars/dist/black.min.css?v=3289404#sha256-CTj6Ndngq+TsPlNpQ6Ej39PQKSDpmxyKUFohhc91ruQ= -// @resource wrsCSS https://assets.aiwebextensions.com/styles/rising-stars/dist/white.min.css?v=3289404#sha256-tOOIvIe6O5/x2A5E7s9kP4+zw0d4EEDfRgXQLq2KwLs= +// @resource brpCSS https://assets.aiwebextensions.com/styles/rising-particles/dist/black.min.css?v=727feff#sha256-7ycEGqwB5zKKoaW3olhaFP8yj0KEXe+Ks2kS/4iRGZM= +// @resource wrpCSS https://assets.aiwebextensions.com/styles/rising-particles/dist/white.min.css?v=727feff#sha256-6xBXczm7yM1MZ/v0o1KVFfJGehHk47KJjq8oTktH4KE= // @grant GM_setValue // @grant GM_getValue // @grant GM_registerMenuCommand @@ -791,8 +791,8 @@ update.style.tweaks() ; document.head.append(tweaksStyle); - // Add STARS styles - ['brs', 'wrs'].forEach(cssType => document.head.append(dom.create.style(GM_getResourceText(`${cssType}CSS`)))) + // Add RISING PARTICLES styles + ['brp', 'wrp'].forEach(cssType => document.head.append(dom.create.style(GM_getResourceText(`${cssType}CSS`)))) // Create WIDESCREEN style const wideScreenStyle = dom.create.style() diff --git a/chatgpt-widescreen/utils/bump/resources.js b/chatgpt-widescreen/utils/bump/resources.js index 6a6891469..f198106bf 100644 --- a/chatgpt-widescreen/utils/bump/resources.js +++ b/chatgpt-widescreen/utils/bump/resources.js @@ -1,6 +1,6 @@ #!/usr/bin/env node -// Bumps @require'd JS + rising-stars CSS @resource's in userscript +// Bumps @require'd JS + rising-particles CSS @resource's in userscript // NOTE: Doesn't git commit to allow script editing from breaking changes (async () => { @@ -107,10 +107,11 @@ const resURLs = [...userJScontent.matchAll(reResURL)].map(match => match[1] || match[2]) log.success(`${resURLs.length} potentially bumpable resource(s) found.`) - // Fetch latest commit hash for adamlui/ai-web-extensions/assets/styles/rising-stars - const risingStarsPath = 'assets/styles/rising-stars' - log.working(`\nFetching latest commit hash for ${risingStarsPath}...\n`) - const latestCommitHashes = { risingStars: await getLatestCommitHash('adamlui/ai-web-extensions', risingStarsPath) } + // Fetch latest commit hash for adamlui/ai-web-extensions/assets/styles/rising-particles + const risingParticlesPath = 'assets/styles/rising-particles' + log.working(`\nFetching latest commit hash for ${risingParticlesPath}...\n`) + const latestCommitHashes = { + risingParticles: await getLatestCommitHash('adamlui/ai-web-extensions', risingParticlesPath) } log.working('\nProcessing resource(s)...\n') let urlsUpdatedCnt = 0 @@ -127,7 +128,7 @@ const resName = rePatterns.resName.exec(resURL)?.[0] || 'resource' // dir/filename for logs // Compare/update commit hash - let resLatestCommitHash = latestCommitHashes[resURL.includes(repoName) ? 'chromium' : 'risingStars'] + let resLatestCommitHash = latestCommitHashes[resURL.includes(repoName) ? 'chromium' : 'risingParticles'] if (resLatestCommitHash.startsWith( // compare hashes rePatterns.commitHash.exec(resURL)?.[2] || '')) { // commit hash didn't change... console.log(`${resName} already up-to-date!`) ; log.endedWithLineBreak = false diff --git a/duckduckgpt/greasemonkey/duckduckgpt.user.js b/duckduckgpt/greasemonkey/duckduckgpt.user.js index ddfaa9c91..dbd354a81 100644 --- a/duckduckgpt/greasemonkey/duckduckgpt.user.js +++ b/duckduckgpt/greasemonkey/duckduckgpt.user.js @@ -148,7 +148,7 @@ // @description:zu Yengeza izimpendulo ze-AI ku-DuckDuckGo (inikwa amandla yi-GPT-4o!) // @author KudoAI // @namespace https://kudoai.com -// @version 2025.1.29.14 +// @version 2025.1.29.15 // @license MIT // @icon https://assets.ddgpt.com/images/icons/duckduckgpt/icon48.png?v=06af076 // @icon64 https://assets.ddgpt.com/images/icons/duckduckgpt/icon64.png?v=06af076 @@ -193,8 +193,8 @@ // @resource ddgptLSlogo https://assets.ddgpt.com/images/logos/duckduckgpt/lightmode/logo697x122.png.b64?v=8482c4b#sha256-7O4AxPinoZ6h36KHuJVa4vwfTEOYTwT+lKiDbf/jjkg= // @resource ddgptDSlogo https://assets.ddgpt.com/images/logos/duckduckgpt/darkmode/logo697x122.png.b64?v=8482c4b#sha256-lSd4M3RPT4+SjjBk8PKGFoyM9p3rZHgxt0NgoKqQkiM= // @resource hljsCSS https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/dark.min.css#sha256-v0N76BFFkH0dCB8bUr4cHSVN8A/zCaOopMuSmJWV/5w= -// @resource brsCSS https://assets.aiwebextensions.com/styles/rising-stars/dist/black.min.css?v=3289404#sha256-CTj6Ndngq+TsPlNpQ6Ej39PQKSDpmxyKUFohhc91ruQ= -// @resource wrsCSS https://assets.aiwebextensions.com/styles/rising-stars/dist/white.min.css?v=3289404#sha256-tOOIvIe6O5/x2A5E7s9kP4+zw0d4EEDfRgXQLq2KwLs= +// @resource brpCSS https://assets.aiwebextensions.com/styles/rising-particles/dist/black.min.css?v=727feff#sha256-7ycEGqwB5zKKoaW3olhaFP8yj0KEXe+Ks2kS/4iRGZM= +// @resource wrpCSS https://assets.aiwebextensions.com/styles/rising-particles/dist/white.min.css?v=727feff#sha256-6xBXczm7yM1MZ/v0o1KVFfJGehHk47KJjq8oTktH4KE= // @grant GM_getValue // @grant GM_setValue // @grant GM_deleteValue @@ -589,7 +589,7 @@ }}) // Export DEPENDENCIES to dom.js - dom.imports.import({ config, env }) // for config.bgAnimationsDisabled + env.ui.app.scheme in dom.fillStarryBg() + dom.imports.import({ config, env }) // for config.bgAnimationsDisabled + env.ui.app.scheme in dom.addRisingParticles() // Define MENU functions @@ -781,7 +781,7 @@ } // Hack BG - dom.fillStarryBG(modal) + dom.addRisingParticles(modal) setTimeout(() => { // dim bg modal.parentNode.style.backgroundColor = `rgba(67,70,72,${ env.ui.app.scheme == 'dark' ? 0.62 : 0.33 })` @@ -2048,7 +2048,7 @@ appBottomPos() { appDiv.style.bottom = `${ config.minimized ? 61 - appDiv.offsetHeight : -7 }px` }, appStyle() { - const isStarryDM = env.ui.app.scheme == 'dark' && !config.bgAnimationsDisabled + const isParticlizedDS = env.ui.app.scheme == 'dark' && !config.bgAnimationsDisabled modals.stylize() // update modal styles app.styles.innerText = ( ':root {' // vars @@ -2088,7 +2088,7 @@ + ( config.bgAnimationsDisabled ? // classic flat bg `background: var(--app-bg-color-${env.ui.app.scheme}-scheme) ;` + `color: var(--font-color-${env.ui.app.scheme}-scheme) ;` - : `background-image: linear-gradient(180deg, ${ // gradient bg to match stars + : `background-image: linear-gradient(180deg, ${ // gradient bg to match rising particles env.ui.app.scheme == 'dark' ? '#99a8a6 -245px, black 185px' : '#b6ebff -163px, white 65px' }) ;` ) + 'transition: var(--app-transition) ;' @@ -2160,8 +2160,8 @@ + `.${app.slug}-standby-btn {` + 'width: 100% ; margin: 9px 0 9px ; padding: 11px 0 ; cursor: pointer ;' + `background-color: #f0f0f0${ config.bgAnimationsDisabled ? '' : '00' };` - + `color: ${ isStarryDM ? 'white' : 'black' };` - + `border-radius: 4px ; border: 1px solid ${ isStarryDM ? '#fff' : '#888' };` + + `color: ${ isParticlizedDS ? 'white' : 'black' };` + + `border-radius: 4px ; border: 1px solid ${ isParticlizedDS ? '#fff' : '#888' };` + 'transition: var(--btn-transition) ;' + '-webkit-transition: var(--btn-transition) ; -moz-transition: var(--btn-transition) ;' + '-o-transition: var(--btn-transition) ; -ms-transition: var(--btn-transition) }' @@ -2175,7 +2175,7 @@ + 'float: left ; left: 9px ; margin: 33px -14px 0 0 ;' // positioning + 'border-bottom-style: solid ; border-bottom-width: 16px ; border-top: 0 ; border-bottom-color:' + `${ // hide reply tip for terminal aesthetic - isStarryDM ? '#0000' : `var(--pre-bg-color-${env.ui.app.scheme}-scheme)` }}` + isParticlizedDS ? '#0000' : `var(--pre-bg-color-${env.ui.app.scheme}-scheme)` }}` + `#${app.slug} pre { background-color: inherit }` // override DDG's unattractive thicc light border + `#${app.slug} > pre {` + `font-size: ${config.fontSize}px ; white-space: pre-wrap ; min-width: 0 ;` @@ -2478,15 +2478,15 @@ log.caller = `update.scheme('${newScheme}')` log.debug(`Updating ${app.name} scheme to ${log.toTitleCase(newScheme)}...`) env.ui.app.scheme = newScheme ; logos.ddgpt.update() ; update.appStyle() - update.stars() ; update.replyPrefix() ; toggle.btnGlow() ; modals.settings.updateSchemeStatus() + update.risingParticles() ; update.replyPrefix() ; toggle.btnGlow() ; modals.settings.updateSchemeStatus() log.debug(`Success! ${app.name} updated to ${log.toTitleCase(newScheme)} scheme`) }, - stars() { + risingParticles() { ['sm', 'med', 'lg'].forEach(size => - document.querySelectorAll(`[id*=stars-${size}]`).forEach(starsDiv => - starsDiv.id = config.bgAnimationsDisabled ? `stars-${size}-off` - : `${ env.ui.app.scheme == 'dark' ? 'white' : 'black' }-stars-${size}` + document.querySelectorAll(`[id*=particles-${size}]`).forEach(particlesDiv => + particlesDiv.id = config.bgAnimationsDisabled ? `particles-${size}-off` + : `${ env.ui.app.scheme == 'dark' ? 'white' : 'black' }-particles-${size}` )) } } @@ -2904,7 +2904,7 @@ animations(layer) { const configKey = `${layer}AnimationsDisabled` settings.save(configKey, !config[configKey]) - update.appStyle() ; if (layer == 'bg') { update.stars() ; update.replyPrefix() } + update.appStyle() ; if (layer == 'bg') { update.risingParticles() ; update.replyPrefix() } if (layer == 'fg' && modals.settings.get()) { // Toggle ticker-scroll of About status label @@ -3628,7 +3628,7 @@ // Build answer interface up to reply section if missing if (!appDiv.querySelector('pre')) { appDiv.textContent = '' - dom.fillStarryBG(appDiv) // add stars + dom.addRisingParticles(appDiv) // Create/append title const appHeaderLogo = logos.ddgpt.create() @@ -3919,7 +3919,7 @@ ['anchored', 'expanded', 'sticky', 'wider'].forEach(mode => (config[mode] || config[`${mode}Sidebar`]) && appDiv.classList.add(mode)) app.styles = dom.create.style() ; update.appStyle() ; document.head.append(app.styles); - ['brs', 'wrs', 'hljs'].forEach(cssType => // black rising stars, white rising stars, code highlighting + ['brp', 'wrp', 'hljs'].forEach(cssType => // black rising particles, white rising particles, code highlighting document.head.append(dom.create.style(GM_getResourceText(`${cssType}CSS`)))) // Create/stylize TOOLTIPs diff --git a/googlegpt/greasemonkey/googlegpt.user.js b/googlegpt/greasemonkey/googlegpt.user.js index 8407bbc00..b2ae1b792 100644 --- a/googlegpt/greasemonkey/googlegpt.user.js +++ b/googlegpt/greasemonkey/googlegpt.user.js @@ -149,7 +149,7 @@ // @description:zu Yengeza izimpendulo ze-AI ku-Google Search (inikwa amandla yi-Google Gemma + GPT-4o!) // @author KudoAI // @namespace https://kudoai.com -// @version 2025.1.29.14 +// @version 2025.1.29.15 // @license MIT // @icon https://assets.googlegpt.io/images/icons/googlegpt/black/icon48.png?v=59409b2 // @icon64 https://assets.googlegpt.io/images/icons/googlegpt/black/icon64.png?v=59409b2 @@ -384,8 +384,8 @@ // @resource ggptLSlogo https://assets.googlegpt.io/images/logos/googlegpt/flat/black-green/logo480x64.png.b64?v=9db3bda#sha256-fzSZhLVQQolCLWYr/h29NWfR1Yl4glHv1TcsveYYv+U= // @resource ggptDSlogo https://assets.googlegpt.io/images/logos/googlegpt/flat/white-green/logo480x64.png.b64?v=9db3bda#sha256-3qRdGKhF3pojDqVVh/5kODIg7QvYbbLf4zFkEh5xoGc= // @resource hljsCSS https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/dark.min.css#sha256-v0N76BFFkH0dCB8bUr4cHSVN8A/zCaOopMuSmJWV/5w= -// @resource brsCSS https://assets.aiwebextensions.com/styles/rising-stars/dist/black.min.css?v=3289404#sha256-CTj6Ndngq+TsPlNpQ6Ej39PQKSDpmxyKUFohhc91ruQ= -// @resource wrsCSS https://assets.aiwebextensions.com/styles/rising-stars/dist/white.min.css?v=3289404#sha256-tOOIvIe6O5/x2A5E7s9kP4+zw0d4EEDfRgXQLq2KwLs= +// @resource brpCSS https://assets.aiwebextensions.com/styles/rising-particles/dist/black.min.css?v=727feff#sha256-7ycEGqwB5zKKoaW3olhaFP8yj0KEXe+Ks2kS/4iRGZM= +// @resource wrpCSS https://assets.aiwebextensions.com/styles/rising-particles/dist/white.min.css?v=727feff#sha256-6xBXczm7yM1MZ/v0o1KVFfJGehHk47KJjq8oTktH4KE= // @grant GM_getValue // @grant GM_setValue // @grant GM_deleteValue @@ -771,7 +771,7 @@ }}) // Export DEPENDENCIES to dom.js - dom.imports.import({ config, env }) // for config.bgAnimationsDisabled + env.ui.app.scheme in dom.fillStarryBg() + dom.imports.import({ config, env }) // for config.bgAnimationsDisabled + env.ui.app.scheme in dom.addRisingParticles() // Define MENU functions @@ -964,7 +964,7 @@ } // Hack BG - dom.fillStarryBG(modal) + dom.addRisingParticles(modal) setTimeout(() => { // dim bg modal.parentNode.style.backgroundColor = `rgba(67,70,72,${ env.ui.app.scheme == 'dark' ? 0.62 : 0.33 })` @@ -2203,7 +2203,7 @@ appBottomPos() { appDiv.style.bottom = `${ config.minimized ? 35 - appDiv.offsetHeight : -33 }px` }, appStyle() { - const isStarryDM = env.ui.app.scheme == 'dark' && !config.bgAnimationsDisabled + const isParticlizedDS = env.ui.app.scheme == 'dark' && !config.bgAnimationsDisabled modals.stylize() // update modal styles app.styles.innerText = ( ':root {' // vars @@ -2250,7 +2250,7 @@ + ( config.bgAnimationsDisabled ? // classic flat bg `background: var(--app-bg-color-${env.ui.app.scheme}-scheme) ;` + `color: var(--font-color-${env.ui.app.scheme}-scheme) ;` - : `background-image: linear-gradient(180deg, ${ // gradient bg to match stars + : `background-image: linear-gradient(180deg, ${ // gradient bg to match rising particles env.ui.app.scheme == 'dark' ? '#99a8a6 -245px, black 185px' : '#b6ebff -163px, white 65px' }) ;` ) + 'transition: var(--app-transition) ;' @@ -2323,8 +2323,8 @@ + `.${app.slug}-standby-btn {` + 'width: 100% ; margin-top: 20px ; padding: 11px 0 ; cursor: pointer ;' + `background-color: #f0f0f0${ config.bgAnimationsDisabled ? '' : '00' };` - + `color: ${ isStarryDM ? 'white' : 'black' };` - + `border-radius: 4px ; border: 1px solid ${ isStarryDM ? '#fff' : '#888' };` + + `color: ${ isParticlizedDS ? 'white' : 'black' };` + + `border-radius: 4px ; border: 1px solid ${ isParticlizedDS ? '#fff' : '#888' };` + 'transition: var(--btn-transition) ;' + '-webkit-transition: var(--btn-transition) ; -moz-transition: var(--btn-transition) ;' + '-o-transition: var(--btn-transition) ; -ms-transition: var(--btn-transition) }' @@ -2339,7 +2339,7 @@ + `left: ${ env.browser.isMobile ? 12 : 6 }px ;` // positioning + 'border-bottom-style: solid ; border-bottom-width: 16px ; border-top: 0 ; border-bottom-color:' + `${ // hide reply tip for terminal aesthetic - isStarryDM ? '#0000' : `var(--pre-bg-color-${env.ui.app.scheme}-scheme)` }}` + isParticlizedDS ? '#0000' : `var(--pre-bg-color-${env.ui.app.scheme}-scheme)` }}` + `#${app.slug} > pre {` + `font-size: ${config.fontSize}px ; white-space: pre-wrap ; min-width: 0 ;` + `line-height: ${ config.fontSize * config.lineHeightRatio }px ; overscroll-behavior: contain ;` @@ -2641,15 +2641,15 @@ log.caller = `update.scheme('${newScheme}')` log.debug(`Updating ${app.name} scheme to ${log.toTitleCase(newScheme)}...`) env.ui.app.scheme = newScheme ; logos.googleGPT.update() ; icons.googleGPT.update() ; update.appStyle() - update.stars() ; update.replyPrefix() ; toggle.btnGlow() ; modals.settings.updateSchemeStatus() + update.risingParticles() ; update.replyPrefix() ; toggle.btnGlow() ; modals.settings.updateSchemeStatus() log.debug(`Success! ${app.name} updated to ${log.toTitleCase(newScheme)} scheme`) }, - stars() { + risingParticles() { ['sm', 'med', 'lg'].forEach(size => - document.querySelectorAll(`[id*=stars-${size}]`).forEach(starsDiv => - starsDiv.id = config.bgAnimationsDisabled ? `stars-${size}-off` - : `${ env.ui.app.scheme == 'dark' ? 'white' : 'black' }-stars-${size}` + document.querySelectorAll(`[id*=particles-${size}]`).forEach(particlesDiv => + particlesDiv.id = config.bgAnimationsDisabled ? `particles-${size}-off` + : `${ env.ui.app.scheme == 'dark' ? 'white' : 'black' }-particles-${size}` )) } } @@ -3091,7 +3091,7 @@ animations(layer) { const configKey = `${layer}AnimationsDisabled` settings.save(configKey, !config[configKey]) - update.appStyle() ; if (layer == 'bg') { update.stars() ; update.replyPrefix() } + update.appStyle() ; if (layer == 'bg') { update.risingParticles() ; update.replyPrefix() } if (layer == 'fg' && modals.settings.get()) { // Toggle ticker-scroll of About status label @@ -3820,7 +3820,7 @@ // Build answer interface up to reply section if missing if (!appDiv.querySelector('pre')) { appDiv.textContent = '' - dom.fillStarryBG(appDiv) // add stars + dom.addRisingParticles(appDiv) // Create/append title const appPrefixSpan = document.createElement('span') ; appPrefixSpan.id = 'app-prefix' @@ -4143,7 +4143,7 @@ ['anchored', 'expanded', 'sticky', 'wider'].forEach(mode => (config[mode] || config[`${mode}Sidebar`]) && appDiv.classList.add(mode)) app.styles = dom.create.style() ; update.appStyle() ; document.head.append(app.styles); - ['brs', 'wrs', 'hljs'].forEach(cssType => // black rising stars, white rising stars, code highlighting + ['brp', 'wrp', 'hljs'].forEach(cssType => // black rising particles, white rising particles, code highlighting document.head.append(dom.create.style(GM_getResourceText(`${cssType}CSS`)))) // Create/stylize TOOLTIPs diff --git a/utils/bump/resources.js b/utils/bump/resources.js index 4a460c7a1..29a0ce670 100644 --- a/utils/bump/resources.js +++ b/utils/bump/resources.js @@ -1,6 +1,6 @@ #!/usr/bin/env node -// Bumps @require'd JS + rising-stars CSS @resource's in userscripts +// Bumps @require'd JS + rising-particles CSS @resource's in userscripts // NOTE: Doesn't git commit to allow script editing from breaking changes // NOTE: Pass --cache to use cacheFilePath for faster init @@ -153,10 +153,11 @@ }) log.success(`${resCnt} potentially bumpable resource(s) found.`) - // Fetch latest commit hash for adamlui/ai-web-extensions/assets/styles/rising-stars - const risingStarsPath = 'assets/styles/rising-stars' - log.working(`\nFetching latest commit hash for ${risingStarsPath}...\n`) - const latestCommitHashes = { risingStars: await getLatestCommitHash('adamlui/ai-web-extensions', risingStarsPath) } + // Fetch latest commit hash for adamlui/ai-web-extensions/assets/styles/rising-particles + const risingParticlesPath = 'assets/styles/rising-particles' + log.working(`\nFetching latest commit hash for ${risingParticlesPath}...\n`) + const latestCommitHashes = { + risingParticles: await getLatestCommitHash('adamlui/ai-web-extensions', risingParticlesPath) } // Process each userscript let urlsUpdatedCnt = 0 ; let filesUpdatedCnt = 0 @@ -181,7 +182,7 @@ const resName = rePatterns.resName.exec(resURL)?.[0] || 'resource' // dir/filename for logs // Compare/update commit hash - let resLatestCommitHash = latestCommitHashes[resURL.includes(repoName) ? 'chromium' : 'risingStars'] + let resLatestCommitHash = latestCommitHashes[resURL.includes(repoName) ? 'chromium' : 'risingParticles'] if (resLatestCommitHash.startsWith( // compare hashes rePatterns.hash.commit.exec(resURL)?.[2] || '')) { // commit hash didn't change... console.log(`${resName} already up-to-date!`) ; log.endedWithLineBreak = false