summaryrefslogtreecommitdiffstats
path: root/src/lib.rs
diff options
context:
space:
mode:
authorLibravatar cel 🌸 <cel@bunny.garden>2025-05-05 18:36:54 +0100
committerLibravatar cel 🌸 <cel@bunny.garden>2025-05-05 18:36:54 +0100
commit40029f5f4c8fb14697eaef1949a1a18eae6d9040 (patch)
treed285b0d9dc892e13ecb663934f5c7a7413ec4aee /src/lib.rs
parent6943577ec5169b04d8a24726fd87e85fc5b261a9 (diff)
downloadmacaw-web-40029f5f4c8fb14697eaef1949a1a18eae6d9040.tar.gz
macaw-web-40029f5f4c8fb14697eaef1949a1a18eae6d9040.tar.bz2
macaw-web-40029f5f4c8fb14697eaef1949a1a18eae6d9040.zip
WIP: message composer
Diffstat (limited to 'src/lib.rs')
-rw-r--r--src/lib.rs33
1 files changed, 9 insertions, 24 deletions
diff --git a/src/lib.rs b/src/lib.rs
index f2c6e97..52d64e4 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -564,7 +564,7 @@ pub fn Message(message: MacawMessage, major: bool, r#final: bool) -> impl IntoVi
#[component]
pub fn ChatViewMessageComposer(chat: JID) -> impl IntoView {
- let message_input: NodeRef<Textarea> = NodeRef::new();
+ let message_input: NodeRef<Div> = NodeRef::new();
// TODO: load last message draft
let new_message = RwSignal::new("".to_string());
@@ -592,37 +592,22 @@ pub fn ChatViewMessageComposer(chat: JID) -> impl IntoView {
}
});
+ // TODO: placeholder
view! {
- <script>
- const growers = document.querySelectorAll(".grow-wrap");
-
- growers.forEach((grower) => {
- const textarea = grower.querySelector("textarea");
- textarea.addEventListener("input", () => {
- grower.dataset.replicatedValue = textarea.value;
- });
- });
-
- </script>
<form
class="new-message-composer panel"
- // on:input=resize
- // on:input=|_| "this.parentNode.dataset.replicatedValue = this.value"
on:submit=move |ev| {
ev.prevent_default();
send_message.dispatch(());
}
>
- <div class="grow-wrap">
- <textarea
- placeholder="New Message"
- prop:value=new_message
- on:input=move |ev| new_message.set(event_target_value(&ev))
- name="new_message"
- node_ref=message_input
- autofocus="true"
- />
- </div>
+ <div
+ class="text-box"
+ prop:value=new_message
+ on:input=move |ev| new_message.set(event_target_value(&ev))
+ node_ref=message_input
+ contenteditable
+ ></div>
<input hidden type="submit" />
</form>
}