ui: заменить оставшиеся боковые панели на центрированные popup.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-10-13 13:12:21 +03:00
parent 31dd3b4ffc
commit 4e1d5f221e
12 changed files with 107 additions and 52 deletions
+12 -6
View File
@@ -80,9 +80,11 @@
</div>
</div>
<!-- Выездная панель: обсуждение -->
<div id="chat-thread-panel-overlay" onclick="chatPanelClose('chat-thread-panel')" style="display:none; position:fixed; inset:0; background:rgba(0,0,0,0.4); z-index:1000;"></div>
<div id="chat-thread-panel" style="position:fixed; top:0; right:0; height:100vh; width:26rem; max-width:92vw; background:var(--color-card); box-shadow:-8px 0 24px rgba(0,0,0,0.18); z-index:1001; transform:translateX(100%); transition:transform 250ms ease; overflow-y:auto; display:flex; flex-direction:column;">
<!-- Попап: обсуждение -->
<div id="chat-thread-panel" role="dialog" aria-modal="true"
style="display:none; position:fixed; inset:0; z-index:80; background:rgba(0,0,0,0.4); align-items:center; justify-content:center; padding:1.5rem 1rem;"
onclick="if(event.target===this) chatPanelClose('chat-thread-panel')">
<div style="background:var(--color-card); border-radius:0.75rem; border:1px solid var(--color-border); box-shadow:0 20px 60px rgb(0 0 0/0.2); width:100%; max-width:36rem; height:min(36rem, 90vh); margin:auto; display:flex; flex-direction:column; overflow:hidden;">
<div style="padding:1rem 1.25rem; border-bottom:1px solid var(--color-border); display:flex; align-items:center; justify-content:space-between; position:sticky; top:0; background:var(--color-card); z-index:1;">
<span style="font-size:0.9375rem; font-weight:600; color:var(--color-foreground);">{% trans "Обсуждение" %}</span>
<button type="button" onclick="chatPanelClose('chat-thread-panel')" class="btn btn-ghost btn-icon" aria-label="{% trans 'Закрыть' %}">
@@ -102,11 +104,14 @@
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="m22 2-7 20-4-9-9-4Z"/><path d="M22 2 11 13"/></svg>
</button>
</div>
</div>
</div>
<!-- Выездная панель: новое личное/групповое сообщение -->
<div id="chat-dm-picker-panel-overlay" onclick="chatPanelClose('chat-dm-picker-panel')" style="display:none; position:fixed; inset:0; background:rgba(0,0,0,0.4); z-index:1000;"></div>
<div id="chat-dm-picker-panel" style="position:fixed; top:0; right:0; height:100vh; width:26rem; max-width:92vw; background:var(--color-card); box-shadow:-8px 0 24px rgba(0,0,0,0.18); z-index:1001; transform:translateX(100%); transition:transform 250ms ease; overflow-y:auto; display:flex; flex-direction:column;">
<!-- Попап: новое личное/групповое сообщение -->
<div id="chat-dm-picker-panel" role="dialog" aria-modal="true"
style="display:none; position:fixed; inset:0; z-index:80; background:rgba(0,0,0,0.4); align-items:center; justify-content:center; padding:1.5rem 1rem;"
onclick="if(event.target===this) chatPanelClose('chat-dm-picker-panel')">
<div style="background:var(--color-card); border-radius:0.75rem; border:1px solid var(--color-border); box-shadow:0 20px 60px rgb(0 0 0/0.2); width:100%; max-width:36rem; height:min(32rem, 90vh); margin:auto; display:flex; flex-direction:column; overflow:hidden;">
<div style="padding:1rem 1.25rem; border-bottom:1px solid var(--color-border); display:flex; align-items:center; justify-content:space-between; position:sticky; top:0; background:var(--color-card); z-index:1;">
<span style="font-size:0.9375rem; font-weight:600; color:var(--color-foreground);">{% trans "Новое сообщение" %}</span>
<button type="button" onclick="chatPanelClose('chat-dm-picker-panel')" class="btn btn-ghost btn-icon" aria-label="{% trans 'Закрыть' %}">
@@ -118,6 +123,7 @@
<div id="chat-dm-picker-list" style="display:flex; flex-direction:column; gap:0.25rem; overflow-y:auto; flex:1;"></div>
<button type="button" class="btn btn-primary" style="width:100%; justify-content:center;" onclick="chatStartNewDm()">{% trans "Начать разговор" %}</button>
</div>
</div>
</div>
<script>chatInit();</script>