mirror of
https://github.com/flarum/framework.git
synced 2025-02-26 13:51:55 +08:00
fix: sort posts by number instead of creation datetime (#3282)
Co-authored-by: Alexander Skvortsov <38059171+askvortsov1@users.noreply.github.com>
This commit is contained in:
parent
c622070366
commit
6e3051b36a
@ -210,7 +210,7 @@ export default class DiscussionPage<CustomAttrs extends IDiscussionPageAttrs = I
|
||||
record.relationships.discussion.data.id === discussionId
|
||||
)
|
||||
.map((record) => app.store.getById<Post>('posts', record.id))
|
||||
.sort((a?: Post, b?: Post) => (a?.createdAt()?.getTime() ?? 0) - (b?.createdAt()?.getTime() ?? 0))
|
||||
.sort((a?: Post, b?: Post) => (a?.number() ?? 0) - (b?.number() ?? 0))
|
||||
.slice(0, 20);
|
||||
}
|
||||
|
||||
|
@ -289,7 +289,7 @@ class PostStreamState {
|
||||
|
||||
if (loadIds.length) {
|
||||
return app.store.find('posts', loadIds).then((newPosts) => {
|
||||
return loaded.concat(newPosts).sort((a, b) => a.createdAt() - b.createdAt());
|
||||
return loaded.concat(newPosts).sort((a, b) => a.number() - b.number());
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -41,7 +41,7 @@ class ListPostsController extends AbstractListController
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public $sortFields = ['createdAt'];
|
||||
public $sortFields = ['number', 'createdAt'];
|
||||
|
||||
/**
|
||||
* @var PostFilterer
|
||||
|
@ -132,7 +132,7 @@ class ShowDiscussionController extends AbstractShowController
|
||||
*/
|
||||
private function loadPostIds(Discussion $discussion, User $actor)
|
||||
{
|
||||
return $discussion->posts()->whereVisibleTo($actor)->orderBy('created_at')->pluck('id')->all();
|
||||
return $discussion->posts()->whereVisibleTo($actor)->orderBy('number')->pluck('id')->all();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -186,7 +186,7 @@ class ShowDiscussionController extends AbstractShowController
|
||||
{
|
||||
$query = $discussion->posts()->whereVisibleTo($actor);
|
||||
|
||||
$query->orderBy('created_at')->skip($offset)->take($limit)->with($include);
|
||||
$query->orderBy('number')->skip($offset)->take($limit)->with($include);
|
||||
|
||||
$posts = $query->get();
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user