|  | 
| 220 | 220 | // @description:zu      *NGOKUPHEPHA* susa ukusetha kabusha ingxoxo yemizuzu eyi-10 + amaphutha enethiwekhi ahlala njalo + Ukuhlolwa kwe-Cloudflare ku-ChatGPT. | 
| 221 | 221 | // @author              Adam Lui | 
| 222 | 222 | // @namespace           https://github.com/adamlui | 
| 223 |  | -// @version             2025.9.5.8 | 
|  | 223 | +// @version             2025.9.5.9 | 
| 224 | 224 | // @license             MIT | 
| 225 | 225 | // @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 | 
| 226 | 226 | // @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 | 
|  | 
| 708 | 708 |                 } | 
| 709 | 709 |             }, | 
| 710 | 710 | 
 | 
| 711 |  | -            stylize() { | 
|  | 711 | +            stylize() { // requires lib/<chatgpt|dom>.js + env | 
| 712 | 712 |                 const firstLink = chatgpt.getNewChatLink() | 
| 713 | 713 |                 if (firstLink && !this.classesBorrowed) { // borrow/assign classes from sidebar elems | 
| 714 |  | -                const firstIcon = firstLink.querySelector('div:first-child'), | 
| 715 |  | -                      firstLabel = firstLink.querySelector('div:nth-child(2)') | 
| 716 |  | -                this.div.classList.add(...firstLink.classList, ...(firstLabel?.classList || [])) | 
| 717 |  | -                this.div.querySelector('img')?.classList.add(...(firstIcon?.classList || [])) | 
| 718 |  | -                this.classesBorrowed = true | 
| 719 |  | -            } | 
| 720 |  | -            this.styles ||= dom.create.style( | 
|  | 714 | +                    const firstIcon = firstLink.querySelector('div:first-child'), | 
|  | 715 | +                        firstLabel = firstLink.querySelector('div:nth-child(2)') | 
|  | 716 | +                    this.div.classList.add(...firstLink.classList, ...(firstLabel?.classList || [])) | 
|  | 717 | +                    this.div.querySelector('img')?.classList.add(...(firstIcon?.classList || [])) | 
|  | 718 | +                    this.classesBorrowed = true | 
|  | 719 | +                } | 
|  | 720 | +                this.styles ||= dom.create.style( | 
| 721 | 721 |                     `:root { /* vars */ | 
| 722 | 722 |                       --switch-enabled-bg-color: #ad68ff ; --switch-disabled-bg-color: #ccc ; | 
| 723 | 723 |                       --switch-enabled-box-shadow: 1px 2px 8px #d8a9ff ; | 
|  | 
| 781 | 781 |                 if (!this.styles.isConnected) document.head.append(this.styles) | 
| 782 | 782 |             }, | 
| 783 | 783 | 
 | 
| 784 |  | -            insert() { | 
|  | 784 | +            insert() { // requires lib/<chatgpt|dom>.min.js | 
| 785 | 785 |                 const sidebar = document.querySelector(chatgpt.selectors.sidebar) | 
| 786 | 786 |                 if (!sidebar || this.status?.startsWith('insert') || document.querySelector(`.${this.class}`)) return | 
| 787 | 787 |                 this.status = 'inserting' ; if (!this.div) this.create() | 
| 788 | 788 |                 const sidebarHeader = sidebar.querySelector('div#sidebar-header') | 
| 789 |  | -            if (sidebarHeader) { sidebarHeader.after(this.div) ; this.status = 'inserted' } | 
| 790 |  | -            else { | 
| 791 |  | -                this.status = 'waitingForSidebar' | 
| 792 |  | -                dom.get.loadedElem('div#sidebar-header').then(header => { | 
| 793 |  | -                    header.after(this.div) ; this.stylize() ; this.status = 'inserted' | 
| 794 |  | -                }).catch((err) => { this.status = 'failed' ; console.error('toggles.sidebar.insert()', err) }) | 
| 795 |  | -            } | 
|  | 789 | +                if (sidebarHeader) { sidebarHeader.after(this.div) ; this.status = 'inserted' } | 
|  | 790 | +                else { | 
|  | 791 | +                    this.status = 'waitingForSidebar' | 
|  | 792 | +                    dom.get.loadedElem('div#sidebar-header').then(header => { | 
|  | 793 | +                        header.after(this.div) ; this.stylize() ; this.status = 'inserted' | 
|  | 794 | +                    }).catch((err) => { this.status = 'failed' ; console.error('toggles.sidebar.insert()', err) }) | 
|  | 795 | +                } | 
| 796 | 796 |             }, | 
| 797 | 797 | 
 | 
| 798 | 798 |             update: { | 
|  | 
0 commit comments