fix: correctly show reposted statuses #15
2 changed files with 41 additions and 31 deletions
|
@ -8,35 +8,35 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
type Status struct {
|
type Status struct {
|
||||||
Account Account `json:"account"`
|
Account Account `json:"account"`
|
||||||
Application Application `json:"application"`
|
Application Application `json:"application"`
|
||||||
Bookmarked bool `json:"bookmarked"`
|
Bookmarked bool `json:"bookmarked"`
|
||||||
Card Card `json:"card"`
|
Card Card `json:"card"`
|
||||||
Content string `json:"content"`
|
Content string `json:"content"`
|
||||||
CreatedAt time.Time `json:"created_at"`
|
CreatedAt time.Time `json:"created_at"`
|
||||||
Emojis []Emoji `json:"emojis"`
|
Emojis []Emoji `json:"emojis"`
|
||||||
Favourited bool `json:"favourited"`
|
Favourited bool `json:"favourited"`
|
||||||
FavouritesCount int `json:"favourites_count"`
|
FavouritesCount int `json:"favourites_count"`
|
||||||
ID string `json:"id"`
|
ID string `json:"id"`
|
||||||
InReplyToAccountID string `json:"in_reply_to_account_id"`
|
InReplyToAccountID string `json:"in_reply_to_account_id"`
|
||||||
InReplyToID string `json:"in_reply_to_id"`
|
InReplyToID string `json:"in_reply_to_id"`
|
||||||
Language string `json:"language"`
|
Language string `json:"language"`
|
||||||
MediaAttachments []Attachment `json:"media_attachments"`
|
MediaAttachments []Attachment `json:"media_attachments"`
|
||||||
Mentions []Mention `json:"mentions"`
|
Mentions []Mention `json:"mentions"`
|
||||||
Muted bool `json:"muted"`
|
Muted bool `json:"muted"`
|
||||||
Pinned bool `json:"pinned"`
|
Pinned bool `json:"pinned"`
|
||||||
Poll Poll `json:"poll"`
|
Poll Poll `json:"poll"`
|
||||||
Reblog StatusReblogged `json:"reblog"`
|
Reblog *StatusReblogged `json:"reblog"`
|
||||||
Reblogged bool `json:"reblogged"`
|
Reblogged bool `json:"reblogged"`
|
||||||
ReblogsCount int `json:"reblogs_count"`
|
ReblogsCount int `json:"reblogs_count"`
|
||||||
RepliesCount int `json:"replies_count"`
|
RepliesCount int `json:"replies_count"`
|
||||||
Sensitive bool `json:"sensitive"`
|
Sensitive bool `json:"sensitive"`
|
||||||
SpolierText string `json:"spoiler_text"`
|
SpolierText string `json:"spoiler_text"`
|
||||||
Tags []Tag `json:"tags"`
|
Tags []Tag `json:"tags"`
|
||||||
Text string `json:"text"`
|
Text string `json:"text"`
|
||||||
URI string `json:"uri"`
|
URI string `json:"uri"`
|
||||||
URL string `json:"url"`
|
URL string `json:"url"`
|
||||||
Visibility string `json:"visibility"`
|
Visibility string `json:"visibility"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type Card struct {
|
type Card struct {
|
||||||
|
|
|
@ -19,9 +19,19 @@ func (t Timeline) String() string {
|
||||||
builder.WriteString(utilities.HeaderFormat(t.Name) + "\n\n")
|
builder.WriteString(utilities.HeaderFormat(t.Name) + "\n\n")
|
||||||
|
|
||||||
for _, status := range t.Statuses {
|
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.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")
|
builder.WriteString(separator + "\n")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue