mirror of
https://github.com/flarum/framework.git
synced 2025-01-31 14:11:01 +08: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
1b9f6f1502
commit
6a0ea3a5a3
|
@ -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…
Reference in New Issue
Block a user