diff --git a/frontend/src/app/pages/altitude/chat/chat.component.scss b/frontend/src/app/pages/altitude/chat/chat.component.scss
index 40df6d3..7f357e8 100644
--- a/frontend/src/app/pages/altitude/chat/chat.component.scss
+++ b/frontend/src/app/pages/altitude/chat/chat.component.scss
@@ -27,6 +27,7 @@
min-width: 0;
padding: 0 5px 0 5px;
min-height: 0;
+ box-sizing: border-box;
}
}
}
diff --git a/frontend/src/app/pages/altitude/chat/components/chat-info/chat-info.component.scss b/frontend/src/app/pages/altitude/chat/components/chat-info/chat-info.component.scss
index d73a494..c98a9b9 100644
--- a/frontend/src/app/pages/altitude/chat/components/chat-info/chat-info.component.scss
+++ b/frontend/src/app/pages/altitude/chat/components/chat-info/chat-info.component.scss
@@ -1,6 +1,16 @@
-.server {
- padding-left: 10px;
- font-size: 25px;
- font-family: minecraft-text, 'opensans-bold', sans-serif;
- letter-spacing: 2px;
+.full-width {
+ display: flex;
+ align-items: center;
+ padding-top: 15px;
+ padding-bottom: 15px;
+ border-radius: 8px;
+ margin-bottom: 10px;
+}
+
+.server {
+ font-size: 20px;
+ font-family: minecraft-text, 'opensans-bold', sans-serif;
+ letter-spacing: 1px;
+ font-weight: bold;
+ padding-left: 10px;
}
diff --git a/frontend/src/app/pages/altitude/chat/components/chat/chat-box.component.html b/frontend/src/app/pages/altitude/chat/components/chat/chat-box.component.html
index b4e7eec..a74f664 100644
--- a/frontend/src/app/pages/altitude/chat/components/chat/chat-box.component.html
+++ b/frontend/src/app/pages/altitude/chat/components/chat/chat-box.component.html
@@ -1,8 +1,10 @@
-@for (message of messages(); track message.timestamp) {
-
-
- [{{ message.timestamp * 1000 | date: 'mediumTime' }}]
-
-
-
-}
+
+ @for (message of messages(); track message.timestamp) {
+
+
+ [{{ message.timestamp * 1000 | date: 'mediumTime' }}]
+
+
+
+ }
+
diff --git a/frontend/src/app/pages/altitude/chat/components/chat/chat-box.component.scss b/frontend/src/app/pages/altitude/chat/components/chat/chat-box.component.scss
index 9219bed..2ca9f05 100644
--- a/frontend/src/app/pages/altitude/chat/components/chat/chat-box.component.scss
+++ b/frontend/src/app/pages/altitude/chat/components/chat/chat-box.component.scss
@@ -1,3 +1,20 @@
+: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 {
color: red;
}
diff --git a/frontend/src/app/pages/altitude/chat/components/server-list/server-list.component.scss b/frontend/src/app/pages/altitude/chat/components/server-list/server-list.component.scss
index be1af43..3adb54e 100644
--- a/frontend/src/app/pages/altitude/chat/components/server-list/server-list.component.scss
+++ b/frontend/src/app/pages/altitude/chat/components/server-list/server-list.component.scss
@@ -5,19 +5,25 @@
.server {
position: relative;
display: flex;
- padding: 2px 2px 2px 10px;
+ align-items: center;
+ padding: 10px 20px;
border-bottom: 1px solid #222;
+ cursor: pointer;
+ transition: background-color 0.2s;
+
+ &:hover {
+ background-color: #202c42;
+ }
.server-name {
- color: white
+ color: white;
+ font-weight: bold;
}
.notification {
position: absolute;
- right: 10px;
- top: 50%;
- transform: translateY(-50%);
- color: blue;
+ right: 15px;
+ color: #3b82f6;
}
}
}
diff --git a/frontend/src/app/pages/altitude/chat/service/chat.service.ts b/frontend/src/app/pages/altitude/chat/service/chat.service.ts
index dfc328f..23e492a 100644
--- a/frontend/src/app/pages/altitude/chat/service/chat.service.ts
+++ b/frontend/src/app/pages/altitude/chat/service/chat.service.ts
@@ -20,7 +20,7 @@ export class ChatService implements OnDestroy {
private eventSource?: EventSourcePolyfill;
private readonly authService: AuthService = inject(AuthService)
private readonly _messages = signal([])
- public readonly messages = computed(() => this._messages().filter((message) => message.server === this._selectedServer()));
+ public readonly messages = computed(() => this._messages().filter((message) => message.server === this._selectedServer()).sort((a, b) => a.timestamp - b.timestamp));
private readonly _servers = signal([])
public readonly servers = computed(() => this._servers().sort((a, b) => a.server.localeCompare(b.server)));
private readonly _selectedServer = signal('');