summaryrefslogtreecommitdiff
path: root/internal/api/model/status.go
diff options
context:
space:
mode:
authorLibravatar tobi <31960611+tsmethurst@users.noreply.github.com>2024-07-12 20:36:03 +0200
committerLibravatar GitHub <noreply@github.com>2024-07-12 20:36:03 +0200
commitaeb65bceae97611b8931de2e954df18afedd812f (patch)
tree74e6f7ecb86c8affcfef99994cbf21d9133a2b56 /internal/api/model/status.go
parent[feature] support processing of (many) more media types (#3090) (diff)
downloadgotosocial-aeb65bceae97611b8931de2e954df18afedd812f.tar.xz
[feature/frontend] Better visual separation between "main" thread and "replies" (#3093)
* [feature/frontend] Better web threading model * fix test * bwap * tweaks * more tweaks to wording * typo * indenting * adjust wording * aaa
Diffstat (limited to 'internal/api/model/status.go')
-rw-r--r--internal/api/model/status.go36
1 files changed, 21 insertions, 15 deletions
diff --git a/internal/api/model/status.go b/internal/api/model/status.go
index 0d925d211..00be868f1 100644
--- a/internal/api/model/status.go
+++ b/internal/api/model/status.go
@@ -102,28 +102,34 @@ type Status struct {
Text string `json:"text,omitempty"`
// A list of filters that matched this status and why they matched, if there are any such filters.
Filtered []FilterResult `json:"filtered,omitempty"`
+}
- // Additional fields not exposed via JSON
- // (used only internally for templating etc).
+// WebStatus is like *model.Status, but contains
+// additional fields used only for HTML templating.
+//
+// swagger:ignore
+type WebStatus struct {
+ *Status
- // Template-ready language tag + string, based
- // on *status.Language. Nil for non-web statuses.
- //
- // swagger:ignore
- LanguageTag *language.Language `json:"-"`
+ // Template-ready language tag and
+ // string, based on *status.Language.
+ LanguageTag *language.Language
// Template-ready poll options with vote shares
// calculated as a percentage of total votes.
- // Nil for non-web statuses.
- //
- // swagger:ignore
- WebPollOptions []WebPollOption `json:"-"`
+ PollOptions []WebPollOption
// Status is from a local account.
- // Always false for non-web statuses.
- //
- // swagger:ignore
- Local bool `json:"-"`
+ Local bool
+
+ // Level of indentation at which to
+ // display this status in the web view.
+ Indent int
+
+ // This status is the first status after
+ // the "main" thread, so it and everything
+ // below it can be considered "replies".
+ ThreadFirstReply bool
}
/*