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

252 lines
4.0 KiB
CSS

/* SPDX-License-Identifier: AGPL-3.0-or-later */
.headerContainer {
display: flex;
flex-direction: column;
gap: var(--spacing-3);
}
.scroller {
padding-top: var(--spacing-2);
}
.filterList {
display: flex;
gap: var(--spacing-2);
flex-wrap: wrap;
}
.filterPill {
display: flex;
align-items: center;
gap: 0.25rem;
flex: none;
border-radius: var(--radius-md);
padding: var(--spacing-1) var(--spacing-2);
font-weight: 600;
font-size: 0.75rem;
line-height: 1.25rem;
background-color: transparent;
color: var(--text-primary-muted);
cursor: pointer;
transition-property: color, background-color;
transition-duration: 200ms;
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.filterPill:hover {
background-color: var(--background-modifier-hover);
color: var(--text-primary);
}
.filterPillActive {
background-color: var(--background-modifier-selected);
color: var(--text-primary);
}
.filterPillIcon {
width: 0.875rem;
height: 0.875rem;
}
.mobileHeaderContainer {
display: flex;
flex-direction: column;
gap: var(--spacing-3);
}
.mobileHeaderContainerStandalone {
composes: mobileHeaderContainer;
padding-block: var(--spacing-2);
padding-inline: var(--spacing-4);
}
.columnContainerOverflow .grid {
padding: 0;
}
.fullHeightRelative {
position: relative;
height: 100%;
}
.columnContainer {
display: flex;
height: 100%;
flex-direction: column;
}
.columnContainerOverflow {
composes: columnContainer;
overflow: hidden;
}
.bodyWrapper {
position: relative;
flex: 1;
min-height: 0;
overflow: hidden;
}
.scrollerFull {
height: 100%;
width: 100%;
}
@media (max-width: 768px) {
.scrollerFull {
scrollbar-width: none;
}
.scrollerFull::-webkit-scrollbar {
display: none;
}
}
.centeredContent {
display: flex;
flex: 1;
align-items: center;
justify-content: center;
padding: 2rem 1rem;
}
.slate {
display: flex;
flex-direction: column;
align-items: center;
gap: 0.5rem;
text-align: center;
}
.slateIcon {
height: 3.5rem;
width: 3.5rem;
color: var(--text-primary-muted);
}
.slateTitle {
font-size: 1.25rem;
font-weight: 600;
color: var(--text-primary);
}
.slateDescription {
font-size: 1rem;
color: var(--text-primary-muted);
}
.gifBadge {
position: absolute;
top: 0.5rem;
left: 0.5rem;
z-index: 10;
padding: 0.125rem 0.25rem;
border-radius: 0.375rem;
background-color: rgba(0, 0, 0, 0.6);
font-size: 0.875rem;
font-weight: 600;
line-height: 1;
color: white;
}
.fullSize {
height: 100%;
width: 100%;
}
.audioCard {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 0.75rem;
height: 100%;
width: 100%;
padding: 1rem;
border-radius: 0.5rem;
background-color: var(--brand-primary);
}
.audioIcon {
height: 3rem;
width: 3rem;
color: white;
flex-shrink: 0;
}
.audioMeta {
display: flex;
flex-direction: column;
align-items: center;
gap: 0.5rem;
width: 100%;
}
.audioDuration {
font-family: var(--font-mono);
font-size: 1.125rem;
color: white;
}
.audioFilename {
width: 100%;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
text-align: center;
font-weight: 600;
font-size: 0.875rem;
color: rgba(255, 255, 255, 0.9);
}
.audioBadge {
padding: 0.125rem 0.5rem;
border-radius: 0.375rem;
background-color: rgba(0, 0, 0, 0.2);
font-weight: 700;
font-size: 0.75rem;
color: white;
}
.actionBar {
position: absolute;
top: 0.5rem;
right: 0.5rem;
display: flex;
gap: 0.5rem;
z-index: 10;
opacity: 0;
transform: translateY(-0.25rem);
pointer-events: none;
}
.actionButton {
composes: item roundItem from '@app/features/ui/action_toolbar/ActionToolbar.module.css';
--action-toolbar-item-size: 2.25rem;
--action-toolbar-item-background: var(--background-primary);
--action-toolbar-item-color: var(--text-primary);
border: none;
backdrop-filter: blur(0.375rem);
opacity: 0.8;
transition: none;
}
.actionButton:hover {
opacity: 1;
}
.actionButtonDanger {
composes: actionButton;
}
.actionButtonDanger:hover {
background-color: var(--status-danger);
color: white;
}
.actionButtonIcon {
height: 1rem;
width: 1rem;
}