From 3d5f30453ba2fc50aee144e2b231144492402dbb Mon Sep 17 00:00:00 2001 From: Alexander Skvortsov Date: Fri, 16 Oct 2020 16:30:27 -0400 Subject: [PATCH] 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 3f0b3c7. We also remove unnecessary typecasting for simpler logic and increased consistency with beta 13. --- .../core/js/src/forum/resolvers/DiscussionPageResolver.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/framework/core/js/src/forum/resolvers/DiscussionPageResolver.ts b/framework/core/js/src/forum/resolvers/DiscussionPageResolver.ts index 6d4e64d63..80641c7c0 100644 --- a/framework/core/js/src/forum/resolvers/DiscussionPageResolver.ts +++ b/framework/core/js/src/forum/resolvers/DiscussionPageResolver.ts @@ -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);