diff options
author | 2024-07-12 20:36:03 +0200 | |
---|---|---|
committer | 2024-07-12 20:36:03 +0200 | |
commit | aeb65bceae97611b8931de2e954df18afedd812f (patch) | |
tree | 74e6f7ecb86c8affcfef99994cbf21d9133a2b56 /internal/api/model/statuscontext.go | |
parent | [feature] support processing of (many) more media types (#3090) (diff) | |
download | gotosocial-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/statuscontext.go')
-rw-r--r-- | internal/api/model/statuscontext.go | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/internal/api/model/statuscontext.go b/internal/api/model/statuscontext.go new file mode 100644 index 000000000..205672dc8 --- /dev/null +++ b/internal/api/model/statuscontext.go @@ -0,0 +1,64 @@ +// GoToSocial +// Copyright (C) GoToSocial Authors admin@gotosocial.org +// SPDX-License-Identifier: AGPL-3.0-or-later +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see <http://www.gnu.org/licenses/>. + +package model + +// ThreadContext models the tree or +// "thread" around a given status. +// +// swagger:model threadContext +type ThreadContext struct { + // Parents in the thread. + Ancestors []Status `json:"ancestors"` + // Children in the thread. + Descendants []Status `json:"descendants"` +} + +type WebThreadContext struct { + // Parents in the thread. + Ancestors []*WebStatus `json:"ancestors"` + + // Children in the thread. + Descendants []*WebStatus `json:"descendants"` + + // The status around which the ancestors + // + descendants context was constructed. + Status *WebStatus `json:"-"` + + // Total length of + // the main thread. + ThreadLength int + + // Number of entries in + // the main thread shown. + ThreadShown int + + // Number of statuses hidden + // from the main thread (not + // visible to requester etc). + ThreadHidden int + + // Total number of replies + // in the replies section. + ThreadReplies int + + // Number of replies shown. + ThreadRepliesShown int + + // Number of replies hidden. + ThreadRepliesHidden int +} |