diff --git a/internal/model/status.go b/internal/model/status.go index 81df7d7..1a3f725 100644 --- a/internal/model/status.go +++ b/internal/model/status.go @@ -8,35 +8,35 @@ import ( ) type Status struct { - Account Account `json:"account"` - Application Application `json:"application"` - Bookmarked bool `json:"bookmarked"` - Card Card `json:"card"` - Content string `json:"content"` - CreatedAt time.Time `json:"created_at"` - Emojis []Emoji `json:"emojis"` - Favourited bool `json:"favourited"` - FavouritesCount int `json:"favourites_count"` - ID string `json:"id"` - InReplyToAccountID string `json:"in_reply_to_account_id"` - InReplyToID string `json:"in_reply_to_id"` - Language string `json:"language"` - MediaAttachments []Attachment `json:"media_attachments"` - Mentions []Mention `json:"mentions"` - Muted bool `json:"muted"` - Pinned bool `json:"pinned"` - Poll Poll `json:"poll"` - Reblog StatusReblogged `json:"reblog"` - Reblogged bool `json:"reblogged"` - ReblogsCount int `json:"reblogs_count"` - RepliesCount int `json:"replies_count"` - Sensitive bool `json:"sensitive"` - SpolierText string `json:"spoiler_text"` - Tags []Tag `json:"tags"` - Text string `json:"text"` - URI string `json:"uri"` - URL string `json:"url"` - Visibility string `json:"visibility"` + Account Account `json:"account"` + Application Application `json:"application"` + Bookmarked bool `json:"bookmarked"` + Card Card `json:"card"` + Content string `json:"content"` + CreatedAt time.Time `json:"created_at"` + Emojis []Emoji `json:"emojis"` + Favourited bool `json:"favourited"` + FavouritesCount int `json:"favourites_count"` + ID string `json:"id"` + InReplyToAccountID string `json:"in_reply_to_account_id"` + InReplyToID string `json:"in_reply_to_id"` + Language string `json:"language"` + MediaAttachments []Attachment `json:"media_attachments"` + Mentions []Mention `json:"mentions"` + Muted bool `json:"muted"` + Pinned bool `json:"pinned"` + Poll Poll `json:"poll"` + Reblog *StatusReblogged `json:"reblog"` + Reblogged bool `json:"reblogged"` + ReblogsCount int `json:"reblogs_count"` + RepliesCount int `json:"replies_count"` + Sensitive bool `json:"sensitive"` + SpolierText string `json:"spoiler_text"` + Tags []Tag `json:"tags"` + Text string `json:"text"` + URI string `json:"uri"` + URL string `json:"url"` + Visibility string `json:"visibility"` } type Card struct { diff --git a/internal/model/timeline.go b/internal/model/timeline.go index a150e81..58f03ad 100644 --- a/internal/model/timeline.go +++ b/internal/model/timeline.go @@ -19,9 +19,19 @@ func (t Timeline) String() string { builder.WriteString(utilities.HeaderFormat(t.Name) + "\n\n") for _, status := range t.Statuses { - builder.WriteString(utilities.DisplayNameFormat(status.Account.DisplayName) + " (@" + status.Account.Username + ")\n") + builder.WriteString(utilities.DisplayNameFormat(status.Account.DisplayName) + " (@" + status.Account.Acct + ")\n") + + statusID := status.ID + createdAt := status.CreatedAt + + if status.Reblog != nil { + builder.WriteString("reposted this status from " + utilities.DisplayNameFormat(status.Reblog.Account.DisplayName) + " (@" + status.Reblog.Account.Acct + ")\n") + statusID = status.Reblog.ID + createdAt = status.Reblog.CreatedAt + } + builder.WriteString(utilities.WrapLines(utilities.StripHTMLTags(status.Content), "\n", 80) + "\n\n") - builder.WriteString(utilities.FieldFormat("ID:") + " " + status.ID + "\t" + utilities.FieldFormat("Created at:") + " " + utilities.FormatTime(status.CreatedAt) + "\n") + builder.WriteString(utilities.FieldFormat("ID:") + " " + statusID + "\t" + utilities.FieldFormat("Created at:") + " " + utilities.FormatTime(createdAt) + "\n") builder.WriteString(separator + "\n") }