Files
fluxer/fluxer_app/src/features/channel/components/ChannelIndexPage.module.css
T

324 lines
6.6 KiB
CSS

/* SPDX-License-Identifier: AGPL-3.0-or-later */
.voiceChannelContainer {
height: 100%;
width: 100%;
min-width: 0;
min-height: 0;
overflow: hidden;
background: #000;
}
.voiceChannelFullscreenShell {
display: block;
min-height: 0;
background: #000;
}
.channelGrid {
display: grid;
height: 100%;
min-height: 0;
width: 100%;
max-width: 100%;
min-width: 0;
grid-template-rows: 4rem minmax(0, 1fr);
background: var(--background-secondary-lighter);
overflow: hidden;
}
@media (min-width: 768px) {
.channelGrid {
grid-template-rows: 3.5rem minmax(0, 1fr);
}
}
.channelGridVoiceCallActive {
grid-template-rows: auto minmax(0, 1fr);
background: #000;
}
.channelGridVoiceCallExpanded {
grid-template-rows: minmax(0, 1fr) 0;
}
.channelGrid[data-voice-text-split-view='true'] {
grid-template-rows: auto minmax(0, 1fr);
background: var(--background-secondary-lighter);
}
@media (min-width: 768px) {
.channelGridVoiceCallActive {
grid-template-rows: auto minmax(0, 1fr);
}
.channelGridVoiceCallExpanded {
grid-template-rows: minmax(0, 1fr) 0;
}
}
.voiceActiveHeaderWrapper {
position: relative;
background-color: #000;
}
.voiceActiveHeaderWrapperOverlay {
isolation: isolate;
}
.voiceActiveHeaderWrapperOverlay > [data-voice-call-channel-header='true'] {
position: absolute;
top: 0;
right: 0;
left: 0;
z-index: 20;
opacity: 0;
pointer-events: none;
transition: opacity 220ms cubic-bezier(0.2, 0, 0, 1);
}
.voiceActiveHeaderWrapperOverlay:is(:hover, :focus-within) > [data-voice-call-channel-header='true'],
.voiceActiveHeaderWrapperOverlay[data-voice-call-header-pinned='true'] > [data-voice-call-channel-header='true'] {
opacity: 1;
pointer-events: auto;
}
.voiceActiveHeaderWrapperOverlay:is(:hover, :focus-within) [data-voice-call-root],
.voiceActiveHeaderWrapperOverlay[data-voice-call-header-pinned='true'] [data-voice-call-root] {
--voice-hud-opacity: 1;
--voice-hud-pointer-events: auto;
--voice-hud-transition-duration: 220ms;
}
.voiceActiveHeaderWrapperOverlay:has([data-voice-call-avatar-mode='true']) > [data-voice-call-channel-header='true'] {
position: relative;
opacity: 1;
pointer-events: auto;
}
.voiceActiveHeaderWrapperOverlay:has([data-voice-call-popped-out='true']) > [data-voice-call-channel-header='true'] {
opacity: 1;
pointer-events: auto;
}
.voiceActiveHeaderWrapperOverlay:has([data-voice-call-avatar-mode='true']) [data-voice-call-root] {
--voice-hud-opacity: 1;
--voice-hud-pointer-events: auto;
--voice-hud-transition-duration: 220ms;
}
.voiceActiveHeaderWrapperExpanded {
display: flex;
flex-direction: column;
height: 100%;
min-height: 0;
}
.voiceActiveHeaderWrapper[data-voice-text-split-view='true'] {
display: flex;
flex-direction: column;
min-height: 0;
}
@media (hover: none) {
.voiceActiveHeaderWrapperOverlay > [data-voice-call-channel-header='true'] {
opacity: 1;
pointer-events: auto;
}
}
.compactCallWrapper {
position: relative;
display: flex;
flex-direction: column;
min-height: 0;
background-color: #000;
border-bottom: 0.0625rem solid var(--voice-overlay-light);
}
.compactCallWrapperExpanded {
flex: 1 1 auto;
height: 100%;
border-bottom: none;
}
.compactCallWrapperResizing {
user-select: none;
}
.compactVoiceCallView {
width: 100%;
height: 100%;
min-height: 0;
flex: 1 1 auto;
overflow: hidden;
border-radius: 0;
background-color: #000;
}
.compactVoiceCallViewExpanded {
flex: 1 1 auto;
height: 100%;
min-height: 0;
}
.channelGridVoiceCallActive .contentGrid {
background: #000;
}
.channelGridVoiceCallExpanded .contentGrid {
overflow: hidden;
}
.channelGrid[data-voice-text-split-view='true'] .contentGrid {
background: var(--background-secondary-lighter);
}
.channelGrid[data-voice-text-split-view='true'] .compactCallWrapper {
flex: 0 0 auto;
height: clamp(13rem, 42vh, 28rem);
height: clamp(13rem, 42svh, 28rem);
max-height: 48vh;
max-height: 48svh;
}
@media (min-width: 600px) and (orientation: portrait) {
.channelGrid[data-voice-text-split-view='true'] .compactCallWrapper {
height: clamp(18rem, 44vh, 34rem);
height: clamp(18rem, 44svh, 34rem);
max-height: 50vh;
max-height: 50svh;
}
}
@media (max-height: 600px) and (orientation: portrait) {
.channelGrid[data-voice-text-split-view='true'] .compactCallWrapper {
height: clamp(9rem, 36vh, 13rem);
height: clamp(9rem, 36svh, 13rem);
max-height: 40vh;
max-height: 40svh;
}
}
.contentGrid {
display: grid;
height: 100%;
min-height: 0;
width: 100%;
max-width: 100%;
min-width: 0;
grid-template-columns: minmax(0, 1fr) auto;
position: relative;
contain: layout style;
overflow: hidden;
}
.chatAreaSlot {
height: 100%;
min-width: 0;
min-height: 0;
overflow: hidden;
}
.memberListDivider {
position: absolute;
top: 0;
bottom: 0;
right: var(--member-list-width, 16.5rem);
width: 0.0625rem;
background: var(--user-area-divider-color);
pointer-events: none;
z-index: 5;
}
.searchPanel {
display: flex;
height: 100%;
min-height: 0;
width: 100%;
min-width: 0;
border-left: 0.0625rem solid var(--user-area-divider-color);
}
.voiceJoinEmptyState {
position: relative;
display: flex;
width: 100%;
height: 100%;
min-width: 0;
min-height: 0;
align-items: center;
justify-content: center;
overflow: hidden;
background: #000;
container-type: size;
isolation: isolate;
}
.voiceJoinEmptyContent {
position: relative;
z-index: 1;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: var(--spacing-4);
max-width: min(100%, 28rem);
padding: clamp(1.25rem, 5cqh, 2rem);
text-align: center;
}
.voiceJoinEmptyMark {
display: flex;
align-items: center;
justify-content: center;
width: clamp(3rem, 11cqh, 4.25rem);
height: clamp(3rem, 11cqh, 4.25rem);
border-radius: 50%;
border: 0.0625rem solid rgb(255 255 255 / 0.2);
background: linear-gradient(135deg, rgb(118 208 255 / 0.28), rgb(130 116 255 / 0.18)), rgb(255 255 255 / 0.06);
box-shadow:
inset 0 0.0625rem 0 rgb(255 255 255 / 0.18),
0 1.125rem 3.25rem rgb(0 0 0 / 0.32);
color: rgb(248 250 255 / 0.9);
}
.voiceJoinEmptyIcon {
width: 62%;
height: 62%;
flex-shrink: 0;
filter: drop-shadow(0 0.375rem 1.125rem rgb(0 0 0 / 0.32));
}
.voiceJoinEmptyTitle {
max-width: 100%;
margin: 0;
overflow: hidden;
color: rgb(248 250 255 / 0.92);
font-size: clamp(1.15rem, 5.2cqh, 1.75rem);
font-weight: 700;
line-height: 1.18;
text-overflow: ellipsis;
white-space: nowrap;
}
.voiceJoinDisabledWrap {
display: inline-flex;
}
@container (max-height: 260px) {
.voiceJoinEmptyContent {
gap: var(--spacing-3);
padding: var(--spacing-3);
}
.voiceJoinEmptyMark {
width: 2.5rem;
height: 2.5rem;
}
.voiceJoinEmptyTitle {
font-size: 1rem;
}
}