mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2025-11-16 11:37:28 -06:00
[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:
parent
f46e490c30
commit
b6e481d63e
82 changed files with 2921 additions and 1171 deletions
|
|
@ -143,6 +143,7 @@ func (p *Processor) StatusesGet(
|
|||
func (p *Processor) WebStatusesGet(
|
||||
ctx context.Context,
|
||||
targetAccountID string,
|
||||
mediaOnly bool,
|
||||
maxID string,
|
||||
) (*apimodel.PageableResponse, gtserror.WithCode) {
|
||||
account, err := p.state.DB.GetAccountByID(ctx, targetAccountID)
|
||||
|
|
@ -159,7 +160,13 @@ func (p *Processor) WebStatusesGet(
|
|||
return nil, gtserror.NewErrorNotFound(err)
|
||||
}
|
||||
|
||||
statuses, err := p.state.DB.GetAccountWebStatuses(ctx, account, 10, maxID)
|
||||
statuses, err := p.state.DB.GetAccountWebStatuses(
|
||||
ctx,
|
||||
account,
|
||||
mediaOnly,
|
||||
20,
|
||||
maxID,
|
||||
)
|
||||
if err != nil && !errors.Is(err, db.ErrNoEntries) {
|
||||
return nil, gtserror.NewErrorInternalError(err)
|
||||
}
|
||||
|
|
@ -198,6 +205,7 @@ func (p *Processor) WebStatusesGet(
|
|||
func (p *Processor) WebStatusesGetPinned(
|
||||
ctx context.Context,
|
||||
targetAccountID string,
|
||||
mediaOnly bool,
|
||||
) ([]*apimodel.WebStatus, gtserror.WithCode) {
|
||||
statuses, err := p.state.DB.GetAccountPinnedStatuses(ctx, targetAccountID)
|
||||
if err != nil && !errors.Is(err, db.ErrNoEntries) {
|
||||
|
|
@ -206,6 +214,11 @@ func (p *Processor) WebStatusesGetPinned(
|
|||
|
||||
webStatuses := make([]*apimodel.WebStatus, 0, len(statuses))
|
||||
for _, status := range statuses {
|
||||
if mediaOnly && len(status.Attachments) == 0 {
|
||||
// No media, skip.
|
||||
continue
|
||||
}
|
||||
|
||||
// Ensure visible via the web.
|
||||
visible, err := p.visFilter.StatusVisible(ctx, nil, status)
|
||||
if err != nil {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue