diff --git a/doPlayback.go b/doPlayback.go index f47a6c5..019db68 100644 --- a/doPlayback.go +++ b/doPlayback.go @@ -2,7 +2,6 @@ package main import ( "fmt" - "strings" "go.wit.com/lib/protobuf/chatpb" "go.wit.com/log" @@ -23,8 +22,8 @@ func showChat(uuid string) { log.Info("unknown uuid", uuid) return } - // Call the new listEntries function for a summary view. - listEntries(chat) + // Call the new, dedicated formatting function. + prettyFormatChat(chat) } func listChats(chats *chatpb.Chats) { @@ -47,37 +46,13 @@ func listChats(chats *chatpb.Chats) { formattedTime, chat.GetUuid(), ) + if argv.Playback.Long != nil { + listEntries(chat) + } } fmt.Println("-------------------------------------------------") } // print out one line for each chat entry func listEntries(chat *chatpb.Chat) { - fmt.Printf("\n--- Entries for Topic: %s ---\%n", chat.GetChatName()) - for i, entry := range chat.GetEntries() { - author := entry.GetFrom().String() - var formattedTime string - if ctime := entry.GetCtime(); ctime != nil { - t := ctime.AsTime() - formattedTime = t.Format("15:04:05") // Just the time for entry summary - } else { - formattedTime = "No Time" - } - - // Create a short preview of the content - contentPreview := strings.TrimSpace(entry.GetContent()) - if len(contentPreview) > 60 { - contentPreview = contentPreview[:57] + "..." - } - // Replace newlines with spaces for a clean one-line view - contentPreview = strings.ReplaceAll(contentPreview, "\n", " ") - - fmt.Printf(" %%2d. [%%s] (%%s): %%s\n", - i+1, - author, - formattedTime, - contentPreview, - ) - } - fmt.Println("-------------------------------------------------") }