From d54cb7507a3d3b618e729541b55032494cd1e328d4047ec29e57fa03c3f091a7 Mon Sep 17 00:00:00 2001 From: AidarKC Date: Fri, 24 Jul 2026 19:28:50 +0400 Subject: [PATCH] =?UTF-8?q?UI:=20=D1=80=D0=B0=D0=B7=D0=B4=D0=B5=D0=BB?= =?UTF-8?q?=D0=B8=D1=82=D1=8C=20=D0=B2=D1=85=D0=BE=D0=B4=D1=8F=D1=89=D0=B8?= =?UTF-8?q?=D0=B9=20=D0=B8=20=D0=B0=D0=BA=D1=82=D0=B8=D0=B2=D0=BD=D1=8B?= =?UTF-8?q?=D0=B9=20=D0=B7=D0=B2=D0=BE=D0=BD=D0=BE=D0=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VERSION.properties | 2 +- shine-UI/js/services/call-ui-service.js | 27 ++++++++++++++++--------- shine-UI/styles/components.css | 8 ++++++++ 3 files changed, 27 insertions(+), 10 deletions(-) diff --git a/VERSION.properties b/VERSION.properties index f32a4bf4..efdef24a 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ -client.version=1.2.351 +client.version=1.2.353 server.version=1.2.319 diff --git a/shine-UI/js/services/call-ui-service.js b/shine-UI/js/services/call-ui-service.js index 7271f918..6b88253d 100644 --- a/shine-UI/js/services/call-ui-service.js +++ b/shine-UI/js/services/call-ui-service.js @@ -15,6 +15,8 @@ let panelEl = null; let headerEl = null; let titleEl = null; let statusEl = null; +let incomingActionsEl = null; +let activeActionsEl = null; let speakerBtn = null; let muteBtn = null; let acceptBtn = null; @@ -217,8 +219,11 @@ function ensureUi() { statusEl = document.createElement('div'); statusEl.className = 'call-overlay-status'; - const controls = document.createElement('div'); - controls.className = 'call-overlay-controls'; + incomingActionsEl = document.createElement('div'); + incomingActionsEl.className = 'call-overlay-controls call-overlay-controls--incoming'; + + activeActionsEl = document.createElement('div'); + activeActionsEl.className = 'call-overlay-controls call-overlay-controls--active'; speakerBtn = document.createElement('button'); speakerBtn.type = 'button'; @@ -252,9 +257,10 @@ function ensureUi() { setButtonIcon(hangupBtn, 'hangup', 'Положить трубку'); hangupBtn.addEventListener('click', handleEndCallClick); - controls.append(speakerBtn, muteBtn, acceptBtn, declineBtn, hangupBtn); + incomingActionsEl.append(acceptBtn, declineBtn); + activeActionsEl.append(speakerBtn, muteBtn, hangupBtn); headerEl.append(titleEl, minimizeBtn); - panelEl.append(headerEl, statusEl, controls); + panelEl.append(headerEl, statusEl, incomingActionsEl, activeActionsEl); overlayEl.append(panelEl); rootEl.append(barEl, overlayEl); resolveAppShell().append(rootEl); @@ -275,15 +281,18 @@ function applyExpandedState(snapshot) { minimizeBtn.hidden = incomingStage; minimizeBtn.disabled = incomingStage; - speakerBtn.hidden = incomingStage || !snapshot.canToggleSpeaker; + incomingActionsEl.hidden = !incomingStage; + activeActionsEl.hidden = incomingStage; + + speakerBtn.hidden = !snapshot.canToggleSpeaker; speakerBtn.disabled = !snapshot.canToggleSpeaker; - muteBtn.hidden = incomingStage || !snapshot.canMute; + muteBtn.hidden = !snapshot.canMute; muteBtn.disabled = !snapshot.canMute; - acceptBtn.hidden = !snapshot.canAnswer; - declineBtn.hidden = !snapshot.canDecline; - hangupBtn.hidden = incomingStage || !snapshot.canHangup; + acceptBtn.hidden = !incomingStage || !snapshot.canAnswer; + declineBtn.hidden = !incomingStage || !snapshot.canDecline; + hangupBtn.hidden = !snapshot.canHangup; } function applyMinimizedState(snapshot) { diff --git a/shine-UI/styles/components.css b/shine-UI/styles/components.css index 419ed621..eac867b9 100644 --- a/shine-UI/styles/components.css +++ b/shine-UI/styles/components.css @@ -1903,6 +1903,14 @@ align-items: center; } +.call-overlay-controls--incoming { + justify-content: flex-start; +} + +.call-overlay-controls--active { + justify-content: flex-start; +} + .call-decline-btn { min-width: 120px; }