feat: dashboard

This commit is contained in:
2026-06-05 01:25:16 +02:00
parent 147858de2f
commit 2f6c52e73c
73 changed files with 3490 additions and 1061 deletions

View File

@@ -14,7 +14,6 @@ import {
lucideSquare,
lucideX,
lucideChevronLeft,
lucideBookOpen,
lucideHash,
lucideMenu,
lucidePackage,
@@ -67,7 +66,6 @@ import { getPluginInstallScope } from '../../../domains/plugins/domain/logic/plu
lucideSquare,
lucideX,
lucideChevronLeft,
lucideBookOpen,
lucideHash,
lucideMenu,
lucidePackage,
@@ -119,7 +117,14 @@ export class TitleBarComponent {
),
{ initialValue: this.router.url.startsWith('/dm/') }
);
inRoom = computed(() => !!this.currentRoom() && !this.isInDirectMessage());
isInRoomView = toSignal(
this.router.events.pipe(
filter((navigationEvent): navigationEvent is NavigationEnd => navigationEvent instanceof NavigationEnd),
map((navigationEvent) => navigationEvent.urlAfterRedirects.startsWith('/room/'))
),
{ initialValue: this.router.url.startsWith('/room/') }
);
inRoom = computed(() => !!this.currentRoom() && this.isInRoomView());
roomName = computed(() => this.currentRoom()?.name || '');
activeTextChannelName = computed(() => {
const textChannels = this.textChannels();
@@ -206,7 +211,7 @@ export class TitleBarComponent {
}
openPluginStore(): void {
const returnUrl = this.router.url.startsWith('/plugin-store') ? '/search' : this.router.url;
const returnUrl = this.router.url.startsWith('/plugin-store') ? '/dashboard' : this.router.url;
this._showMenu.set(false);
void this.router.navigate(['/plugin-store'], { queryParams: { returnUrl } });
@@ -330,7 +335,7 @@ export class TitleBarComponent {
nextOwnerKey: result.nextOwnerKey
}));
this.router.navigate(['/search']);
this.router.navigate(['/dashboard']);
}
/** Cancel the leave-server confirmation dialog. */