[feature] Allow user to choose "gallery" style layout for web view of profile (#3917)

* [feature] Allow user to choose "gallery" style web layout

* find a bug and squish it up and all day long you'll have good luck

* just a sec

* [performance] reindex public timeline + tinker with query a bit

* fiddling

* should be good now

* last bit of finagling, i'm done now i prommy

* panic normally
This commit is contained in:
tobi 2025-03-26 16:59:39 +01:00 committed by GitHub
commit b6e481d63e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
82 changed files with 2921 additions and 1171 deletions

View file

@ -179,6 +179,13 @@ definitions:
description: The default posting content type for new statuses.
type: string
x-go-name: StatusContentType
web_layout:
description: |-
Layout to use for the web view of the account.
"microblog": default, classic microblog layout.
"gallery": gallery layout with media only.
type: string
x-go-name: WebLayout
web_visibility:
description: |-
Visibility level(s) of posts to show for this account via the web api.
@ -4902,6 +4909,13 @@ paths:
in: formData
name: web_visibility
type: string
- description: |-
Layout to use for the web view of the account.
"microblog": default, classic microblog layout.
"gallery": gallery layout with media only.
in: formData
name: web_layout
type: string
- description: Name of 1st profile field to be added to this account's profile. (The index may be any string; add more indexes to send more fields.)
in: formData
name: fields_attributes[0][name]

Binary file not shown.

After

Width:  |  Height:  |  Size: 947 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 793 KiB

View file

@ -31,6 +31,30 @@ To choose a theme, just select it from the profile settings page, and click/tap
!!! tip "Adding more themes"
Instance admins can add more themes by dropping css files into the `web/assets/themes` folder. See the [themes](../admin/themes.md) part of the admin docs for more information.
### Select Layout
GoToSocial lets you choose from two different layouts for the web view of your profile.
The setting does not affect how the API behaves or how client applications look or work, it's purely a cosmetic change for the web view.
In both cases, only top-level posts (or media from top-level posts) is shown, not replies or boosts, and the [Visibility Level of Posts to Show on Your Profile](#visibility-level-of-posts-to-show-on-your-profile) setting is respected.
#### Microblog
The GtS classic microblog layout. Your profile is split into two columns with your bio and recent/pinned posts.
This is a good choice if you primarily post text, or a mixture of text and media.
![Microblog layout](../public/user-settings-layout-microblog.png)
#### Gallery
'Gram-style layout. Posts are not shown directly on your profile. Instead, your recent/pinned media is shown in a gallery grid view. Posts (with their replies) can still be accessed via link.
This is a good choice if you primarily post media.
![Gallery layout](../public/user-settings-layout-gallery.png)
### Basic Information
#### Display Name