mirror of
https://github.com/superseriousbusiness/gotosocial
synced 2025-06-05 21:59:39 +02:00
[feature] Poll web view (#2377)
* [feature] Render polls nicely on the web view * use figure for poll, other small tweaks * reverse share + count (lines up better) * poll options list entries * fix up some remaining things
This commit is contained in:
@@ -17,6 +17,8 @@
|
||||
|
||||
package model
|
||||
|
||||
import "github.com/superseriousbusiness/gotosocial/internal/language"
|
||||
|
||||
// Poll represents a poll attached to a status.
|
||||
//
|
||||
// swagger:model poll
|
||||
@@ -104,3 +106,22 @@ type PollVoteRequest struct {
|
||||
// indices. Can be strings or integers.
|
||||
ChoicesI []interface{} `json:"choices"`
|
||||
}
|
||||
|
||||
// WebPollOption models a template-ready poll option entry.
|
||||
//
|
||||
// swagger:ignore
|
||||
type WebPollOption struct {
|
||||
PollOption
|
||||
|
||||
// Emojis contained on parent poll.
|
||||
Emojis []Emoji
|
||||
|
||||
// LanguageTag of parent status.
|
||||
LanguageTag *language.Language
|
||||
|
||||
// Share of total votes as a percentage.
|
||||
VoteShare float32
|
||||
|
||||
// String-formatted version of VoteShare.
|
||||
VoteShareStr string
|
||||
}
|
||||
|
@@ -105,8 +105,17 @@ type Status struct {
|
||||
// (used only internally for templating etc).
|
||||
|
||||
// Template-ready language tag + string, based
|
||||
// on *status.Language. Nil for non-web statuses
|
||||
// on *status.Language. Nil for non-web statuses.
|
||||
//
|
||||
// swagger:ignore
|
||||
LanguageTag *language.Language `json:"-"`
|
||||
|
||||
// Template-ready poll options with vote shares
|
||||
// calculated as a percentage of total votes.
|
||||
// Nil for non-web statuses.
|
||||
//
|
||||
// swagger:ignore
|
||||
WebPollOptions []WebPollOption `json:"-"`
|
||||
}
|
||||
|
||||
/*
|
||||
|
Reference in New Issue
Block a user