Skip to content

Commit e4f339b

Browse files
committed
Converted string concatenations into template literals ↞ [auto-sync from https://github.com/adamlui/ai-web-extensions/tree/main/chatgpt-auto-talk]
1 parent 574bf54 commit e4f339b

1 file changed

Lines changed: 48 additions & 47 deletions

File tree

chatgpt/chatgpt-auto-talk/chatgpt-auto-talk.user.js

Lines changed: 48 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,7 @@
225225
// @description:zu Dlala izimpendulo ze-ChatGPT ngokuzenzakalela
226226
// @author Adam Lui
227227
// @namespace https://github.com/adamlui
228-
// @version 2025.9.5.4
228+
// @version 2025.9.5.5
229229
// @license MIT
230230
// @icon data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22180%22%20height=%22180%22%20fill=%22none%22%3E%3Cstyle%3E:root%7B--primary-fill:%23000;--secondary-fill:%23fff;%7D@media%20(prefers-color-scheme:dark)%7B:root%7B--primary-fill:%23fff;--secondary-fill:%23000;%7D%7D%3C/style%3E%3Cg%20clip-path=%22url(%23a)%22%3E%3Crect%20width=%22180%22%20height=%22180%22%20fill=%22var(--primary-fill)%22%20rx=%2290%22/%3E%3Cg%20clip-path=%22url(%23b)%22%3E%3Cpath%20fill=%22var(--secondary-fill)%22%20d=%22M75.91%2073.628V62.232c0-.96.36-1.68%201.199-2.16l22.912-13.194c3.119-1.8%206.838-2.639%2010.676-2.639%2014.394%200%2023.511%2011.157%2023.511%2023.032%200%20.839%200%201.799-.12%202.758l-23.752-13.914c-1.439-.84-2.879-.84-4.318%200L75.91%2073.627Zm53.499%2044.383v-27.23c0-1.68-.72-2.88-2.159-3.719L97.142%2069.55l9.836-5.638c.839-.48%201.559-.48%202.399%200l22.912%2013.195c6.598%203.839%2011.035%2011.995%2011.035%2019.912%200%209.116-5.397%2017.513-13.915%2020.992v.001Zm-60.577-23.99-9.836-5.758c-.84-.48-1.2-1.2-1.2-2.16v-26.39c0-12.834%209.837-22.55%2023.152-22.55%205.039%200%209.716%201.679%2013.676%204.678L70.993%2055.516c-1.44.84-2.16%202.039-2.16%203.719v34.787-.002Zm21.173%2012.234L75.91%2098.339V81.546l14.095-7.917%2014.094%207.917v16.793l-14.094%207.916Zm9.056%2036.467c-5.038%200-9.716-1.68-13.675-4.678l23.631-13.676c1.439-.839%202.159-2.038%202.159-3.718V85.863l9.956%205.757c.84.48%201.2%201.2%201.2%202.16v26.389c0%2012.835-9.957%2022.552-23.27%2022.552v.001Zm-28.43-26.75L47.72%20102.778c-6.599-3.84-11.036-11.996-11.036-19.913%200-9.236%205.518-17.513%2014.034-20.992v27.35c0%201.68.72%202.879%202.16%203.718l29.989%2017.393-9.837%205.638c-.84.48-1.56.48-2.399%200Zm-1.318%2019.673c-13.555%200-23.512-10.196-23.512-22.792%200-.959.12-1.919.24-2.879l23.63%2013.675c1.44.84%202.88.84%204.32%200l30.108-17.392v11.395c0%20.96-.361%201.68-1.2%202.16l-22.912%2013.194c-3.119%201.8-6.837%202.639-10.675%202.639Zm29.748%2014.274c14.515%200%2026.63-10.316%2029.39-23.991%2013.434-3.479%2022.071-16.074%2022.071-28.91%200-8.396-3.598-16.553-10.076-22.43.6-2.52.96-5.039.96-7.557%200-17.153-13.915-29.99-29.989-29.99-3.239%200-6.358.48-9.477%201.56-5.398-5.278-12.835-8.637-20.992-8.637-14.515%200-26.63%2010.316-29.39%2023.991-13.434%203.48-22.07%2016.074-22.07%2028.91%200%208.396%203.598%2016.553%2010.075%2022.431-.6%202.519-.96%205.038-.96%207.556%200%2017.154%2013.915%2029.989%2029.99%2029.989%203.238%200%206.357-.479%209.476-1.559%205.397%205.278%2012.835%208.637%2020.992%208.637Z%22/%3E%3C/g%3E%3C/g%3E%3Cdefs%3E%3CclipPath%20id=%22a%22%3E%3Cpath%20d=%22M0%200h180v180H0z%22/%3E%3C/clipPath%3E%3CclipPath%20id=%22b%22%3E%3Cpath%20d=%22M29.487%2029.964h121.035v119.954H29.487z%22/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E
231231
// @icon64 data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22180%22%20height=%22180%22%20fill=%22none%22%3E%3Cstyle%3E:root%7B--primary-fill:%23000;--secondary-fill:%23fff;%7D@media%20(prefers-color-scheme:dark)%7B:root%7B--primary-fill:%23fff;--secondary-fill:%23000;%7D%7D%3C/style%3E%3Cg%20clip-path=%22url(%23a)%22%3E%3Crect%20width=%22180%22%20height=%22180%22%20fill=%22var(--primary-fill)%22%20rx=%2290%22/%3E%3Cg%20clip-path=%22url(%23b)%22%3E%3Cpath%20fill=%22var(--secondary-fill)%22%20d=%22M75.91%2073.628V62.232c0-.96.36-1.68%201.199-2.16l22.912-13.194c3.119-1.8%206.838-2.639%2010.676-2.639%2014.394%200%2023.511%2011.157%2023.511%2023.032%200%20.839%200%201.799-.12%202.758l-23.752-13.914c-1.439-.84-2.879-.84-4.318%200L75.91%2073.627Zm53.499%2044.383v-27.23c0-1.68-.72-2.88-2.159-3.719L97.142%2069.55l9.836-5.638c.839-.48%201.559-.48%202.399%200l22.912%2013.195c6.598%203.839%2011.035%2011.995%2011.035%2019.912%200%209.116-5.397%2017.513-13.915%2020.992v.001Zm-60.577-23.99-9.836-5.758c-.84-.48-1.2-1.2-1.2-2.16v-26.39c0-12.834%209.837-22.55%2023.152-22.55%205.039%200%209.716%201.679%2013.676%204.678L70.993%2055.516c-1.44.84-2.16%202.039-2.16%203.719v34.787-.002Zm21.173%2012.234L75.91%2098.339V81.546l14.095-7.917%2014.094%207.917v16.793l-14.094%207.916Zm9.056%2036.467c-5.038%200-9.716-1.68-13.675-4.678l23.631-13.676c1.439-.839%202.159-2.038%202.159-3.718V85.863l9.956%205.757c.84.48%201.2%201.2%201.2%202.16v26.389c0%2012.835-9.957%2022.552-23.27%2022.552v.001Zm-28.43-26.75L47.72%20102.778c-6.599-3.84-11.036-11.996-11.036-19.913%200-9.236%205.518-17.513%2014.034-20.992v27.35c0%201.68.72%202.879%202.16%203.718l29.989%2017.393-9.837%205.638c-.84.48-1.56.48-2.399%200Zm-1.318%2019.673c-13.555%200-23.512-10.196-23.512-22.792%200-.959.12-1.919.24-2.879l23.63%2013.675c1.44.84%202.88.84%204.32%200l30.108-17.392v11.395c0%20.96-.361%201.68-1.2%202.16l-22.912%2013.194c-3.119%201.8-6.837%202.639-10.675%202.639Zm29.748%2014.274c14.515%200%2026.63-10.316%2029.39-23.991%2013.434-3.479%2022.071-16.074%2022.071-28.91%200-8.396-3.598-16.553-10.076-22.43.6-2.52.96-5.039.96-7.557%200-17.153-13.915-29.99-29.989-29.99-3.239%200-6.358.48-9.477%201.56-5.398-5.278-12.835-8.637-20.992-8.637-14.515%200-26.63%2010.316-29.39%2023.991-13.434%203.48-22.07%2016.074-22.07%2028.91%200%208.396%203.598%2016.553%2010.075%2022.431-.6%202.519-.96%205.038-.96%207.556%200%2017.154%2013.915%2029.989%2029.99%2029.989%203.238%200%206.357-.479%209.476-1.559%205.397%205.278%2012.835%208.637%2020.992%208.637Z%22/%3E%3C/g%3E%3C/g%3E%3Cdefs%3E%3CclipPath%20id=%22a%22%3E%3Cpath%20d=%22M0%200h180v180H0z%22/%3E%3C/clipPath%3E%3CclipPath%20id=%22b%22%3E%3Cpath%20d=%22M29.487%2029.964h121.035v119.954H29.487z%22/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E
@@ -283,9 +283,9 @@
283283
onload: resp => resolve(JSON.parse(resp.responseText))
284284
})),
285285
msgs: await new Promise(resolve => {
286-
const msgHostDir = app.urls.resourceHost + '/greasemonkey/_locales/',
287-
msgLocaleDir = ( env.browser.language ? env.browser.language.replace('-', '_') : 'en' ) + '/'
288-
let msgHref = msgHostDir + msgLocaleDir + 'messages.json', msgXHRtries = 0
286+
const msgHostDir = `${app.urls.resourceHost}/greasemonkey/_locales/`,
287+
msgLocaleDir = `${ env.browser.language ? env.browser.language.replace('-', '_') : 'en' }/`
288+
let msgHref = `${ msgHostDir + msgLocaleDir }messages.json`, msgXHRtries = 0
289289
function fetchMsgs() { xhr({ method: 'GET', url: msgHref, onload: handleMsgs })}
290290
function handleMsgs(resp) {
291291
try { // to return localized messages.json
@@ -298,7 +298,7 @@
298298
msgXHRtries++ ; if (msgXHRtries == 3) return resolve({}) // try original/region-stripped/EN only
299299
msgHref = env.browser.language.includes('-') && msgXHRtries == 1 ? // if regional lang on 1st try...
300300
msgHref.replace(/(_locales\/[^_]+)_[^_]+(\/)/, '$1$2') // ...strip region before retrying
301-
: ( msgHostDir + 'en/messages.json' ) // else use default English messages
301+
: `${msgHostDir}en/messages.json` // else use default English messages
302302
fetchMsgs()
303303
}
304304
}
@@ -469,11 +469,11 @@
469469
)
470470

471471
// Format text
472-
aboutModal.querySelector('h2').style.cssText = (
473-
'text-align: center ; font-size: 51px ; line-height: 46px ; padding: 15px 0' )
474-
aboutModal.querySelector('p').style.cssText = (
475-
'text-align: center ; overflow-wrap: anywhere ;'
476-
+ `margin: ${ env.browser.isPortrait ? '6px 0 -16px' : '3px 0 29px' }` )
472+
aboutModal.querySelector('h2').style.cssText = `
473+
text-align: center ; font-size: 51px ; line-height: 46px ; padding: 15px 0`
474+
aboutModal.querySelector('p').style.cssText = `
475+
text-align: center ; overflow-wrap: anywhere ;
476+
margin: ${ env.browser.isPortrait ? '6px 0 -16px' : '3px 0 29px' }`
477477

478478
// Hack buttons
479479
aboutModal.querySelectorAll('button').forEach(btn => {
@@ -557,8 +557,8 @@
557557
// Format buttons
558558
if (idx == 0) btn.style.display = 'none' // hide Dismiss button
559559
else {
560-
btn.style.cssText = 'padding: 8px 6px !important ; margin-top: -14px ;'
561-
+ ' width: 107px ; line-height: 14px'
560+
btn.style.cssText = `padding: 8px 6px !important ; margin-top: -14px ;
561+
width: 107px ; line-height: 14px`
562562
if (idx == btns.length -1) // de-emphasize right-most button
563563
btn.classList.remove('primary-modal-btn')
564564
}
@@ -603,41 +603,42 @@
603603
stylize() {
604604
if (!this.styles) document.head.append(this.styles = dom.create.elem('style'))
605605
this.styles.textContent = (
606-
`.${this.class} {` // modals
607-
+ 'user-select: none ; -webkit-user-select: none ; -moz-user-select: none ; -ms-user-select: none ;'
608-
+ 'font-family: -apple-system, system-ui, BlinkMacSystemFont, Segoe UI, Roboto,'
609-
+ 'Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif ;'
610-
+ 'padding: 20px 25px 24px 25px !important ; font-size: 20px ;'
611-
+ `color: ${ env.ui.scheme == 'dark' ? 'white' : 'black' } !important ;`
612-
+ `background-image: linear-gradient(180deg, ${
613-
env.ui.scheme == 'dark' ? '#99a8a6 -200px, black 200px' : '#b6ebff -296px, white 171px' }) }`
614-
+ `.${this.class} [class*=modal-close-btn] {`
615-
+ 'position: absolute !important ; float: right ; top: 14px !important ; right: 16px !important ;'
616-
+ 'cursor: pointer ; width: 33px ; height: 33px ; border-radius: 20px }'
617-
+ `.${this.class} [class*=modal-close-btn] svg { height: 10px }`
618-
+ `.${this.class} [class*=modal-close-btn] path {`
619-
+ `${ env.ui.scheme == 'dark' ? 'stroke: white ; fill: white' : 'stroke: #9f9f9f ; fill: #9f9f9f' }}`
620-
+ ( env.ui.scheme == 'dark' ? // invert dark mode hover paths
621-
`.${this.class} [class*=modal-close-btn]:hover path { stroke: black ; fill: black }` : '' )
622-
+ `.${this.class} [class*=modal-close-btn]:hover { background-color: #f2f2f2 }` // hover underlay
623-
+ `.${this.class} [class*=modal-close-btn] svg { margin: 11.5px }` // center SVG for hover underlay
624-
+ `.${this.class} a { color: #${ env.ui.scheme == 'dark' ? '00cfff' : '1e9ebb' } !important }`
625-
+ `.${this.class} h2 { font-weight: bold }`
626-
+ `.${this.class} button {`
627-
+ '--btn-transition: transform 0.1s ease-in-out, box-shadow 0.1s ease-in-out ;'
628-
+ 'font-size: 14px ; text-transform: uppercase ;' // shrink/uppercase labels
629-
+ 'border-radius: 0 !important ;' // square borders
630-
+ 'transition: var(--btn-transition) ;' // smoothen hover fx
631-
+ '-webkit-transition: var(--btn-transition) ; -moz-transition: var(--btn-transition) ;'
632-
+ '-o-transition: var(--btn-transition) ; -ms-transition: var(--btn-transition) ;'
633-
+ 'cursor: pointer !important ;' // add finger cursor
634-
+ `border: 1px solid ${ env.ui.scheme == 'dark' ? 'white' : 'black' } !important ;`
635-
+ 'padding: 8px !important ; min-width: 102px }' // resize
636-
+ `.${this.class} button:hover {` // add zoom, re-scheme
637-
+ 'transform: scale(1.055) ; color: black !important ;'
638-
+ `background-color: #${ env.ui.scheme == 'dark' ? '00cfff' : '9cdaff' } !important }`
639-
+ ( !env.browser.isMobile ? `.${this.class} .modal-buttons { margin-left: -13px !important }` : '' )
640-
+ `.about-em { color: ${ env.ui.scheme == 'dark' ? 'white' : 'green' } !important }`
606+
`.${this.class} { /* modals */
607+
user-select: none ; -webkit-user-select: none ; -moz-user-select: none ; -ms-user-select: none ;
608+
font-family: -apple-system, system-ui, BlinkMacSystemFont, Segoe UI, Roboto,
609+
Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif ;
610+
padding: 20px 25px 24px 25px !important ; font-size: 20px ;
611+
color: ${ env.ui.scheme == 'dark' ? 'white' : 'black' } !important ;
612+
background-image: linear-gradient(180deg, ${
613+
env.ui.scheme == 'dark' ? '#99a8a6 -200px, black 200px' : '#b6ebff -296px, white 171px' }) }
614+
.${this.class} [class*=modal-close-btn] {
615+
position: absolute !important ; float: right ; top: 14px !important ; right: 16px !important ;
616+
cursor: pointer ; width: 33px ; height: 33px ; border-radius: 20px }
617+
.${this.class} [class*=modal-close-btn] svg { height: 10px }
618+
.${this.class} [class*=modal-close-btn] path {
619+
${ env.ui.scheme == 'dark' ? 'stroke: white ; fill: white'
620+
: 'stroke: #9f9f9f ; fill: #9f9f9f' }}
621+
${ env.ui.scheme == 'dark' ? // invert dark mode hover paths
622+
`.${this.class} [class*=modal-close-btn]:hover path { stroke: black ; fill: black }` : '' }
623+
.${this.class} [class*=modal-close-btn]:hover { background-color: #f2f2f2 } /* hover underlay */
624+
.${this.class} [class*=modal-close-btn] svg { margin: 11.5px } /* center SVG for hover underlay */
625+
.${this.class} a { color: #${ env.ui.scheme == 'dark' ? '00cfff' : '1e9ebb' } !important }
626+
.${this.class} h2 { font-weight: bold }
627+
.${this.class} button {
628+
--btn-transition: transform 0.1s ease-in-out, box-shadow 0.1s ease-in-out ;
629+
font-size: 14px ; text-transform: uppercase ; /* shrink/uppercase labels */
630+
border-radius: 0 !important ; /* square borders */
631+
transition: var(--btn-transition) ; /* smoothen hover fx */
632+
-webkit-transition: var(--btn-transition) ; -moz-transition: var(--btn-transition) ;
633+
-o-transition: var(--btn-transition) ; -ms-transition: var(--btn-transition) ;
634+
cursor: pointer !important ; /* add finger cursor */
635+
border: 1px solid ${ env.ui.scheme == 'dark' ? 'white' : 'black' } !important ;
636+
padding: 8px !important ; min-width: 102px } /* resize */
637+
.${this.class} button:hover { /* add zoom, re-scheme */
638+
transform: scale(1.055) ; color: black !important ;
639+
background-color: #${ env.ui.scheme == 'dark' ? '00cfff' : '9cdaff' } !important }
640+
${ env.browser.isMobile ? '' : `.${this.class} .modal-buttons { margin-left: -13px !important }` }
641+
.about-em { color: ${ env.ui.scheme == 'dark' ? 'white' : 'green' } !important }`
641642
)
642643
},
643644

0 commit comments

Comments
 (0)