Files
SHiNE-server/shine-UI/styles/features/notifications.css
T

233 lines
4.8 KiB
CSS

/* Notifications feature styles. */
/* ===== Notifications glass style ===== */
.notifications-screen {
position: relative;
isolation: isolate;
color: rgba(255, 255, 255, 0.9);
min-height: 100%;
align-content: start;
}
.notifications-screen::before {
content: "";
position: absolute;
inset: -12px -12px 0;
z-index: -1;
pointer-events: none;
background:
radial-gradient(320px 320px at 86% 12%, rgba(147, 112, 219, 0.2), transparent 72%),
radial-gradient(280px 280px at 18% 82%, rgba(147, 112, 219, 0.14), transparent 72%),
radial-gradient(260px 260px at 70% 65%, rgba(212, 175, 55, 0.12), transparent 75%),
#05070A;
}
.notifications-screen .tabs {
background: rgba(20, 25, 35, 0.5);
backdrop-filter: blur(18px);
-webkit-backdrop-filter: blur(18px);
border: 1px solid transparent;
border-radius: 16px;
}
.notifications-screen .tab-btn {
color: rgba(255, 255, 255, 0.65);
}
.notifications-screen .tab-btn.active {
background: rgba(255, 180, 0, 0.12);
border: 1px solid transparent;
color: rgba(255, 200, 50, 0.92);
}
.notifications-screen .notifications-list > .card {
background: rgba(20, 25, 35, 0.55);
backdrop-filter: blur(24px);
-webkit-backdrop-filter: blur(24px);
border: 1px solid rgba(255, 255, 255, 0.08);
border-radius: 20px;
box-shadow: 0 0 60px rgba(80, 60, 180, 0.12);
}
.notifications-screen::before {
content: none;
}
/* Contacts overflow menu body portal: avoids topbar overflow hit-testing on desktop/Android. */
/* ===== Notifications: social event cards ===== */
.notifications-screen .notification-card {
gap: 10px;
}
.notification-identity {
display: flex;
align-items: center;
gap: 10px;
min-width: 0;
}
.notification-avatar {
width: 40px;
height: 40px;
min-width: 40px;
min-height: 40px;
flex: 0 0 auto;
}
.notification-identity-text {
min-width: 0;
flex: 1 1 auto;
}
.notification-identity-primary {
display: flex;
align-items: baseline;
gap: 6px;
min-width: 0;
flex-wrap: wrap;
}
.notification-person-name {
color: rgba(255, 255, 255, 0.96);
font-weight: 700;
overflow-wrap: anywhere;
}
.notification-login,
.notification-time-separator,
.notification-time {
color: rgba(255, 255, 255, 0.5);
font-size: 12px;
}
.notification-action,
.notification-content {
margin: 0;
}
.notification-action {
color: rgba(255, 255, 255, 0.66);
font-size: 13px;
}
.notification-content {
color: rgba(255, 255, 255, 0.94);
font-size: 15px;
line-height: 1.45;
white-space: pre-wrap;
overflow-wrap: anywhere;
}
.notification-engagement {
display: flex;
align-items: center;
gap: 18px;
flex-wrap: wrap;
padding-top: 2px;
color: rgba(255, 255, 255, 0.58);
}
.notification-engagement-item {
display: inline-flex;
align-items: center;
gap: 5px;
min-width: 24px;
font-size: 12px;
line-height: 1;
}
.notification-engagement-icon {
font-size: 15px;
}
.notifications-screen .notification-card--clickable {
cursor: pointer;
transition: transform 120ms ease, border-color 120ms ease, background-color 120ms ease;
}
.notifications-screen .notification-card--clickable:hover,
.notifications-screen .notification-card--clickable:focus-visible {
border-color: rgba(255, 255, 255, 0.2);
background: rgba(255, 255, 255, 0.055);
outline: none;
}
.notifications-screen .notification-card--clickable:active {
transform: scale(0.99);
}
/* Уведомления: переключатели лент повторяют стеклянные чипы экрана «Связи». */
.notifications-screen .notification-feed-tabs {
display: flex;
align-items: center;
justify-content: center;
flex-wrap: wrap;
gap: 8px;
padding: 8px 12px 4px;
margin: 0;
background: transparent;
border: 0;
box-shadow: none;
}
.notifications-screen .notification-feed-tabs .notification-tab-btn {
min-width: 92px;
text-align: center;
}
/* На обычных экранах отступ создаёт стандартный padding screen-content (14px). */
.notifications-screen .notification-feed-tabs.app-top-tabs {
min-height: var(--app-primary-tab-min-height);
padding: 0;
margin: 0;
}
.notifications-screen .notification-feed-tabs .notification-tab-btn {
min-width: 92px;
}
/* Уведомления: информационные блоки без рамок. Hover/focus не возвращает
* обводку — различение сохраняется фоном и лёгкой реакцией на нажатие. */
.notifications-screen .notifications-list > .notification-card,
.notifications-screen .notifications-list > .notification-card:hover,
.notifications-screen .notifications-list > .notification-card:focus,
.notifications-screen .notifications-list > .notification-card:focus-visible,
.notifications-screen .notifications-list > .notification-card:active {
border: 0;
outline: 0;
}