diff --git a/4chan_x.user.js b/4chan_x.user.js
index 761368544..5b0863808 100644
--- a/4chan_x.user.js
+++ b/4chan_x.user.js
@@ -1312,12 +1312,10 @@
reply: (function() {
function _Class(file) {
- var name, _ref;
+ var previous, _ref;
this.file = file;
+ _ref = (previous = qr.replies[qr.replies.length - 1]) ? [previous.name, /^sage$/.test(previous.email) ? null : previous.email, conf['Remember Subject'] ? previous.sub : null] : [$.get("qr_name", null), $.get("qr_email", null), conf['Remember Subject'] ? $.get("qr_sub", null) : null], this.name = _ref[0], this.email = _ref[1], this.sub = _ref[2];
this.com = null;
- for (name in qr.inputs) {
- this[name] = ((_ref = qr.replies[qr.replies.length - 1]) != null ? _ref[name] : void 0) || $.get("qr_" + name, null);
- }
qr.replies.push(this);
}
@@ -1325,6 +1323,8 @@
return log(this);
};
+ _Class.prototype.rm = function() {};
+
return _Class;
})(),
@@ -1350,7 +1350,7 @@
}
});
qr.mimeTypes = mimeTypes.split(', ');
- qr.el = ui.dialog('qr', 'top:0;right:0;', "
");
+ qr.el = ui.dialog('qr', 'top:0;right:0;', "");
if (!g.REPLY) {
$.on($('select', qr.el), 'mousedown', function(e) {
return e.stopPropagation();
@@ -1363,11 +1363,6 @@
});
$.on($('form', qr.el), 'submit', qr.submit);
$.on($('[type=file]', qr.el), 'change', qr.fileInput);
- qr.inputs = {
- name: $('[name=name]', qr.el),
- email: $('[name=email]', qr.el)
- };
- if (conf['Remember Subject']) qr.inputs.subject = $('[name=subject]', qr.el);
new qr.reply().load();
return $.add(d.body, qr.el);
},
@@ -1381,21 +1376,16 @@
return qr.cleanError();
},
response: function(e) {
- var input, name, _ref, _results;
+ var reply, sage;
log(e);
- if (!conf['Persistent QR']) qr.close();
- if (/sage/i.test(qr.inputs.email.value)) {
- qr.sage = true;
- qr.inputs.email.value = null;
- }
- if (!conf['Remember Subject']) $('[name=subject]', qr.el).value = null;
- _ref = qr.inputs;
- _results = [];
- for (name in _ref) {
- input = _ref[name];
- _results.push($.set("qr_" + name, input.value));
- }
- return _results;
+ if (!(conf['Persistent QR'] || qr.replies.length > 1)) qr.close();
+ sage = /sage/i.test(reply.email);
+ reply = qr.replies[0];
+ $.set("qr_name", reply.name);
+ $.set("qr_email", /^sage$/.test(reply.email) ? null : reply.email);
+ if (conf['Remember Subject']) $.set("qr_sub", reply.sub);
+ if (qr.replies.length === 1) new qr.reply().load();
+ return reply.rm();
}
};
diff --git a/script.coffee b/script.coffee
index b6d775d86..fe1f8ce64 100644
--- a/script.coffee
+++ b/script.coffee
@@ -971,13 +971,28 @@ qr =
replies: []
reply: class
constructor: (@file) ->
+ [@name, @email, @sub] =
+ if previous = qr.replies[qr.replies.length-1]
+ [
+ previous.name,
+ if /^sage$/.test(previous.email) then null else previous.email,
+ if conf['Remember Subject'] then previous.sub else null
+ ]
+ else
+ [
+ $.get("qr_name", null),
+ $.get("qr_email", null),
+ if conf['Remember Subject'] then $.get("qr_sub", null) else null
+ ]
@com = null
- for name of qr.inputs
- @[name] = qr.replies[qr.replies.length-1]?[name] or $.get "qr_#{name}", null
qr.replies.push @
load: ->
# load reply's data in the QR dialog
+ # visual feedback in the list
log @
+ rm: ->
+ # rm reply from qr.replies and the UI
+
dialog: ->
# create a new thread or select thread to reply to
@@ -1089,9 +1104,9 @@ textarea.field {
#{if g.REPLY then '' else threads} ⨯