From 48ed31acb107b58d43853b56451dc8435d7efbf5 Mon Sep 17 00:00:00 2001 From: Ying Tong Date: Tue, 7 Apr 2026 10:20:47 +0800 Subject: [PATCH 1/3] Make comment textarea expand longer --- .../controllers/textarea_resize_controller.js | 15 +++++++++++++++ app/views/projects/_project_comments.html.erb | 5 +++-- app/views/projects/show.html.erb | 12 +++++++++--- 3 files changed, 27 insertions(+), 5 deletions(-) diff --git a/app/javascript/controllers/textarea_resize_controller.js b/app/javascript/controllers/textarea_resize_controller.js index ce117570..215b2fe4 100644 --- a/app/javascript/controllers/textarea_resize_controller.js +++ b/app/javascript/controllers/textarea_resize_controller.js @@ -10,4 +10,19 @@ export default class extends Controller { this.element.style.height = "auto"; this.element.style.height = `${this.element.scrollHeight + 2}px`; } + + commentResize() { + this.element.style.height = "auto"; + this.element.style.height = `${this.element.scrollHeight + 2}px`; + } + + resetComment(event) { + if (event.target === this.element.form) { + requestAnimationFrame(() => { + this.element.value = ""; + this.element.style.height = "auto"; + this.element.style.height = `${this.element.scrollHeight + 2}px`; + }); + } + } } diff --git a/app/views/projects/_project_comments.html.erb b/app/views/projects/_project_comments.html.erb index 0d547eae..d891b871 100644 --- a/app/views/projects/_project_comments.html.erb +++ b/app/views/projects/_project_comments.html.erb @@ -148,11 +148,12 @@ > <%= form.text_area :user_comment, class: - "w-full bg-transparent border-0 text-sm text-gray-800 placeholder-gray-400 py-2 px-2 focus:outline-none resize-none overflow-y-auto max-h-[120px]", + "w-full bg-transparent border-0 text-sm text-gray-800 placeholder-gray-400 py-2 px-2 focus:outline-none resize-none overflow-y-auto max-h-[200px]", rows: 1, data: { controller: "textarea-resize", - action: "input->textarea-resize#resize", + action: + "input->textarea-resize#commentResize turbo:submit-end@window->textarea-resize#resetComment", }, placeholder: "Write a comment..." %> diff --git a/app/views/projects/show.html.erb b/app/views/projects/show.html.erb index e27a53ee..62388bc8 100644 --- a/app/views/projects/show.html.erb +++ b/app/views/projects/show.html.erb @@ -95,7 +95,7 @@
@@ -128,10 +128,16 @@ <%# -- MOBILE-ONLY-PROJECT-ACTION, hidden on xl and up -- %> <% if policy(@project).update? || @current_version != @latest_version %> -
+

Date: Tue, 7 Apr 2026 10:24:20 +0800 Subject: [PATCH 2/3] comment textarea resize for topics --- app/views/topics/_topic_comments.html.erb | 3 ++- app/views/topics/show.html.erb | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/app/views/topics/_topic_comments.html.erb b/app/views/topics/_topic_comments.html.erb index 454b4f98..7bb30c82 100644 --- a/app/views/topics/_topic_comments.html.erb +++ b/app/views/topics/_topic_comments.html.erb @@ -161,7 +161,8 @@ rows: 1, data: { controller: "textarea-resize", - action: "input->textarea-resize#resize", + action: + "input->textarea-resize#commentResize turbo:submit-end@window->textarea-resize#resetComment", }, placeholder: "Write a comment..." %> diff --git a/app/views/topics/show.html.erb b/app/views/topics/show.html.erb index ce534a0a..96fe0151 100644 --- a/app/views/topics/show.html.erb +++ b/app/views/topics/show.html.erb @@ -119,7 +119,7 @@ <%# --- Comments Section --- %>
From 2abed7f8c2ef0576df587158bf5533e90068d1d4 Mon Sep 17 00:00:00 2001 From: Ying Tong Date: Tue, 7 Apr 2026 10:29:24 +0800 Subject: [PATCH 3/3] tweak max-h to be taller --- app/views/topics/_topic_comments.html.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/topics/_topic_comments.html.erb b/app/views/topics/_topic_comments.html.erb index 7bb30c82..607aad3e 100644 --- a/app/views/topics/_topic_comments.html.erb +++ b/app/views/topics/_topic_comments.html.erb @@ -157,7 +157,7 @@ <%= form.text_area :user_comment, class: - "w-full bg-transparent border-0 text-sm text-gray-800 placeholder-gray-400 py-2 px-2 focus:outline-none resize-none overflow-y-auto max-h-[120px]", + "w-full bg-transparent border-0 text-sm text-gray-800 placeholder-gray-400 py-2 px-2 focus:outline-none resize-none overflow-y-auto max-h-[250px]", rows: 1, data: { controller: "textarea-resize",