diff --git a/Chat.go b/Chat.go
index 0f85b5a..8aeb194 100644
--- a/Chat.go
+++ b/Chat.go
@@ -61,21 +61,23 @@ func LoadChatHandler(c *fiber.Ctx) error {
}
}
-type NextMessage struct {
+type TemplateMessage struct {
Icon string
Content string
Hidden bool
Id string
Name string
+ ModelID string
}
func generateChatHTML() string {
// Get the messages from the database
+ // Maybe redo that to be area by area because look like shit rn. It come from early stage of dev. It work tho soooo...
Messages := getAllMessages()
htmlString := "
"
- var NextMessages []NextMessage // Use the custom NextMessage struct
+ var templateMessages []TemplateMessage
for i, message := range Messages {
if message.Role == "user" {
@@ -86,7 +88,7 @@ func generateChatHTML() string {
}
htmlString += userOut
// Reset NextMessages when a user message is encountered
- NextMessages = []NextMessage{}
+ templateMessages = []TemplateMessage{}
} else {
modelID, exist := message.ModelID.Get()
if !exist {
@@ -97,28 +99,29 @@ func generateChatHTML() string {
selected = false
}
// For bot messages, add them to NextMessages with only the needed fields
- nextMsg := NextMessage{
+ templateMessage := TemplateMessage{
Icon: model2Icon(modelID), // Assuming Icon is a field you want to include from Message
Content: markdownToHTML(message.Content),
Hidden: !selected, // Assuming Hidden is a field you want to include from Message
Id: message.ID.String(),
Name: model2Name(modelID),
+ ModelID: modelID,
}
- NextMessages = append(NextMessages, nextMsg)
+ templateMessages = append(templateMessages, templateMessage)
// Check if the next message is not a bot or if it's the last message
if i+1 == len(Messages) || Messages[i+1].Role != "bot" {
- sort.Slice(NextMessages, func(i, j int) bool {
- if !NextMessages[i].Hidden && NextMessages[j].Hidden {
+ sort.Slice(templateMessages, func(i, j int) bool {
+ if !templateMessages[i].Hidden && templateMessages[j].Hidden {
return true
}
- if NextMessages[i].Hidden && !NextMessages[j].Hidden {
+ if templateMessages[i].Hidden && !templateMessages[j].Hidden {
return false
}
return true
})
- botOut, err := botTmpl.Execute(pongo2.Context{"Messages": NextMessages, "ConversationAreaId": i})
+ botOut, err := botTmpl.Execute(pongo2.Context{"Messages": templateMessages, "ConversationAreaId": i})
if err != nil {
panic(err)
}
@@ -200,8 +203,8 @@ func generateWelcomeChatHTML() string {
htmlString := "
"
- NextMessages := []NextMessage{}
- nextMsg := NextMessage{
+ NextMessages := []TemplateMessage{}
+ nextMsg := TemplateMessage{
Icon: "bouvai2", // Assuming Icon is a field you want to include from Message
Content: " " + markdownToHTML(welcomeMessage) + loginButton,
Hidden: false, // Assuming Hidden is a field you want to include from Message
@@ -227,8 +230,8 @@ func generateEnterKeyChatHTML() string {
htmlString := "
"
- NextMessages := []NextMessage{}
- nextMsg := NextMessage{
+ NextMessages := []TemplateMessage{}
+ nextMsg := TemplateMessage{
Icon: "bouvai2", // Assuming Icon is a field you want to include from Message
Content: " " + markdownToHTML(welcomeMessage),
Hidden: false, // Assuming Hidden is a field you want to include from Message
diff --git a/Request.go b/Request.go
index e5ecf90..34a30f6 100644
--- a/Request.go
+++ b/Request.go
@@ -111,7 +111,8 @@ func HandleGenerateMultipleMessages(selectedModelIds []string) {
SELECT Message {
model_id,
content,
- area
+ area,
+ id
}
FILTER .id = $0;
`, &message, messageID)
@@ -135,6 +136,15 @@ func HandleGenerateMultipleMessages(selectedModelIds []string) {
fmt.Println(area)
+ templateMessage := TemplateMessage{
+ Icon: model2Icon(modelID),
+ Content: markdownToHTML(message.Content),
+ Hidden: false,
+ Id: message.ID.String(),
+ Name: model2Name(modelID),
+ ModelID: modelID,
+ }
+
// Check if the context's deadline is exceeded
select {
case <-ctx.Done():
@@ -147,12 +157,12 @@ func HandleGenerateMultipleMessages(selectedModelIds []string) {
// Generate the HTML content
out := "
"
out += "
"
- out += model2Name(modelID)
+ out += model2Name(templateMessage.ModelID)
out += "
"
out += "
"
out += "
"
out += " "
- out += markdownToHTML(message.Content)
+ out += templateMessage.Content
out += " "
out += "