2024-02-24 15:53:29 +00:00
|
|
|
package model
|
|
|
|
|
|
|
|
import (
|
|
|
|
"strings"
|
|
|
|
|
|
|
|
"codeflow.dananglin.me.uk/apollo/enbas/internal/utilities"
|
|
|
|
)
|
|
|
|
|
|
|
|
type Timeline struct {
|
|
|
|
Name string
|
|
|
|
Statuses []Status
|
|
|
|
}
|
|
|
|
|
|
|
|
func (t Timeline) String() string {
|
|
|
|
var builder strings.Builder
|
|
|
|
|
|
|
|
separator := "────────────────────────────────────────────────────────────────────────────────"
|
|
|
|
|
|
|
|
builder.WriteString(t.Name + "\n" + separator + "\n")
|
|
|
|
|
|
|
|
for _, status := range t.Statuses {
|
|
|
|
builder.WriteString(utilities.DisplayNameFormat(status.Account.DisplayName) + " (@" + status.Account.Username + ")\n\n")
|
2024-02-24 17:46:00 +00:00
|
|
|
builder.WriteString(utilities.WrapLines(status.Text, "\n", 80) + "\n\n")
|
2024-02-24 15:53:29 +00:00
|
|
|
builder.WriteString(utilities.FieldFormat("ID:") + " " + status.ID + "\t" + utilities.FieldFormat("Created at:") + " " + utilities.FormatTime(status.CreatedAt) + "\n")
|
|
|
|
builder.WriteString(separator + "\n")
|
|
|
|
}
|
|
|
|
|
|
|
|
return builder.String()
|
|
|
|
}
|