1
0
mirror of https://github.com/BookStackApp/BookStack.git synced 2026-01-03 23:42:28 +03:00

Notifications: Cleaned up mails, added debounce for updates

- Updated mail notification design to be a bit prettier, and extracted
  text to new lang file for translation.
- Added debounce logic for page update notifications.
- Fixed watch options not being filtered to current user.
This commit is contained in:
Dan Brown
2023-08-15 14:39:39 +01:00
parent 371779205a
commit 615741af9d
17 changed files with 152 additions and 70 deletions

View File

@@ -3,7 +3,7 @@
namespace BookStack\Activity\Notifications\Messages;
use BookStack\Activity\Models\Comment;
use BookStack\Activity\Notifications\LinkedMailMessageLine;
use BookStack\Activity\Notifications\MessageParts\ListMessageLine;
use BookStack\Entities\Models\Page;
use Illuminate\Notifications\Messages\MailMessage;
@@ -17,16 +17,14 @@ class CommentCreationNotification extends BaseActivityNotification
$page = $comment->entity;
return (new MailMessage())
->subject("New Comment on Page: " . $page->getShortName())
->line("A user has commented on a page in " . setting('app-name') . ':')
->line("Page Name: " . $page->name)
->line("Commenter: " . $this->user->name)
->line("Comment: " . strip_tags($comment->html))
->action('View Comment', $page->getUrl('#comment' . $comment->local_id))
->line(new LinkedMailMessageLine(
url('/preferences/notifications'),
'This notification was sent to you because :link cover this type of activity for this item.',
'your notification preferences',
));
->subject(trans('notifications.new_comment_subject', ['pageName' => $page->getShortName()]))
->line(trans('notifications.new_comment_intro', ['appName' => setting('app-name')]))
->line(new ListMessageLine([
trans('notifications.detail_page_name') => $page->name,
trans('notifications.detail_commenter') => $this->user->name,
trans('notifications.detail_comment') => strip_tags($comment->html),
]))
->action(trans('notifications.action_view_comment'), $page->getUrl('#comment' . $comment->local_id))
->line($this->buildReasonFooterLine());
}
}