From 11b039e127a958521573e9fe9ec414df0ae27436 Mon Sep 17 00:00:00 2001 From: Adrien Date: Thu, 23 May 2024 12:39:55 +0200 Subject: [PATCH] better edit form message (confirm btn not working yet) --- Chat.go | 36 ++++++++++++++++++-- main.go | 3 +- static/style.css | 2 +- views/chat.html | 2 +- views/partials/edit-message-form.html | 15 -------- views/partials/message-edit-form.html | 49 +++++++++++++++++++++++++++ views/partials/message-user.html | 8 ++--- views/partials/popover-models.html | 12 +++---- 8 files changed, 97 insertions(+), 30 deletions(-) delete mode 100644 views/partials/edit-message-form.html create mode 100644 views/partials/message-edit-form.html diff --git a/Chat.go b/Chat.go index 16ffd5a..8ca1e9e 100644 --- a/Chat.go +++ b/Chat.go @@ -3,6 +3,7 @@ package main import ( "context" "sort" + "strings" "time" "github.com/edgedb/edgedb-go" @@ -125,6 +126,31 @@ func generateChatHTML() string { return htmlString } +func GetUserMessageHandler(c *fiber.Ctx) error { + id := c.FormValue("id") + + messageUUID, _ := edgedb.ParseUUID(id) + + var selectedMessage Message + err := edgeClient.QuerySingle(context.Background(), ` + SELECT Message { + content + } + FILTER + .id = $0; + `, &selectedMessage, messageUUID) + if err != nil { + panic(err) + } + + out, err := userTmpl.Execute(pongo2.Context{"Content": markdownToHTML(selectedMessage.Content), "ID": id}) + if err != nil { + panic(err) + } + + return c.SendString(out) +} + func GetMessageContentHandler(c *fiber.Ctx) error { messageId := c.FormValue("id") onlyContent := c.FormValue("onlyContent") // To init the text area of the edit message form @@ -298,8 +324,14 @@ func GetEditMessageFormHandler(c *fiber.Ctx) error { panic(err) } - tmpl := pongo2.Must(pongo2.FromFile("views/partials/edit-message-form.html")) - out, err := tmpl.Execute(pongo2.Context{"Content": message.Content, "ID": id}) + // Calculate the number of rows based on the length of the content + rows := len(strings.Split(message.Content, "\n")) + if rows < 10 { + rows = 10 + } + + tmpl := pongo2.Must(pongo2.FromFile("views/partials/message-edit-form.html")) + out, err := tmpl.Execute(pongo2.Context{"Content": message.Content, "ID": id, "Rows": rows}) if err != nil { panic(err) } diff --git a/main.go b/main.go index 8675c2a..962f418 100644 --- a/main.go +++ b/main.go @@ -68,12 +68,13 @@ func main() { // Chat routes app.Post("/deleteMessage", DeleteMessageHandler) - app.Get("/generatePlaceholder", GeneratePlaceholderHandler) + app.Post("/generatePlaceholder", GeneratePlaceholderHandler) app.Get("/generateMultipleMessages", GenerateMultipleMessagesHandler) app.Get("/messageContent", GetMessageContentHandler) app.Get("/editMessageForm", GetEditMessageFormHandler) app.Post("/redoMessage", RedoMessageHandler) app.Post("/clearChat", ClearChatHandler) + app.Get("/userMessage", GetUserMessageHandler) // Settings routes app.Post("/addKeys", addKeys) diff --git a/static/style.css b/static/style.css index a7017fe..195a9f0 100644 --- a/static/style.css +++ b/static/style.css @@ -68,7 +68,7 @@ html { width: 100%; } -.textarea { +#chat-input-textarea { width: 100%; padding-right: 140px; /* Adjust this value based on the button and dropdown width */ diff --git a/views/chat.html b/views/chat.html index c68bb59..95b0065 100644 --- a/views/chat.html +++ b/views/chat.html @@ -24,7 +24,7 @@ - -
- -
- \ No newline at end of file diff --git a/views/partials/message-edit-form.html b/views/partials/message-edit-form.html new file mode 100644 index 0000000..1fc58f8 --- /dev/null +++ b/views/partials/message-edit-form.html @@ -0,0 +1,49 @@ +
+
+
+
+ User Image +
+
+ +
+
+
+
+

+ You +

+
+
+
+
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+
+
+
+
+
\ No newline at end of file diff --git a/views/partials/message-user.html b/views/partials/message-user.html index 406d2cb..d21ac70 100644 --- a/views/partials/message-user.html +++ b/views/partials/message-user.html @@ -1,4 +1,4 @@ -
+
@@ -16,7 +16,7 @@
- {{ Content|safe }} + {{ Content | safe }}
@@ -34,8 +34,8 @@ -