Skip to content

Commit 71e7e50

Browse files
committed
Condensed download routines ↞ [auto-sync from https://github.com/adamlui/ai-web-extensions/tree/main/bravegpt]
1 parent 383e4cd commit 71e7e50

1 file changed

Lines changed: 11 additions & 17 deletions

File tree

chatgpt/bravegpt/bravegpt.user.js

Lines changed: 11 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@
148148
// @description:zu Yengeza izimpendulo ze-AI ku-Brave Search (inikwa amandla yi-GPT-4o!)
149149
// @author KudoAI
150150
// @namespace https://kudoai.com
151-
// @version 2025.12.16
151+
// @version 2026.1.3
152152
// @license MIT
153153
// @icon https://assets.bravegpt.com/images/icons/app/icon48.png?v=e8ca7c2
154154
// @icon64 https://assets.bravegpt.com/images/icons/app/icon64.png?v=e8ca7c2
@@ -1410,17 +1410,12 @@
14101410

14111411
// Download code
14121412
const code = codeBlock.textContent.replace(/^>> /, '').trim() + '\n'
1413-
const dlLink = dom.create.anchor(URL.createObjectURL(new Blob([code], { type: 'text/plain' })))
1414-
const now = new Date(), formattedDate = [ // YYYY-MM-DD
1415-
now.getFullYear(),
1416-
String(now.getMonth() +1).padStart(2, '0'),
1417-
String(now.getDate()).padStart(2, '0')
1418-
].join('-')
1419-
dlLink.download /* filename */ = `${app.slug}_${blockLang.name.toLowerCase() || 'code'}_${
1420-
formattedDate}_${Date.now().toString(36)}${
1421-
blockLang.fileExtension ? '.' + blockLang.fileExtension : '' }`
1422-
document.body.append(dlLink) ; dlLink.click() ; dlLink.remove() // download code
1423-
URL.revokeObjectURL(dlLink.href) // prevent memory leaks
1413+
const date = new Date().toISOString().split('T')[0] // YYYY-MM-DD
1414+
const download = `${app.slug}_${blockLang.name.toLowerCase() || 'code'}_${
1415+
date}_${Date.now().toString(36)}${blockLang.fileExtension ? '.' + blockLang.fileExtension : ''}`
1416+
const href = URL.createObjectURL(new Blob([code], { type: 'text/plain' }))
1417+
const a = dom.create.anchor(href, '', { download, style: 'display: none' })
1418+
document.body.append(a) ; a.click() ; a.remove() ; URL.revokeObjectURL(href)
14241419
}
14251420
downloadBtn.onmouseenter = downloadBtn.onmouseleave = tooltip.toggle
14261421

@@ -2545,15 +2540,14 @@
25452540
xhr({
25462541
method: 'GET', url: shareURL,
25472542
onload: ({ responseText }) => {
2548-
const dlLink = dom.create.anchor(
2549-
URL.createObjectURL(new Blob([responseText], { type: 'text/html' })))
2550-
dlLink.download /* filename */ = responseText.match(/<title>([^<]+)<\/title>/i)[1]
2543+
const download = responseText.match(/<title>([^<]+)<\/title>/i)[1]
25512544
.replace(/\s*[|/]+\s*/g, ' ') // convert symbols to space for hyphen-casing
25522545
.replace(/\.{2,}/g, '') // strip ellipsis
25532546
.toLowerCase().trim().replace(/\s+/g, '-') // hyphen-case
25542547
+ '.html'
2555-
document.body.append(dlLink) ; dlLink.click() ; dlLink.remove() // download HTML
2556-
URL.revokeObjectURL(dlLink.href) // prevent memory leaks
2548+
const href = URL.createObjectURL(new Blob([responseText], { type: 'text/html' }))
2549+
const a = dom.create.anchor(href, '', { download, style: 'display: none' })
2550+
document.body.append(a) ; a.click() ; a.remove() ; URL.revokeObjectURL(href)
25572551
},
25582552
onerror: err => log.error('Failed to download chat:', err)
25592553
})

0 commit comments

Comments
 (0)