Обновить UI и документы личных сообщений

This commit is contained in:
AidarKC
2026-08-29 15:12:13 +04:00
parent 357a05f7ec
commit b47440dd72
26 changed files with 851 additions and 257 deletions
+306
View File
@@ -10008,3 +10008,309 @@ body.chat-topbar-overlay .composer-slot {
@keyframes secret-generation-spin {
to { transform: rotate(360deg); }
}
/* ===== 2026-08-28: единое dropdown-меню для чатов / каналов / профиля ===== */
.shared-dropdown-menu {
position: fixed;
z-index: 12000;
}
.shared-dropdown-menu__item.is-selected {
background: rgba(39, 141, 255, 0.14);
}
.shared-dropdown-menu__icon {
width: 22px;
height: 22px;
min-width: 22px;
flex: 0 0 22px;
display: inline-grid;
place-items: center;
}
.shared-dropdown-menu__icon > svg,
.shared-dropdown-menu__item > img {
width: 22px;
height: 22px;
min-width: 22px;
flex: 0 0 22px;
object-fit: contain;
color: #65b7ff;
filter: drop-shadow(0 0 5px rgba(39, 141, 255, 0.28));
}
.profile-head-menu .shared-dropdown-menu__item > img {
width: 23px;
height: 23px;
min-width: 23px;
flex-basis: 23px;
}
.dm-head-filter-title,
.channels-filter-title {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 6px;
cursor: pointer;
}
.dm-head-filter-title::after,
.channels-filter-title::after {
content: '⌄';
font-size: 13px;
line-height: 1;
opacity: 0.72;
transform: translateY(-1px);
}
/* ===== Выбор языка со стартового экрана ===== */
.language-screen {
width: min(100%, 430px);
margin-inline: auto;
}
.language-choice-card {
padding: 16px;
background: rgba(38, 43, 52, 0.74);
border: 1px solid rgba(255, 255, 255, 0.10);
}
.language-choice-hint {
margin: 0 0 4px;
text-align: center;
}
.language-choice-grid {
display: grid;
gap: 10px;
}
.language-choice-option {
min-height: 64px;
padding: 0 16px;
display: grid;
grid-template-columns: 1fr auto;
align-items: center;
gap: 12px;
border: 1px solid rgba(210, 222, 241, 0.16) !important;
border-radius: 16px;
background: rgba(255, 255, 255, 0.035) !important;
text-align: left;
}
.language-choice-option.is-selected {
border-color: rgba(92, 190, 255, 0.62) !important;
background: rgba(39, 141, 255, 0.12) !important;
box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 0 20px rgba(39,141,255,.10) !important;
}
.language-choice-name {
font-size: 17px;
font-weight: 650;
}
.language-choice-code {
color: rgba(255,255,255,.5);
font-size: 13px;
font-weight: 700;
letter-spacing: .08em;
}
/* ===== Вход через другое устройство: заголовок внутри панели ===== */
.auth-screen--other-device {
justify-content: flex-start;
padding-top: max(18px, env(safe-area-inset-top));
}
.auth-screen--other-device .login-panel {
margin-top: 0;
}
.login-panel-inline-back {
width: 100%;
min-height: 42px;
display: flex;
align-items: center;
justify-content: flex-start !important;
gap: 10px;
padding: 0 2px;
font-size: 18px;
font-weight: 700;
text-align: left;
}
.login-panel-inline-back > span:first-child {
font-size: 24px;
line-height: 1;
}
/* ===== Pairing: простое Подключить / Отклонить + выбор доступных ключей ===== */
:root button.pairing-approve-btn,
:root button.pairing-approve-btn:hover,
:root button.pairing-approve-btn:focus {
background: linear-gradient(180deg, rgba(57, 180, 108, .92), rgba(22, 116, 69, .94)) !important;
border: 1px solid rgba(126, 235, 170, .55) !important;
border-radius: 14px;
box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 8px 22px rgba(22,116,69,.20) !important;
}
:root button.pairing-reject-btn,
:root button.pairing-reject-btn:hover,
:root button.pairing-reject-btn:focus {
color: #fff1f3 !important;
background: rgba(134, 31, 49, .28) !important;
border: 1px solid rgba(255, 105, 128, .42) !important;
border-radius: 14px;
}
.pairing-request-actions > button {
flex: 1 1 140px;
}
.pairing-transfer-dialog {
position: fixed;
inset: 0;
z-index: 13000;
}
.pairing-transfer-dialog__backdrop {
position: absolute;
inset: 0;
background: rgba(3, 7, 15, .76);
backdrop-filter: blur(8px);
-webkit-backdrop-filter: blur(8px);
}
.pairing-transfer-dialog__card {
position: absolute;
left: 50%;
top: 50%;
width: min(calc(100vw - 28px), 390px);
transform: translate(-50%, -50%);
padding: 16px;
gap: 14px;
}
.pairing-transfer-key-list {
display: grid;
gap: 9px;
}
.pairing-transfer-key {
display: grid;
grid-template-columns: auto 1fr;
align-items: center;
gap: 11px;
min-height: 58px;
padding: 9px 12px;
border: 1px solid rgba(255,255,255,.11);
border-radius: 14px;
background: rgba(255,255,255,.035);
}
.pairing-transfer-key span {
display: grid;
gap: 2px;
}
.pairing-transfer-key small {
color: rgba(255,255,255,.48);
}
.pairing-transfer-key.is-required {
opacity: .82;
}
.pairing-transfer-dialog__actions {
justify-content: flex-end;
flex-wrap: wrap;
}
/* ===== Каналы: плотные широкие строки, badge сверху, время на линии preview ===== */
.channels-screen--list .channels-list-content,
.channels-screen--list .channels-groups {
width: 100%;
}
.channels-screen--list .channel-row {
position: relative;
width: calc(100% - 8px);
grid-template-columns: 58px minmax(0, 1fr);
gap: 10px;
min-height: 64px;
margin: 2px 4px;
padding: 5px 8px 5px 5px;
border-radius: 14px;
}
.channels-screen--list .channel-row .avatar {
width: 52px;
height: 52px;
min-width: 52px;
min-height: 52px;
}
.channels-screen--list .channel-row-main {
min-width: 0;
padding-right: 6px;
gap: 1px;
}
.channels-screen--list .channel-row-preview-line {
display: grid;
grid-template-columns: minmax(0, 1fr) auto;
align-items: baseline;
gap: 8px;
min-width: 0;
}
.channels-screen--list .channel-row-preview-line .channel-row-message {
min-width: 0;
margin: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.channels-screen--list .channel-row-preview-line .channel-row-time {
align-self: baseline;
margin: 0;
white-space: nowrap;
font-size: 11px;
}
.channels-screen--list .channel-row-controls {
position: absolute;
top: 5px;
right: 7px;
width: auto;
min-width: 0;
height: auto;
}
.channels-screen--list .channel-row-count,
.channels-screen--list .unread.channel-row-count {
position: static !important;
margin: 0 !important;
}
/* ===== Вложенные настройки: тот же рамочный язык действий ===== */
:root .screen-content.settings-bordered-actions button:not(.icon-btn):not(.key-toggle-btn):not(.channel-toggle-btn):not(.fg-filter-chip):not(.toolbar-btn):not(.pairing-approve-btn):not(.pairing-reject-btn) {
border: 1px solid rgba(183, 203, 235, 0.28) !important;
border-radius: 14px;
background:
linear-gradient(180deg, rgba(255,255,255,.055), transparent 30%),
rgba(8, 19, 42, .58) !important;
box-shadow:
inset 0 1px 0 rgba(255,255,255,.10),
0 5px 16px rgba(0,0,0,.18) !important;
padding-inline: 14px;
}
:root .screen-content.settings-bordered-actions button:not(.icon-btn):not(.key-toggle-btn):not(.channel-toggle-btn):not(.fg-filter-chip):not(.toolbar-btn):not(.pairing-approve-btn):not(.pairing-reject-btn):hover {
border-color: rgba(213, 225, 247, 0.42) !important;
background:
linear-gradient(180deg, rgba(255,255,255,.075), transparent 30%),
rgba(10, 24, 52, .68) !important;
}