Enhance chat view with server-specific colors, timestamp display, and improved message styling.

This commit is contained in:
akastijn 2026-07-19 01:36:13 +02:00
parent 634de9a856
commit 6996ecf48c
3 changed files with 23 additions and 4 deletions

View File

@ -10,10 +10,11 @@
<section class="darkmodeSection"> <section class="darkmodeSection">
@for (message of messages(); track message.timestamp) { @for (message of messages(); track message.timestamp) {
<p> <p>
<span class="date-time">[{{ message.timestamp | date: 'mediumTime' }}] </span>
@if (message.notBlocked) { @if (message.notBlocked) {
[{{ message.server }}] <span [style.color]=getServerColor(message.server)>[{{ message.server }}] </span>
} @else { } @else {
<span style="color: red">[{{ message.server }}] </span> <span class="blocked">[{{ message.server }}] </span>
} }
<mini-message [node]="message.messageJson"></mini-message> <mini-message [node]="message.messageJson"></mini-message>
</p> </p>

View File

@ -0,0 +1,7 @@
.blocked {
color: red;
}
.date-time {
color: gray;
}

View File

@ -4,14 +4,14 @@ import {ChatService} from '@pages/altitude/chat/service/chat.service';
import {HeaderComponent} from '@header/header.component'; import {HeaderComponent} from '@header/header.component';
import {MiniMessageComponent} from '@pages/altitude/chat/mini-message/mini-message.component'; import {MiniMessageComponent} from '@pages/altitude/chat/mini-message/mini-message.component';
import {MiniMessageInteractionService} from '@pages/altitude/chat/mini-message/mini-message-interaction.service'; import {MiniMessageInteractionService} from '@pages/altitude/chat/mini-message/mini-message-interaction.service';
import {JsonPipe} from '@angular/common'; import {DatePipe} from '@angular/common';
@Component({ @Component({
selector: 'app-chat', selector: 'app-chat',
imports: [ imports: [
HeaderComponent, HeaderComponent,
MiniMessageComponent, MiniMessageComponent,
JsonPipe DatePipe
], ],
templateUrl: './chat.component.html', templateUrl: './chat.component.html',
styleUrl: './chat.component.scss', styleUrl: './chat.component.scss',
@ -39,4 +39,15 @@ export class ChatComponent implements OnInit, OnDestroy {
this.sub?.unsubscribe(); this.sub?.unsubscribe();
this.chatService.disconnect(); // triggers onCompletion server-side, cleans up the emitter this.chatService.disconnect(); // triggers onCompletion server-side, cleans up the emitter
} }
protected getServerColor(server: string) {
if (server === 'bayou') {
return "#007FFF";
} else if (server === 'lobby') {
return "white";
} else if (server === 'creative') {
return "#FFA500";
}
return "white";
}
} }