fixed scrolling
This commit is contained in:
@@ -40,12 +40,12 @@
|
||||
</div>
|
||||
}
|
||||
|
||||
<div class="chat-header d-flex flex-column flex-lg-row justify-content-between align-items-start align-items-lg-center gap-3 mb-4">
|
||||
<div>
|
||||
<a class="back-link" routerLink="/">← Back to dashboard</a>
|
||||
<div class="chat-header mb-4">
|
||||
@if (currentUser(); as connectedUser) {
|
||||
<h1 class="h3 mb-1 mt-2">{{ connectedUser.displayName }}</h1>
|
||||
<div class="status-indicators mt-2">
|
||||
<div class="chat-header-main">
|
||||
<a class="back-link" routerLink="/" aria-label="Back to dashboard">←</a>
|
||||
<h1 class="chat-header-title mb-0">{{ connectedUser.displayName }}</h1>
|
||||
<div class="status-indicators">
|
||||
<div class="status-indicator">
|
||||
<span class="status-led" [class.status-led-ok]="indicatorTone(session.signalingState()) === 'ok'" [class.status-led-connecting]="indicatorTone(session.signalingState()) === 'connecting'" [class.status-led-offline]="indicatorTone(session.signalingState()) === 'offline'"></span>
|
||||
<span>Signaling</span>
|
||||
@@ -62,11 +62,13 @@
|
||||
<span>WebRTC</span>
|
||||
</button>
|
||||
</div>
|
||||
} @else {
|
||||
<h1 class="h3 mb-1 mt-2">Not signed in</h1>
|
||||
<p class="small text-secondary mb-0">Return to the dashboard and sign in again.</p>
|
||||
}
|
||||
</div>
|
||||
} @else {
|
||||
<div class="chat-header-main">
|
||||
<a class="back-link" routerLink="/" aria-label="Back to dashboard">←</a>
|
||||
<h1 class="chat-header-title mb-0">Not signed in</h1>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
|
||||
<div class="chat-layout">
|
||||
@@ -279,7 +281,7 @@
|
||||
<textarea
|
||||
#composerTextarea
|
||||
class="form-control composer-textarea"
|
||||
rows="3"
|
||||
rows="2"
|
||||
[(ngModel)]="messageText"
|
||||
(ngModelChange)="handleMessageTextChange($event)"
|
||||
(keydown.enter)="handleComposerEnter($event)"
|
||||
|
||||
@@ -17,11 +17,32 @@
|
||||
}
|
||||
|
||||
.chat-page {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
width: min(100%, 800px);
|
||||
height: min(calc(100dvh - 2rem), 1024px);
|
||||
max-height: 1024px;
|
||||
margin-inline: auto;
|
||||
overflow-x: hidden;
|
||||
}
|
||||
|
||||
.chat-header {
|
||||
flex: 0 0 auto;
|
||||
}
|
||||
|
||||
.chat-header-main {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
align-items: center;
|
||||
gap: 0.85rem;
|
||||
}
|
||||
|
||||
.chat-header-title {
|
||||
margin: 0;
|
||||
font-size: clamp(1.35rem, 2vw, 1.75rem);
|
||||
line-height: 1.1;
|
||||
}
|
||||
|
||||
.call-modal-backdrop {
|
||||
position: fixed;
|
||||
inset: 0;
|
||||
@@ -91,14 +112,22 @@
|
||||
}
|
||||
|
||||
.back-link {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 2rem;
|
||||
height: 2rem;
|
||||
color: var(--link-color);
|
||||
text-decoration: none;
|
||||
font-size: 1.4rem;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
.status-indicators {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 0.9rem;
|
||||
margin-left: auto;
|
||||
}
|
||||
|
||||
.status-indicator {
|
||||
@@ -151,11 +180,16 @@
|
||||
|
||||
.chat-layout {
|
||||
display: grid;
|
||||
flex: 1 1 auto;
|
||||
grid-template-columns: minmax(10rem, 13rem) minmax(0, 1fr);
|
||||
gap:1.25rem;
|
||||
min-height: 0;
|
||||
}
|
||||
|
||||
.peer-sidebar {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
min-height: 0;
|
||||
padding:1rem;
|
||||
border-radius: 1.3rem;
|
||||
border: 1px solid var(--surface-border-soft);
|
||||
@@ -174,8 +208,10 @@
|
||||
|
||||
.peer-list {
|
||||
display: grid;
|
||||
align-content: start;
|
||||
flex: 1 1 auto;
|
||||
gap: 0.75rem;
|
||||
max-height: calc(100dvh - 17rem);
|
||||
min-height: 0;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
@@ -273,15 +309,17 @@
|
||||
}
|
||||
|
||||
.chat-main {
|
||||
display: grid;
|
||||
grid-template-rows: minmax(0, 1fr) auto;
|
||||
min-width: 0;
|
||||
min-height: 0;
|
||||
}
|
||||
|
||||
.conversation {
|
||||
display: grid;
|
||||
gap: 0.85rem;
|
||||
align-content: start;
|
||||
min-height: 24rem;
|
||||
max-height: calc(100dvh - 20rem);
|
||||
min-height: 0;
|
||||
overflow: auto;
|
||||
padding: 0.5rem 0;
|
||||
}
|
||||
@@ -392,6 +430,7 @@
|
||||
.composer {
|
||||
display: grid;
|
||||
gap: 0.85rem;
|
||||
flex: 0 0 auto;
|
||||
padding-top: 1rem;
|
||||
margin-top: 1rem;
|
||||
border-top: 1px solid var(--surface-border-soft);
|
||||
@@ -441,7 +480,10 @@
|
||||
}
|
||||
|
||||
.composer-textarea {
|
||||
min-height: 7rem;
|
||||
min-height: calc(2 * 1.5rem + 1.25rem);
|
||||
max-height: calc(6 * 1.5rem + 1.25rem);
|
||||
overflow-y: auto;
|
||||
resize: none;
|
||||
}
|
||||
|
||||
.composer-call {
|
||||
@@ -626,6 +668,11 @@
|
||||
max-height: 16rem;
|
||||
}
|
||||
|
||||
.status-indicators {
|
||||
width: 100%;
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.bubble {
|
||||
max-width: 88%;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user