From 5e5d3574563fce3818e89256414c198c156124f8 Mon Sep 17 00:00:00 2001 From: Zhang Minghan Date: Sun, 1 Oct 2023 06:19:58 +0800 Subject: [PATCH] fix overflow of conversation name thanks @sipc --- app/src/assets/home.less | 1 + app/src/routes/Home.tsx | 3 ++- app/src/utils.ts | 4 ++++ manager/conversation/conversation.go | 2 +- utils/char.go | 9 +++++++++ 5 files changed, 17 insertions(+), 2 deletions(-) diff --git a/app/src/assets/home.less b/app/src/assets/home.less index c4d264f..e43f26e 100644 --- a/app/src/assets/home.less +++ b/app/src/assets/home.less @@ -11,6 +11,7 @@ .conversation-name { color: hsl(var(--text)); font-weight: bold !important; + word-wrap: anywhere; } .web { diff --git a/app/src/routes/Home.tsx b/app/src/routes/Home.tsx index 50c92a4..e916804 100644 --- a/app/src/routes/Home.tsx +++ b/app/src/routes/Home.tsx @@ -32,6 +32,7 @@ import { import React, { useEffect, useRef, useState } from "react"; import { filterMessage, + extractMessage, formatMessage, mobile, useAnimation, @@ -170,7 +171,7 @@ function SideBar() { {t("conversation.remove-description")} - {filterMessage(removeConversation?.name || "")} + { extractMessage(filterMessage(removeConversation?.name || "")) } {t("end")} diff --git a/app/src/utils.ts b/app/src/utils.ts index 78161ba..e13eb7d 100644 --- a/app/src/utils.ts +++ b/app/src/utils.ts @@ -161,6 +161,10 @@ export function filterMessage(message: string): string { return message.replace(/```file\n\[\[.*]]\n[\s\S]*?\n```\n\n/g, ""); } +export function extractMessage(message: string, length: number = 50, flow: string = "...") { + return message.length > length ? message.slice(0, length) + flow : message; +} + export function useDraggableInput( t: any, toast: any, diff --git a/manager/conversation/conversation.go b/manager/conversation/conversation.go index b123e59..3108507 100644 --- a/manager/conversation/conversation.go +++ b/manager/conversation/conversation.go @@ -196,7 +196,7 @@ func (c *Conversation) HandleMessage(db *sql.DB, form *FormMessage) bool { return false } if head { - c.SetName(db, form.Message) + c.SetName(db, utils.Extract(form.Message, 50, "...")) } c.SaveConversation(db) return true diff --git a/utils/char.go b/utils/char.go index 2a355ea..0aa832d 100644 --- a/utils/char.go +++ b/utils/char.go @@ -98,3 +98,12 @@ func SplitItem(data string, sep string) []string { } return result } + +func Extract(data string, length int, flow string) string { + value := []rune(data) + if len(value) > length { + return string(value[:length]) + flow + } else { + return data + } +}