$(document).ready(function () { // Terminal typing animation $("#from-terminal p").typed({ strings: ["curl --upload-file ./hello.txt https://transfer.sh/hello.txt\n######################################################\nhttps://transfer.sh/66nb8/hello.txt \n "], typeSpeed: 0, // typing speed backSpeed: 0, // backspacing speed startDelay: 0, // time before typing starts backDelay: 500, // pause before backspacing loop: false, // loop on or off (true or false) loopCount: false, // number of loops, false = infinite showCursor: true, attr: null, // attribute to type, null = text for everything except inputs, which default to placeholder callback: function(){ } // call function after typing is done }); // Smooth scrolling $('a[href*=#]:not([href=#])').click(function () { if (location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '') && location.hostname == this.hostname) { var target = $(this.hash); target = target.length ? target : $('[name=' + this.hash.slice(1) + ']'); if (target.length) { $('html,body').animate({ scrollTop: target.offset().top }, 1000); return false; } } }); }); (function () { var files = Array() function upload(file) { var li = $('
  • '); li.append($('

    Uploading... ' + file.name + '

    ')); $(li).appendTo($('.queue')); var xhr = new XMLHttpRequest(); xhr.upload.addEventListener("progress", function (e) { var pc = parseInt((e.loaded / e.total * 100)); $('.upload-progress', $(li)).show(); $('.upload-progress .bar', $(li)).css('width', pc + "%"); }, false); xhr.onreadystatechange = function (e) { if (xhr.readyState == 4) { $('.upload-progress', $(li)).hide(); // progress.className = (xhr.status == 200 ? "success" : "failure"); if (xhr.status == 200) { $(li).html('' + xhr.responseText + ''); } else { $(li).html('Error (' + xhr.status + ') during upload of file ' + file.name + '.'); } files.push(xhr.responseText.replace("https://transfer.sh/", "")); files.push(URI(xhr.responseText).absoluteTo(location.href).toString()); $(".download-zip").attr("href", URI("(" + files.join(",") + ").zip").absoluteTo(location.href).toString()); $(".download-tar").attr("href", URI("(" + files.join(",") + ").tar.gz").absoluteTo(location.href).toString()); $(".all-files").css("opacity", "1"); } }; // should queue all uploads. // start upload xhr.open("PUT", '/' + file.name, true); xhr.setRequestHeader("X_FILENAME", file.name); xhr.send(file); }; $(document).bind("dragenter", function (event) { event.preventDefault(); }).bind("dragover", function (event) { event.preventDefault(); // show drop indicator }).bind("dragleave", function (event) {}).bind("drop dragdrop", function (event) { var files = event.originalEvent.target.files || event.originalEvent.dataTransfer.files; $.each(files, function (index, file) { console.debug(file); upload(file); }); event.stopPropagation(); event.preventDefault(); }); $('a.browse').on('click', function (event) { $("input[type=file]").click(); return (false); }); $('input[type=file]').on('change', function (event) { $.each(this.files, function (index, file) { if (file instanceof Blob) { upload(file); } }); }); })();