summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doPlayback.go35
1 files changed, 5 insertions, 30 deletions
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("-------------------------------------------------")
}