linkylinky-chrome/main.js

54 lines
2.0 KiB
JavaScript

//Clipboard stuff
const baseurl = "https://kauft.es";
const btn = document.getElementById("shorturl_copy");
const clipboard = new ClipboardJS(btn);
clipboard.on('success', function (e) {
console.info('Action:', e.action);
console.info('Text:', e.text);
new Notification('Copied Shorturl', {
icon: 'https://git.odit.services/user/avatar/kauft.es/140',
body: `Copied the shorturl to your clipboard: ${e.text}`,
});
});
// Calls the api to create a new short url
document.getElementById("create").onclick = createUrl;
function createUrl() {
chrome.tabs.query({ active: true, lastFocusedWindow: true }, tabs => {
let shorturl = {
target: tabs[0].url,
shortcode: document.getElementById("shortcode").value
};
if (shorturl.shortcode == "" | !shorturl.shortcode) {
delete shorturl.shortcode;
}
fetch(`${baseurl}/api`, {
method: "POST",
body: JSON.stringify(shorturl),
headers: new Headers({
'Content-Type': 'application/json'
})
})
.then(res => res.json())
.then(res => {
document.getElementById("shorturl").innerText = res.url;
document.getElementById("shorturl_container").className = "";
document.getElementById("shortcode_container").className = "hidden";
document.getElementById("create").classList.add("hidden");
document.getElementById("reset").classList.remove("hidden");
});
});
}
//Resets the UI
document.getElementById("reset").onclick = reset;
function reset() {
document.getElementById("shorturl").innerText = "";
document.getElementById("shortcode_container").className = "";
document.getElementById("shorturl_container").className = "hidden";
document.getElementById("reset").classList.add("hidden");
document.getElementById("create").classList.remove("hidden");
}