feat: notifications in the app and, optionally, by e-mail
Derived from events and kept per person: whoever a ticket is assigned to, whoever reports or works on it when it moves, fails QA or gets a comment, and whoever joins a project. Never about what you did yourself, once per event. They arrive live through a subscription to a bell in the header, and are copied by e-mail to whoever turns it on when SMTP_URL is set. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -11,6 +11,7 @@ import { filter, map } from 'rxjs';
|
||||
import { AuthFacade } from '@task-stream/web/identity/application';
|
||||
import { UserMenuComponent } from '@task-stream/web/identity/presenters';
|
||||
import { AppShellComponent } from '@task-stream/web/shared/ui';
|
||||
import { NotificationsBell } from '@task-stream/web/tracker/presenters';
|
||||
|
||||
@Component({
|
||||
selector: 'ts-root',
|
||||
@@ -21,6 +22,7 @@ import { AppShellComponent } from '@task-stream/web/shared/ui';
|
||||
RouterLinkActive,
|
||||
AppShellComponent,
|
||||
UserMenuComponent,
|
||||
NotificationsBell,
|
||||
],
|
||||
template: `
|
||||
<ts-app-shell>
|
||||
@@ -44,6 +46,7 @@ import { AppShellComponent } from '@task-stream/web/shared/ui';
|
||||
Explorar
|
||||
</a>
|
||||
@if (auth.isAuthenticated()) {
|
||||
<ts-notifications-bell shellUser />
|
||||
<ts-user-menu shellUser />
|
||||
} @else if (auth.settled() && !onLogin()) {
|
||||
<a shellUser class="ts-nav-link ts-nav-link--cta" routerLink="/login"
|
||||
|
||||
Reference in New Issue
Block a user