mirror of
https://github.com/flarum/framework.git
synced 2024-11-26 18:33:40 +08:00
Fix scolling to first post via m.route.set
The default first post number is '1', so we scroll to that if we're calling `m.route.set` without a `near` parameter, as that means we're scrolling to the top.
This was present in beta 13's implementation, but accidentially omitted in 988b6c9
.
We also remove unnecessary typecasting for simpler logic and increased consistency with beta 13.
This commit is contained in:
parent
6a77184611
commit
0650788e7c
|
@ -16,7 +16,7 @@ function getDiscussionIdFromSlug(slug: string | undefined) {
|
|||
* in the same discussion.
|
||||
*/
|
||||
export default class DiscussionPageResolver extends DefaultResolver {
|
||||
static scrollToPostNumber: string | number | null = null;
|
||||
static scrollToPostNumber: string | null = null;
|
||||
|
||||
makeKey() {
|
||||
const params = { ...m.route.param() };
|
||||
|
@ -29,7 +29,8 @@ export default class DiscussionPageResolver extends DefaultResolver {
|
|||
|
||||
onmatch(args, requestedPath, route) {
|
||||
if (app.current.matches(DiscussionPage) && getDiscussionIdFromSlug(args.id) === getDiscussionIdFromSlug(m.route.param('id'))) {
|
||||
DiscussionPageResolver.scrollToPostNumber = args.near === 'reply' ? 'reply' : parseInt(args.near);
|
||||
// By default, the first post number of any discussion is 1
|
||||
DiscussionPageResolver.scrollToPostNumber = args.near || '1';
|
||||
}
|
||||
|
||||
return super.onmatch(args, requestedPath, route);
|
||||
|
|
Loading…
Reference in New Issue
Block a user