refactor progress

This commit is contained in:
Hampus Kraft
2026-02-17 12:22:36 +00:00
parent cb31608523
commit d5abd1a7e4
8257 changed files with 1190207 additions and 761040 deletions

View File

@@ -0,0 +1,178 @@
/*
* Copyright (C) 2026 Fluxer Contributors
*
* This file is part of Fluxer.
*
* Fluxer is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Fluxer is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with Fluxer. If not, see <https://www.gnu.org/licenses/>.
*/
.gridItem {
position: relative;
background-color: var(--background-secondary);
border: none;
padding: 0;
margin: 0;
font: inherit;
color: inherit;
text-align: inherit;
line-height: inherit;
max-width: 100%;
width: 100%;
height: auto;
min-height: 1px;
min-width: 1px;
overflow: hidden;
border-radius: var(--media-border-radius);
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
}
.clickableButton {
cursor: pointer;
height: 100%;
width: 100%;
border: 0;
background-color: transparent;
padding: 0;
}
.mediaContainer {
position: relative;
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
.loadingOverlay {
position: relative;
width: 100%;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
overflow: hidden;
}
.placeholderImage {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: cover;
display: block;
min-width: 100%;
min-height: 100%;
max-width: 100%;
}
.mediaImage {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: cover;
display: block;
min-width: 100%;
min-height: 100%;
max-width: 100%;
transition: opacity 0.2s;
opacity: 1;
}
.mediaImageHidden {
opacity: 0;
}
.mediaBlurred {
filter: blur(12px);
opacity: 0.15;
}
.nsfwOverlay {
position: absolute;
inset: 0;
display: flex;
align-items: center;
justify-content: center;
background-color: var(--spoiler-overlay-color);
backdrop-filter: blur(12px);
z-index: 3;
padding: 0.5rem;
text-align: center;
}
.playButtonOverlay {
position: absolute;
inset: 0;
display: flex;
align-items: center;
justify-content: center;
pointer-events: none;
z-index: 2;
}
.playButton {
display: flex;
align-items: center;
justify-content: center;
width: 56px;
height: 56px;
border-radius: 50%;
background-color: rgba(0, 0, 0, 0.75);
}
.playButton svg {
color: var(--text-on-brand-primary);
}
.audioPlaceholder {
width: 100%;
height: 100%;
max-width: 100%;
display: flex;
align-items: center;
justify-content: center;
background: linear-gradient(135deg, var(--background-tertiary) 0%, var(--background-secondary-alt) 100%);
overflow: hidden;
position: relative;
}
.audioPlaceholder svg {
width: 40%;
height: 40%;
max-width: 80px;
max-height: 80px;
opacity: 0.6;
color: var(--text-tertiary);
flex-shrink: 0;
}
.gifIndicator {
position: absolute;
top: 8px;
left: 8px;
z-index: 10;
border-radius: 4px;
background-color: rgba(0, 0, 0, 0.6);
padding: 4px 8px;
font-size: 0.875rem;
font-weight: 600;
color: var(--text-on-brand-primary);
line-height: 1;
}