Browse Source

Make ShareX link download a sharex file if you're logged in

ScruffyRules 6 years ago
parent
commit
d367bc27fa
2 changed files with 24 additions and 1 deletions
  1. 1 1
      pages/home.html
  2. 23 0
      public/js/home.js

+ 1 - 1
pages/home.html

@@ -82,7 +82,7 @@
 
 					<h3 class="subtitle"><a href="/auth" id="loginLinkText"></a></h3>
 					<h3 id="links">
-						<a href="https://github.com/kanadeko/loli-safe" target="_blank" class="is-danger">View on GitHub</a><span>|</span><a href="https://lolisafe.moe/sharex.txt">ShareX</a><span>|</span><a href="https://chrome.google.com/webstore/detail/loli-safe-uploader/enkkmplljfjppcdaancckgilmgoiofnj" target="_blank" class="is-danger">Chrome extension</a><span>|</span><a href="/faq" class="is-danger">FAQ</a><span>|</span><a href="/auth" target="_blank" class="is-danger">Dashboard</a>
+						<a href="https://github.com/kanadeko/loli-safe" target="_blank" class="is-danger">View on GitHub</a><span>|</span><a id="ShareX" href="https://lolisafe.moe/sharex.txt">ShareX</a><span>|</span><a href="https://chrome.google.com/webstore/detail/loli-safe-uploader/enkkmplljfjppcdaancckgilmgoiofnj" target="_blank" class="is-danger">Chrome extension</a><span>|</span><a href="/faq" class="is-danger">FAQ</a><span>|</span><a href="/auth" target="_blank" class="is-danger">Dashboard</a>
 					</h3>
 
 				</div>

+ 23 - 0
public/js/home.js

@@ -172,6 +172,29 @@ upload.prepareDropzone = function(){
 		
 	});
 
+	upload.prepareShareX();
+}
+
+upload.prepareShareX = function(){
+	if (upload.token) {
+		var sharex_element = document.getElementById("ShareX");
+		var sharex_file = "{ \
+  \"Name\": \"" + location.hostname + "\", \
+  \"DestinationType\": \"ImageUploader, FileUploader\", \
+  \"RequestType\": \"POST\", \
+  \"RequestURL\": \"" + location.origin + "/api/upload\", \
+  \"FileFormName\": \"files[]\", \
+  \"Headers\": { \
+    \"token\": \" " + upload.token + "\" \
+  }, \
+  \"ResponseType\": \"Text\", \
+  \"URL\": \"$json:files[0].url$\", \
+  \"ThumbnailURL\": \"$json:files[0].url$\" \
+}";
+		var sharex_blob = new Blob([sharex_file], {type: "application/octet-binary"});
+		sharex_element.setAttribute("href", URL.createObjectURL(sharex_blob))
+		sharex_element.setAttribute("download", location.hostname + ".sxcu");
+	}
 }
 
 //Handle image paste event