From 600b2d5bbd4ad45d42366fd0d60c0d991b006aed Mon Sep 17 00:00:00 2001
From: Henry Jameson <me@hjkos.com>
Date: Sun, 15 Apr 2018 18:38:10 +0300
Subject: [PATCH 1/3] =?UTF-8?q?Added=20resizing=20inputbox=20on=20focus=20?=
 =?UTF-8?q?so=20that=20replying=20to=20The=20Discourse=E2=84=A2=20is=20les?=
 =?UTF-8?q?s=20painful?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../post_status_form/post_status_form.vue     | 27 ++++++++++++++-----
 1 file changed, 21 insertions(+), 6 deletions(-)

diff --git a/src/components/post_status_form/post_status_form.vue b/src/components/post_status_form/post_status_form.vue
index 69234d66..4107522d 100644
--- a/src/components/post_status_form/post_status_form.vue
+++ b/src/components/post_status_form/post_status_form.vue
@@ -1,10 +1,25 @@
 <template>
-  <div class="post-status-form">
-    <form @submit.prevent="postStatus(newStatus)">
-      <div class="form-group" >
-        <textarea @click="setCaret" @keyup="setCaret" v-model="newStatus.status" :placeholder="$t('post_status.default')" rows="1" class="form-control" @keydown.down="cycleForward" @keydown.up="cycleBackward" @keydown.shift.tab="cycleBackward" @keydown.tab="cycleForward" @keydown.enter="replaceCandidate" @keydown.meta.enter="postStatus(newStatus)" @keyup.ctrl.enter="postStatus(newStatus)" @drop="fileDrop" @dragover.prevent="fileDrag" @input="resize" @paste="paste"></textarea>
-      </div>
-      <div style="position:relative;" v-if="candidates">
+<div class="post-status-form">
+  <form @submit.prevent="postStatus(newStatus)">
+    <div class="form-group" >
+      <textarea
+        @click="setCaret"
+        @keyup="setCaret" v-model="newStatus.status" :placeholder="$t('post_status.default')" rows="1" class="form-control"
+        @keydown.down="cycleForward"
+        @keydown.up="cycleBackward"
+        @keydown.shift.tab="cycleBackward"
+        @keydown.tab="cycleForward"
+        @keydown.enter="replaceCandidate"
+        @keydown.meta.enter="postStatus(newStatus)"
+        @keyup.ctrl.enter="postStatus(newStatus)"
+        @drop="fileDrop"
+        @dragover.prevent="fileDrag"
+        @input="resize"
+        @focus="resize"
+        @paste="paste">
+      </textarea>
+    </div>
+    <div style="position:relative;" v-if="candidates">
         <div class="autocomplete-panel">
           <div v-for="candidate in candidates" @click="replace(candidate.utf || (candidate.screen_name + ' '))">
             <div v-if="candidate.highlighted" class="autocomplete">

From e1dce2c5af692ee8938e0c308df3e5bb66b5634c Mon Sep 17 00:00:00 2001
From: Henry Jameson <me@hjkos.com>
Date: Sun, 15 Apr 2018 19:05:16 +0300
Subject: [PATCH 2/3] better approach

---
 src/components/post_status_form/post_status_form.js | 13 +++++++++----
 .../post_status_form/post_status_form.vue           |  2 +-
 2 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/src/components/post_status_form/post_status_form.js b/src/components/post_status_form/post_status_form.js
index c63c308c..5e59b0e8 100644
--- a/src/components/post_status_form/post_status_form.js
+++ b/src/components/post_status_form/post_status_form.js
@@ -28,6 +28,10 @@ const PostStatusForm = {
   components: {
     MediaUpload
   },
+  mounted () {
+    console.log(this.$refs)
+    this.resize(this.$refs.textarea)
+  },
   data () {
     let statusText = ''
 
@@ -235,10 +239,11 @@ const PostStatusForm = {
       e.dataTransfer.dropEffect = 'copy'
     },
     resize (e) {
-      e.target.style.height = 'auto'
-      e.target.style.height = `${e.target.scrollHeight - 10}px`
-      if (e.target.value === '') {
-        e.target.style.height = '16px'
+      const target = e.target || e
+      target.style.height = 'auto'
+      target.style.height = `${target.scrollHeight - 10}px`
+      if (target.value === '') {
+        target.style.height = '16px'
       }
     },
     clearError () {
diff --git a/src/components/post_status_form/post_status_form.vue b/src/components/post_status_form/post_status_form.vue
index 4107522d..88627e3a 100644
--- a/src/components/post_status_form/post_status_form.vue
+++ b/src/components/post_status_form/post_status_form.vue
@@ -3,6 +3,7 @@
   <form @submit.prevent="postStatus(newStatus)">
     <div class="form-group" >
       <textarea
+        ref="textarea"
         @click="setCaret"
         @keyup="setCaret" v-model="newStatus.status" :placeholder="$t('post_status.default')" rows="1" class="form-control"
         @keydown.down="cycleForward"
@@ -15,7 +16,6 @@
         @drop="fileDrop"
         @dragover.prevent="fileDrag"
         @input="resize"
-        @focus="resize"
         @paste="paste">
       </textarea>
     </div>

From e9e37a034c5df99c5e3121887eb28af8f39db87f Mon Sep 17 00:00:00 2001
From: Henry Jameson <me@hjkos.com>
Date: Sun, 15 Apr 2018 20:30:06 +0300
Subject: [PATCH 3/3] fml

---
 src/components/post_status_form/post_status_form.js | 1 -
 1 file changed, 1 deletion(-)

diff --git a/src/components/post_status_form/post_status_form.js b/src/components/post_status_form/post_status_form.js
index 5e59b0e8..3348445f 100644
--- a/src/components/post_status_form/post_status_form.js
+++ b/src/components/post_status_form/post_status_form.js
@@ -29,7 +29,6 @@ const PostStatusForm = {
     MediaUpload
   },
   mounted () {
-    console.log(this.$refs)
     this.resize(this.$refs.textarea)
   },
   data () {