20 lines
952 B
Plaintext
20 lines
952 B
Plaintext
(import kiss_firefox.API)
|
|
(import js.lib.Promise)
|
|
(importAs js.html.XMLHttpRequest XHR)
|
|
(import kiss_firefox.Message)
|
|
(var :Dynamic document js.Lib.global.document)
|
|
(var :Dynamic window js.Lib.global.window)
|
|
|
|
(API.browser.runtime.onMessage.addListener
|
|
->[:Message message sender sendResponse]
|
|
(case message
|
|
((object type "requestSource")
|
|
(let [:String url window.location.href
|
|
:kiss.List<String> parts (url.split "/")
|
|
creator (nth parts -4)
|
|
downloadLink (.item (document.getElementsByClassName "sound-download-button") 0)
|
|
dlUrl .href downloadLink
|
|
filename (.pop (url.split "/"))]
|
|
(awaitLet [response (API.browser.runtime.sendMessage (object type "downloadFreesound" data [filename creator dlUrl url]))]
|
|
(print response))))
|
|
(otherwise))) |