Official Snap.as browser extension for quickly uploading photos.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

51 lines
1.4 KiB

  1. var maxDim = 1280;
  2. function copyToClipboard(str) {
  3. var el = document.createElement('textarea');
  4. el.value = str;
  5. el.setAttribute('readonly', '');
  6. el.style.position = 'absolute';
  7. el.style.left = '-9999px';
  8. document.body.appendChild(el);
  9. el.select();
  10. document.execCommand('copy');
  11. document.body.removeChild(el);
  12. }
  13. var http = new XMLHttpRequest();
  14. http.open("GET", "https://snap.as/api/me", true);
  15. http.onreadystatechange = function() {
  16. if (http.readyState == 4) {
  17. env = JSON.parse(http.responseText);
  18. if (env.code == 200 && typeof env.data !== 'undefined' && env.data != "") {
  19. document.getElementById('loading').style.display = 'none';
  20. document.getElementById('uploader').style.display = 'block';
  21. } else {
  22. document.getElementById('loading').innerHTML = '<a href="https://snap.as/login" id="login">Log in to Snap.as</a>';
  23. document.getElementById('login').onclick = function(e) {
  24. e.preventDefault();
  25. chrome.tabs.create({ url: 'https://snap.as/login' });
  26. window.close();
  27. };
  28. }
  29. }
  30. }
  31. http.send();
  32. Dropzone.options.uploader = {
  33. maxFilesize: 16,
  34. resizeWidth: maxDim,
  35. acceptedFiles: 'image/*',
  36. parallelUploads: 1,
  37. uploadMultiple: false,
  38. dictDefaultMessage: 'Drop a file here',
  39. init: function() {
  40. this.on("success", function(file, resp) {
  41. var data = resp;
  42. copyToClipboard('![](' + data.data.url + ')');
  43. chrome.runtime.sendMessage({success: true}, function(response) { });
  44. window.close();
  45. });
  46. }
  47. };