fix: Improve plugin ui entry points, Fix chat scroll, fix notifications, fix user rights
This commit is contained in:
@@ -24,7 +24,8 @@ import {
|
||||
lucideUsers,
|
||||
lucidePlus,
|
||||
lucideVolumeX,
|
||||
lucideGamepad2
|
||||
lucideGamepad2,
|
||||
lucidePackage
|
||||
} from '@ng-icons/lucide';
|
||||
import { selectOnlineUsers, selectCurrentUser } from '../../../store/users/users.selectors';
|
||||
import {
|
||||
@@ -53,7 +54,7 @@ import { formatGameActivityElapsed } from '../../../domains/game-activity';
|
||||
import { ExternalLinkService } from '../../../core/platform/external-link.service';
|
||||
import { VoiceControlsComponent } from '../../../domains/voice-session/feature/voice-controls/voice-controls.component';
|
||||
import { PluginRenderHostComponent } from '../../../domains/plugins/feature/plugin-render-host/plugin-render-host.component';
|
||||
import { PluginUiRegistryService } from '../../../domains/plugins';
|
||||
import { PluginActionMenuService, PluginUiRegistryService } from '../../../domains/plugins';
|
||||
import { isChannelNameTaken, normalizeChannelName } from '../../../store/rooms/room-channels.rules';
|
||||
import {
|
||||
canManageMember,
|
||||
@@ -108,7 +109,8 @@ type PanelMode = 'channels' | 'users';
|
||||
lucideUsers,
|
||||
lucidePlus,
|
||||
lucideVolumeX,
|
||||
lucideGamepad2
|
||||
lucideGamepad2,
|
||||
lucidePackage
|
||||
})
|
||||
],
|
||||
templateUrl: './rooms-side-panel.component.html'
|
||||
@@ -127,6 +129,7 @@ export class RoomsSidePanelComponent implements OnDestroy {
|
||||
private profileCard = inject(ProfileCardService);
|
||||
private directMessages = inject(DirectMessageService);
|
||||
private readonly externalLinks = inject(ExternalLinkService);
|
||||
private readonly pluginActionMenu = inject(PluginActionMenuService);
|
||||
private readonly voiceActivity = inject(VoiceActivityService);
|
||||
private readonly voiceConnectivity = inject(VoiceConnectivityHealthService);
|
||||
private readonly pluginUi = inject(PluginUiRegistryService);
|
||||
@@ -144,6 +147,7 @@ export class RoomsSidePanelComponent implements OnDestroy {
|
||||
textChannels = this.store.selectSignal(selectTextChannels);
|
||||
voiceChannels = this.store.selectSignal(selectVoiceChannels);
|
||||
pluginChannelSections = this.pluginUi.channelSectionRecords;
|
||||
pluginMenuActions = this.pluginUi.toolbarActionRecords;
|
||||
pluginSidePanels = this.pluginUi.sidePanelRecords;
|
||||
localUserHasDesync = this.voiceConnectivity.localUserHasDesync;
|
||||
roomMembers = computed(() => this.currentRoom()?.members ?? []);
|
||||
@@ -219,6 +223,7 @@ export class RoomsSidePanelComponent implements OnDestroy {
|
||||
ngOnDestroy(): void {
|
||||
clearInterval(this.activityTimer);
|
||||
this.cancelQueuedProfileCardOpen();
|
||||
this.pluginActionMenu.close();
|
||||
}
|
||||
|
||||
gameActivityElapsed(user: User | null | undefined): string {
|
||||
@@ -258,6 +263,12 @@ export class RoomsSidePanelComponent implements OnDestroy {
|
||||
this.queueProfileCardOpen(event.currentTarget as HTMLElement, this.roomMemberToUser(member), false);
|
||||
}
|
||||
|
||||
openPluginActionMenu(event: Event): void {
|
||||
event.stopPropagation();
|
||||
this.cancelQueuedProfileCardOpen();
|
||||
this.pluginActionMenu.open(event.currentTarget as HTMLElement);
|
||||
}
|
||||
|
||||
async openDirectMessage(event: Event, user: User): Promise<void> {
|
||||
event.stopPropagation();
|
||||
this.cancelQueuedProfileCardOpen();
|
||||
|
||||
Reference in New Issue
Block a user