diff --git a/resources/js/composables/useDownloads.ts b/resources/js/composables/useDownloads.ts new file mode 100644 index 00000000..a49eb1a9 --- /dev/null +++ b/resources/js/composables/useDownloads.ts @@ -0,0 +1,14 @@ +import { Axios } from 'axios'; +import { inject } from 'vue'; + +export default function() { + const axios = inject('axios'); + + async function download(url: string, payload: Record) { + const payloadString = btoa(encodeURIComponent(JSON.stringify(payload))); + await axios.get(`${url}?payload=${payloadString}&validate=1`); + window.open(`${url}?payload=${payloadString}`); + } + + return { download }; +} diff --git a/resources/js/views/contribution/VIndex.vue b/resources/js/views/contribution/VIndex.vue index 6f4b4686..65ad713f 100644 --- a/resources/js/views/contribution/VIndex.vue +++ b/resources/js/views/contribution/VIndex.vue @@ -25,17 +25,18 @@ -