diff --git a/res/static/res/script/compiled/home.js b/res/static/res/script/compiled/home.js
new file mode 100644
index 0000000..0d52639
--- /dev/null
+++ b/res/static/res/script/compiled/home.js
@@ -0,0 +1,207 @@
+var uploader = null;
+var finishedUploads = new Array();
+var totalUploads = 0;
+var UploadProgressBar = /** @class */ (function () {
+ function UploadProgressBar(file) {
+ this.file = file;
+ this.queueNum = totalUploads;
+ totalUploads++;
+ this.uploadDiv = document.createElement("a");
+ this.uploadDiv.setAttribute("class", "uploadItem");
+ this.uploadDiv.innerText = "Queued\n" + this.file.name;
+ this.uploadDivJQ = $(this.uploadDiv);
+ $("#uploads_queue").append(this.uploadDivJQ.hide().fadeIn('slow'));
+ }
+ UploadProgressBar.prototype.onProgress = function (progress) {
+ this.uploadDiv.innerText = "Uploading... " + Math.round(progress * 1000) / 10 + "%\n" + this.file.name;
+ this.uploadDiv.setAttribute('style', 'background: linear-gradient('
+ + 'to right, '
+ + '#111 0%, '
+ + 'var(--highlight_color) ' + ((progress * 100)) + '%, '
+ + '#111 ' + ((progress * 100) + 1) + '%)');
+ };
+ UploadProgressBar.prototype.onFinished = function (id) {
+ finishedUploads[this.queueNum] = id;
+ this.uploadDiv.setAttribute('style', 'background: #111');
+ this.uploadDiv.setAttribute('href', '/u/' + id);
+ this.uploadDiv.setAttribute("target", "_blank");
+ this.uploadDivJQ.html(''
+ + this.file.name + '
'
+ + '' + window.location.hostname + '/u/' + id + '');
+ };
+ return UploadProgressBar;
+}());
+function handleUploads(files) {
+ if (uploader === null) {
+ uploader = new UploadManager();
+ $("#uploads_queue").animate({ "height": "340px" }, { "duration": 2000, queue: false });
+ }
+ for (var i = 0; i < files.length; i++) {
+ uploader.uploadFile(new UploadProgressBar(files.item(i)));
+ }
+}
+/*
+ * Form upload handlers
+ */
+// Relay click event to hidden file field
+$("#select_file_button").click(function () { $("#file_input_field").click(); });
+$("#file_input_field").change(function (evt) {
+ handleUploads(evt.target.files);
+ // This resets the file input field
+ // http://stackoverflow.com/questions/1043957/clearing-input-type-file-using-jquery
+ $('#file_name').html("");
+ $("#file_upload_button").css("visibility", "hidden");
+ $("#file_input_field").wrap("