Compare commits
No commits in common. "51416aec01fd1ebbc91ad923b037d0ca1ad44bdc" and "d61f2ed9388a69aaf89a406b1c74f67c457e0979" have entirely different histories.
51416aec01
...
d61f2ed938
|
|
@ -27,7 +27,6 @@
|
||||||
min-width: 0;
|
min-width: 0;
|
||||||
padding: 0 5px 0 5px;
|
padding: 0 5px 0 5px;
|
||||||
min-height: 0;
|
min-height: 0;
|
||||||
box-sizing: border-box;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,6 @@
|
||||||
.full-width {
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
padding-top: 15px;
|
|
||||||
padding-bottom: 15px;
|
|
||||||
border-radius: 8px;
|
|
||||||
margin-bottom: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.server {
|
.server {
|
||||||
font-size: 20px;
|
|
||||||
font-family: minecraft-text, 'opensans-bold', sans-serif;
|
|
||||||
letter-spacing: 1px;
|
|
||||||
font-weight: bold;
|
|
||||||
padding-left: 10px;
|
padding-left: 10px;
|
||||||
|
font-size: 25px;
|
||||||
|
font-family: minecraft-text, 'opensans-bold', sans-serif;
|
||||||
|
letter-spacing: 2px;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,8 @@
|
||||||
<div class="message-container">
|
@for (message of messages(); track message.timestamp) {
|
||||||
@for (message of messages(); track message.timestamp) {
|
<p>
|
||||||
<p class="message">
|
<span class="date-time" [class.blocked]="!message.notBlocked">
|
||||||
<span class="date-time" [class.blocked]="!message.notBlocked">
|
[{{ message.timestamp * 1000 | date: 'mediumTime' }}]
|
||||||
[{{ message.timestamp * 1000 | date: 'mediumTime' }}]
|
</span>
|
||||||
</span>
|
<mini-message [node]="message.messageJson"></mini-message>
|
||||||
<mini-message [node]="message.messageJson"></mini-message>
|
</p>
|
||||||
</p>
|
}
|
||||||
}
|
|
||||||
</div>
|
|
||||||
|
|
|
||||||
|
|
@ -1,20 +1,3 @@
|
||||||
:host {
|
|
||||||
display: block;
|
|
||||||
height: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.message-container {
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column-reverse;
|
|
||||||
height: 100%;
|
|
||||||
overflow-y: auto;
|
|
||||||
box-sizing: border-box;
|
|
||||||
}
|
|
||||||
|
|
||||||
.message {
|
|
||||||
margin: 5px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.blocked {
|
.blocked {
|
||||||
color: red;
|
color: red;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,25 +5,19 @@
|
||||||
.server {
|
.server {
|
||||||
position: relative;
|
position: relative;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
padding: 2px 2px 2px 10px;
|
||||||
padding: 10px 20px;
|
|
||||||
border-bottom: 1px solid #222;
|
border-bottom: 1px solid #222;
|
||||||
cursor: pointer;
|
|
||||||
transition: background-color 0.2s;
|
|
||||||
|
|
||||||
&:hover {
|
|
||||||
background-color: #202c42;
|
|
||||||
}
|
|
||||||
|
|
||||||
.server-name {
|
.server-name {
|
||||||
color: white;
|
color: white
|
||||||
font-weight: bold;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.notification {
|
.notification {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: 15px;
|
right: 10px;
|
||||||
color: #3b82f6;
|
top: 50%;
|
||||||
|
transform: translateY(-50%);
|
||||||
|
color: blue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ export class ChatService implements OnDestroy {
|
||||||
private eventSource?: EventSourcePolyfill;
|
private eventSource?: EventSourcePolyfill;
|
||||||
private readonly authService: AuthService = inject(AuthService)
|
private readonly authService: AuthService = inject(AuthService)
|
||||||
private readonly _messages = signal<ChatMessage[]>([])
|
private readonly _messages = signal<ChatMessage[]>([])
|
||||||
public readonly messages = computed(() => this._messages().filter((message) => message.server === this._selectedServer()).sort((a, b) => a.timestamp - b.timestamp));
|
public readonly messages = computed(() => this._messages().filter((message) => message.server === this._selectedServer()));
|
||||||
private readonly _servers = signal<ChatServer[]>([])
|
private readonly _servers = signal<ChatServer[]>([])
|
||||||
public readonly servers = computed(() => this._servers().sort((a, b) => a.server.localeCompare(b.server)));
|
public readonly servers = computed(() => this._servers().sort((a, b) => a.server.localeCompare(b.server)));
|
||||||
private readonly _selectedServer = signal<string>('');
|
private readonly _selectedServer = signal<string>('');
|
||||||
|
|
@ -53,7 +53,7 @@ export class ChatService implements OnDestroy {
|
||||||
this.on(source, 'chat', (event) => {
|
this.on(source, 'chat', (event) => {
|
||||||
const chatMessages = this.processChatMessages(event);
|
const chatMessages = this.processChatMessages(event);
|
||||||
chatMessages.forEach((message) => {
|
chatMessages.forEach((message) => {
|
||||||
const find = this.servers().find(server => message.server === server.server && message.server !== this._selectedServer());
|
const find = this.servers().find(server => message.server === server.server);
|
||||||
if (find) {
|
if (find) {
|
||||||
find.unreadMessages++;
|
find.unreadMessages++;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user