import { alert } from "~/composables/use-toast"; import { useGlobalI18n } from "~/composables/use-global-i18n"; export function useDownloader() { function download(url: string, filename: string) { useFetch(url, { method: "GET", responseType: "blob", onResponse({ response }) { if (!response.ok) { console.error("Download failed", response); const i18n = useGlobalI18n(); alert.error(i18n.t("events.something-went-wrong")); return; } const url = window.URL.createObjectURL(new Blob([response._data])); const link = document.createElement("a"); link.href = url; link.setAttribute("download", filename); document.body.appendChild(link); link.click(); }, }); } return download; }