mirror of
https://github.com/superseriousbusiness/gotosocial
synced 2025-06-05 21:59:39 +02:00
[feature/frontend] Respect prefers-reduced-motion
for avatars, headers, and emojis (#3118)
* [feature/frontend] Respect `prefers-reduced-motion` for avatars, headers, and emojis * go fmt * fix tests * use static version of instance thumbnail when appropriate * use prefers-reduced-motion * simplify account conversion a bit * fix c&p error
This commit is contained in:
@@ -110,17 +110,27 @@ type Account struct {
|
||||
// If set, indicates that this account is currently inactive, and has migrated to the given account.
|
||||
// Key/value omitted for accounts that haven't moved, and for suspended accounts.
|
||||
Moved *Account `json:"moved,omitempty"`
|
||||
}
|
||||
|
||||
// Additional fields not exposed via JSON
|
||||
// (used only internally for templating etc).
|
||||
// WebAccount is like Account, but with
|
||||
// additional fields not exposed via JSON;
|
||||
// used only internally for templating etc.
|
||||
//
|
||||
// swagger:ignore
|
||||
type WebAccount struct {
|
||||
*Account
|
||||
|
||||
// Proper attachment model for the avatar.
|
||||
//
|
||||
// Only set if this model was converted via
|
||||
// AccountToWebAccount, AND this account had
|
||||
// an avatar set (and not just the default
|
||||
// "blank" avatar image.)
|
||||
AvatarAttachment *Attachment `json:"-"`
|
||||
// Only set if this account had an avatar set
|
||||
// (and not just the default "blank" image.)
|
||||
AvatarAttachment *WebAttachment `json:"-"`
|
||||
|
||||
// Proper attachment model for the header.
|
||||
//
|
||||
// Only set if this account had a header set
|
||||
// (and not just the default "blank" image.)
|
||||
HeaderAttachment *WebAttachment `json:"-"`
|
||||
}
|
||||
|
||||
// MutedAccount extends Account with a field used only by the muted user list.
|
||||
|
@@ -107,6 +107,10 @@ type WebAttachment struct {
|
||||
// MIME type of
|
||||
// the attachment.
|
||||
MIMEType string
|
||||
|
||||
// MIME type of
|
||||
// the thumbnail.
|
||||
PreviewMIMEType string
|
||||
}
|
||||
|
||||
// MediaMeta models media metadata.
|
||||
|
@@ -85,6 +85,12 @@ type InstanceV1 struct {
|
||||
// MIME type of the instance thumbnail.
|
||||
// example: image/png
|
||||
ThumbnailType string `json:"thumbnail_type,omitempty"`
|
||||
// URL of the static instance avatar/banner image.
|
||||
// example: https://example.org/files/instance/static/thumbnail.webp
|
||||
ThumbnailStatic string `json:"thumbnail_static,omitempty"`
|
||||
// MIME type of the static instance thumbnail.
|
||||
// example: image/webp
|
||||
ThumbnailStaticType string `json:"thumbnail_static_type,omitempty"`
|
||||
// Description of the instance thumbnail.
|
||||
// example: picture of a cute lil' friendly sloth
|
||||
ThumbnailDescription string `json:"thumbnail_description,omitempty"`
|
||||
|
@@ -102,6 +102,13 @@ type InstanceV2Thumbnail struct {
|
||||
// Key/value not set if thumbnail image type unknown.
|
||||
// example: image/png
|
||||
Type string `json:"thumbnail_type,omitempty"`
|
||||
// StaticURL version of the thumbnail image.
|
||||
// example: https://example.org/fileserver/01BPSX2MKCRVMD4YN4D71G9CP5/attachment/static/01H88X0KQ2DFYYDSWYP93VDJZA.webp
|
||||
StaticURL string `json:"static_url,omitempty"`
|
||||
// MIME type of the instance thumbnail.
|
||||
// Key/value not set if thumbnail image type unknown.
|
||||
// example: image/png
|
||||
StaticType string `json:"thumbnail_static_type,omitempty"`
|
||||
// Description of the instance thumbnail.
|
||||
// Key/value not set if no description available.
|
||||
// example: picture of a cute lil' friendly sloth
|
||||
|
@@ -113,6 +113,9 @@ type Status struct {
|
||||
type WebStatus struct {
|
||||
*Status
|
||||
|
||||
// Override API account with web account.
|
||||
Account *WebAccount `json:"account"`
|
||||
|
||||
// Web version of media
|
||||
// attached to this status.
|
||||
MediaAttachments []*WebAttachment `json:"media_attachments"`
|
||||
|
Reference in New Issue
Block a user