diff --git a/extensions/mentions/src/ConfigureMentions.php b/extensions/mentions/src/ConfigureMentions.php
index 972ac4fa6..3a31114a3 100644
--- a/extensions/mentions/src/ConfigureMentions.php
+++ b/extensions/mentions/src/ConfigureMentions.php
@@ -70,20 +70,25 @@ class ConfigureMentions
private function configurePostMentions(Configurator $config)
{
- $config->rendering->parameters['PROFILE_URL'] = $this->url->to('forum')->route('user', ['username' => '']);
+ $config->rendering->parameters['DISCUSSION_URL'] = $this->url->to('forum')->route('discussion', ['id' => '']);
- $tagName = 'USERMENTION';
+ $tagName = 'POSTMENTION';
$tag = $config->tags->add($tagName);
+
$tag->attributes->add('username');
$tag->attributes->add('displayname');
+ $tag->attributes->add('number')->filterChain->append('#uint');
+ $tag->attributes->add('discussionid')->filterChain->append('#uint');
$tag->attributes->add('id')->filterChain->append('#uint');
- $tag->template = '@';
- $tag->filterChain->prepend([static::class, 'addPostId'])
- ->setJS('function(tag) { return flarum.extensions["flarum-mentions"].filterUserMentions(tag); }');
+ $tag->template = '';
- $config->Preg->match('/\B@(?[a-z0-9_-]+)(?!#)/i', $tagName);
+ $tag->filterChain
+ ->prepend([static::class, 'addPostId'])
+ ->setJS('function(tag) { return flarum.extensions["flarum-mentions"].filterPostMentions(tag); }');
+
+ $config->Preg->match('/\B@(?[a-z0-9_-]+)#(?\d+)/i', $tagName);
}
/**