From 2c501557d09a38edc15b88dc4413b6edd6bd8c74 Mon Sep 17 00:00:00 2001 From: Stepan Usatiuk Date: Wed, 27 Dec 2023 17:16:27 +0100 Subject: [PATCH] editing messages --- client/src/Chat.tsx | 8 +- client/src/Message.scss | 2 +- client/src/Message.tsx | 81 ++++++++++++++----- client/src/actions.ts | 22 +++-- client/src/api/Message.ts | 26 ++++++ .../server/controller/MessageController.java | 23 ++++++ 6 files changed, 134 insertions(+), 28 deletions(-) diff --git a/client/src/Chat.tsx b/client/src/Chat.tsx index 1d5ebc9..c2d5d90 100644 --- a/client/src/Chat.tsx +++ b/client/src/Chat.tsx @@ -6,6 +6,7 @@ import "./Chat.scss"; import "./PostForm.scss"; import { Message } from "./Message"; import { useEffect } from "react"; +import { getTokenUserUuid } from "./api/utils"; export function Chat() { const loaderData = useLoaderData() as LoaderToType; @@ -51,7 +52,12 @@ export function Chat() {
{sortedMessages.map((m) => ( - + ))}
diff --git a/client/src/Message.scss b/client/src/Message.scss index 79ccdd9..ccae94c 100644 --- a/client/src/Message.scss +++ b/client/src/Message.scss @@ -14,7 +14,7 @@ &.messageEditing { padding: 0; - min-height: 6rem; + min-height: 3rem; border: 1px solid #D0D0D0; @include post-editor; diff --git a/client/src/Message.tsx b/client/src/Message.tsx index b41051e..a96f1f9 100644 --- a/client/src/Message.tsx +++ b/client/src/Message.tsx @@ -1,14 +1,53 @@ import "./Message.scss"; import { TChatTo, TMessageTo } from "./api/dto"; -import { Link } from "react-router-dom"; +import { Form, Link, useNavigation, useSubmit } from "react-router-dom"; +import { useState } from "react"; export function Message({ message, chat, + actions, }: { message: TMessageTo; chat: TChatTo; + actions: boolean; }) { + const [editing, setEditing] = useState(false); + const submit = useSubmit(); + const navigation = useNavigation(); + const busy = navigation.state === "submitting"; + + if (editing) { + return ( +
+
+ +