diff --git a/4chan_x.user.js b/4chan_x.user.js index 3c6946530..a44f909b4 100644 --- a/4chan_x.user.js +++ b/4chan_x.user.js @@ -1242,13 +1242,15 @@ return $('#recaptcha_response_field').id = ''; }, attach: function() { - var file, files; + var fileDiv, files; $('#auto', qr.el).checked = true; - file = $.el('input', { - type: 'file', - name: 'upfile' - }); files = $('#files', qr.el); + fileDiv = $.el('div', { + innerHTML: 'X' + }); + $.bind(fileDiv.lastChild, 'click', (function() { + return $.rm(this.parentNode); + })); return $.prepend(files, file); }, autoPost: function() { @@ -1309,7 +1311,7 @@ return $.append(d.body, qr.el); }, message: function(e) { - var data, duration, file, oldFile; + var data, duration, file, fileDiv, oldFile; Recaptcha.reload(); $('iframe[name=iframe]').src = 'about:blank'; data = e.data; @@ -1324,10 +1326,12 @@ return; } if (qr.el) { - file = $('#files input', qr.el); + fileDiv = $('#files div:last-child', qr.el); if (g.REPLY && (conf['Persistent QR'] || file)) { qr.refresh(); - if (file) { + if (fileDiv) { + $.rm(fileDiv); + file = fileDiv.firstChild; oldFile = $('#qr_form input[type=file]', qr.el); $.replace(oldFile, file); } diff --git a/script.coffee b/script.coffee index c51f9b473..b38a85411 100644 --- a/script.coffee +++ b/script.coffee @@ -969,9 +969,10 @@ qr = # remove file # error handling # persistent captcha - # code review # rm Recaptcha # group captcha + # error too large error should happen on attach + # attaching = persistent qr init: -> g.callbacks.push qr.node $.bind window, 'message', qr.message @@ -988,8 +989,9 @@ qr = attach: -> $('#auto', qr.el).checked = true - file = $.el 'input', type: 'file', name: 'upfile' files = $ '#files', qr.el + fileDiv = $.el 'div', innerHTML: 'X' + $.bind fileDiv.lastChild, 'click', (-> $.rm @parentNode) $.prepend files, file autoPost: -> @@ -1074,10 +1076,12 @@ qr = return if qr.el - file = $ '#files input', qr.el + fileDiv = $ '#files div:last-child', qr.el if g.REPLY and (conf['Persistent QR'] or file) qr.refresh() - if file + if fileDiv + $.rm fileDiv + file = fileDiv.firstChild oldFile = $ '#qr_form input[type=file]', qr.el $.replace oldFile, file else