mirror of
https://github.com/flarum/core.git
synced 2025-05-07 16:05:25 +02:00
Fix check for going between discussion pages.
The current implementation for checking whether we are on a discussion page, and going to a discussion page, checks the route we are going to. This is problematic, because the route resolver represents the route being considered, not the route we are currently on. So, if we are currently using a DiscussionPageResolver, we must be going to a route handled by DiscussionPage. Instead, we need to check the route that we are currently on, which is done via `app.current.matches(DiscussionPage)`.
This commit is contained in:
parent
5cd14d594b
commit
a8b36cb76d
@ -1,4 +1,5 @@
|
||||
import DefaultResolver from '../../common/resolvers/DefaultResolver';
|
||||
import DiscussionPage from '../components/DiscussionPage';
|
||||
|
||||
/**
|
||||
* This isn't exported as it is a temporary measure.
|
||||
@ -27,7 +28,7 @@ export default class DiscussionPageResolver extends DefaultResolver {
|
||||
}
|
||||
|
||||
onmatch(args, requestedPath, route) {
|
||||
if (route.includes('/d/:id') && getDiscussionIdFromSlug(args.id) === getDiscussionIdFromSlug(m.route.param('id'))) {
|
||||
if (app.current.matches(DiscussionPage) && getDiscussionIdFromSlug(args.id) === getDiscussionIdFromSlug(m.route.param('id'))) {
|
||||
DiscussionPageResolver.scrollToPostNumber = args.near === 'reply' ? 'reply' : parseInt(args.near);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user