|
149 | 149 | // @description:zu Yengeza izimpendulo ze-AI ku-Google Search (inikwa amandla yi-Google Gemma + GPT-4o!) |
150 | 150 | // @author KudoAI |
151 | 151 | // @namespace https://kudoai.com |
152 | | -// @version 2025.9.24.1 |
| 152 | +// @version 2025.9.28 |
153 | 153 | // @license MIT |
154 | 154 | // @icon data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22170.667%22%20height=%22170.667%22%3E%3Cstyle%3E:root%7B--fill:%23000%7D@media%20(prefers-color-scheme:dark)%7B:root%7B--fill:%23fff%7D%7D%3C/style%3E%3Cpath%20fill=%22var(--fill)%22%20d=%22M82.346%20159.79c-18.113-1.815-31.78-9.013-45.921-24.184C23.197%20121.416%2017.333%20106.18%2017.333%2086c0-21.982%205.984-36.245%2021.87-52.131C55.33%2017.74%2069.27%2011.867%2091.416%2011.867c17.574%200%2029.679%203.924%2044.309%2014.363l8.57%206.116-8.705%208.705-8.704%208.704-4.288-3.608c-13.91-11.704-35.932-14.167-53.085-5.939-3.4%201.631-9.833%206.601-14.297%2011.045C44.669%2061.753%2040.95%2070.811%2040.95%2086c0%2014.342%203.594%2023.555%2013.26%2033.995%2019.088%2020.618%2048.46%2022.539%2070.457%204.608l5.333-4.348%2011.333%203.844c6.234%202.114%2011.54%203.857%2011.791%203.873.252.015-2.037%203.008-5.087%206.65-6.343%207.577-20.148%2017.217-30.493%2021.295-8.764%203.454-23.358%205.06-35.198%203.873zM92%2086.333V74.667h60.648l-11.41%2011.41-11.411%2011.41-18.914.257L92%2098z%22/%3E%3C/svg%3E |
155 | 155 | // @icon64 data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22170.667%22%20height=%22170.667%22%3E%3Cstyle%3E:root%7B--fill:%23000%7D@media%20(prefers-color-scheme:dark)%7B:root%7B--fill:%23fff%7D%7D%3C/style%3E%3Cpath%20fill=%22var(--fill)%22%20d=%22M82.346%20159.79c-18.113-1.815-31.78-9.013-45.921-24.184C23.197%20121.416%2017.333%20106.18%2017.333%2086c0-21.982%205.984-36.245%2021.87-52.131C55.33%2017.74%2069.27%2011.867%2091.416%2011.867c17.574%200%2029.679%203.924%2044.309%2014.363l8.57%206.116-8.705%208.705-8.704%208.704-4.288-3.608c-13.91-11.704-35.932-14.167-53.085-5.939-3.4%201.631-9.833%206.601-14.297%2011.045C44.669%2061.753%2040.95%2070.811%2040.95%2086c0%2014.342%203.594%2023.555%2013.26%2033.995%2019.088%2020.618%2048.46%2022.539%2070.457%204.608l5.333-4.348%2011.333%203.844c6.234%202.114%2011.54%203.857%2011.791%203.873.252.015-2.037%203.008-5.087%206.65-6.343%207.577-20.148%2017.217-30.493%2021.295-8.764%203.454-23.358%205.06-35.198%203.873zM92%2086.333V74.667h60.648l-11.41%2011.41-11.411%2011.41-18.914.257L92%2098z%22/%3E%3C/svg%3E |
|
1223 | 1223 | if (anchorToggle.checked != config.anchored) modals.settings.toggle.switch(anchorToggle) |
1224 | 1224 | } |
1225 | 1225 | feedback.notify(`${app.msgs.mode_anchor} ${menus.toolbar.state.words[+config.anchored]}`, |
1226 | | - null, sidebarModeToggled ? 2.75 : null) // +1s duration if conflicting mode notif shown |
| 1226 | + null, sidebarModeToggled ? 2.75 : undefined) // +1s duration if conflicting mode notif shown |
1227 | 1227 | }, |
1228 | 1228 |
|
1229 | 1229 | animations(layer) { |
|
1253 | 1253 | `button[class*=standby]:has(svg.${ mode == 'get' ? 'send' : 'summarize' })`)?.click() |
1254 | 1254 | } |
1255 | 1255 | feedback.notify(`${settings.controls[modeKey].label} ${menus.toolbar.state.words[+config[modeKey]]}`, |
1256 | | - null, conflictingModeToggled ? 2.75 : null) // +1s duration if conflicting mode notif shown |
| 1256 | + null, conflictingModeToggled ? 2.75 : undefined) // +1s duration if conflicting mode notif shown |
1257 | 1257 | if (modals.settings.get()) { // update visual state of Settings toggle |
1258 | 1258 | const modeToggle = document.querySelector(`[id*=${modeKey}] input`) |
1259 | 1259 | if (modeToggle.checked != config[modeKey]) modals.settings.toggle.switch(modeToggle) |
|
1283 | 1283 | ['get', 'summarize'].forEach(mode => { |
1284 | 1284 | if (config[`auto${log.toTitleCase(mode)}`]) { toggle.autoGen(mode) ; autoGenToggled = true }}) |
1285 | 1285 | feedback.notify(`${settings.controls[modeKey].label} ${menus.toolbar.state.words[+config[modeKey]]}`, |
1286 | | - null, autoGenToggled ? 2.75 : null) // +1s duration if conflicting mode notif shown) |
| 1286 | + null, autoGenToggled ? 2.75 : undefined) // +1s duration if conflicting mode notif shown) |
1287 | 1287 | if (modals.settings.get()) { // update visual state of Settings toggle |
1288 | 1288 | const modeToggle = document.querySelector(`[id*=${modeKey}] input`) |
1289 | 1289 | if (modeToggle.checked != config[modeKey]) modals.settings.toggle.switch(modeToggle) |
|
1369 | 1369 | if (mode == 'sticky' && prevStickyState == config.stickySidebar) return |
1370 | 1370 | feedback.notify(`${ app.msgs[`menuLabel_${ mode }Sidebar`] || log.toTitleCase(mode) + ' Sidebar' } ${ |
1371 | 1371 | menus.toolbar.state.words[+config[configKeyName]]}`, |
1372 | | - null, anchorModeDisabled ? 2.75 : null) // +1s duration if conflicting mode notif shown |
| 1372 | + null, anchorModeDisabled ? 2.75 : undefined) // +1s duration if conflicting mode notif shown |
1373 | 1373 | }, |
1374 | 1374 |
|
1375 | 1375 | streaming() { |
|
0 commit comments