feat: fix download flow
All checks were successful
Release to Staging / build_and_release (push) Successful in 42s
All checks were successful
Release to Staging / build_and_release (push) Successful in 42s
This commit is contained in:
parent
62a8207bcd
commit
36f9f976ac
@ -26,6 +26,7 @@ import { DownloadUrl, ModDetails, PaymentRequest } from '../types'
|
|||||||
import {
|
import {
|
||||||
abbreviateNumber,
|
abbreviateNumber,
|
||||||
copyTextToClipboard,
|
copyTextToClipboard,
|
||||||
|
downloadFile,
|
||||||
extractModData,
|
extractModData,
|
||||||
formatNumber,
|
formatNumber,
|
||||||
getFilenameFromUrl,
|
getFilenameFromUrl,
|
||||||
@ -35,7 +36,6 @@ import {
|
|||||||
unformatNumber
|
unformatNumber
|
||||||
} from '../utils'
|
} from '../utils'
|
||||||
|
|
||||||
import saveAs from 'file-saver'
|
|
||||||
import { ZapButtons, ZapPresets, ZapQR } from '../components/Zap'
|
import { ZapButtons, ZapPresets, ZapQR } from '../components/Zap'
|
||||||
|
|
||||||
export const InnerModPage = () => {
|
export const InnerModPage = () => {
|
||||||
@ -580,7 +580,7 @@ const Download = ({
|
|||||||
// Get the filename from the URL
|
// Get the filename from the URL
|
||||||
const filename = getFilenameFromUrl(url)
|
const filename = getFilenameFromUrl(url)
|
||||||
|
|
||||||
saveAs(url, filename)
|
downloadFile(url, filename)
|
||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
@ -90,3 +90,32 @@ export const getFilenameFromUrl = (url: string): string => {
|
|||||||
// Return the extracted filename
|
// Return the extracted filename
|
||||||
return filename
|
return filename
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Downloads a file from the given URL.
|
||||||
|
*
|
||||||
|
* @param url - The URL of the file to download.
|
||||||
|
* @param filename - The name of the file to save as.
|
||||||
|
*/
|
||||||
|
export const downloadFile = (url: string, filename: string) => {
|
||||||
|
// Create a temporary anchor element
|
||||||
|
const a = document.createElement('a')
|
||||||
|
|
||||||
|
// Set the href attribute to the file's URL
|
||||||
|
a.href = url
|
||||||
|
|
||||||
|
// Set the download attribute with the desired file name
|
||||||
|
a.download = filename
|
||||||
|
|
||||||
|
// Set target="_blank" to ensure that link opens in new tab
|
||||||
|
a.setAttribute('target', '_blank')
|
||||||
|
|
||||||
|
// Append the anchor to the body (not displayed)
|
||||||
|
document.body.appendChild(a)
|
||||||
|
|
||||||
|
// Programmatically trigger a click event on the anchor to start the download
|
||||||
|
a.click()
|
||||||
|
|
||||||
|
// Remove the anchor from the document
|
||||||
|
document.body.removeChild(a)
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user