Profile: store covers in object storage (WebP); add covers config; remember artworks categories content-type preference
This commit is contained in:
@@ -53,6 +53,21 @@
|
||||
input[type="file"] {
|
||||
@apply bg-transparent text-soft p-0;
|
||||
}
|
||||
|
||||
.auth-card {
|
||||
max-width: 720px;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
.auth-card h1 {
|
||||
font-size: 1.25rem;
|
||||
line-height: 1.2;
|
||||
}
|
||||
|
||||
.auth-card p {
|
||||
color: rgba(203,213,225,0.9);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -61,9 +76,88 @@
|
||||
box-sizing: border-box;
|
||||
border: 0 solid transparent;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
color: #ffffff;
|
||||
margin-top: 1rem;
|
||||
margin-bottom: 0.5rem;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 2.25rem;
|
||||
line-height: 1.05;
|
||||
font-weight: 800;
|
||||
letter-spacing: -0.02em;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 1.5rem;
|
||||
line-height: 1.15;
|
||||
font-weight: 700;
|
||||
letter-spacing: -0.01em;
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-size: 1.125rem;
|
||||
line-height: 1.2;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
h4 {
|
||||
font-size: 1rem;
|
||||
line-height: 1.25;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
h5 {
|
||||
font-size: 0.95rem;
|
||||
line-height: 1.25;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
h6 {
|
||||
font-size: 0.85rem;
|
||||
line-height: 1.3;
|
||||
font-weight: 600;
|
||||
text-transform: uppercase;
|
||||
opacity: 0.85;
|
||||
}
|
||||
|
||||
.prose h1 {
|
||||
font-size: 2.25rem;
|
||||
}
|
||||
|
||||
.prose h2 {
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
|
||||
.prose h3 {
|
||||
font-size: 1.125rem;
|
||||
}
|
||||
|
||||
.prose h4,
|
||||
.prose h5,
|
||||
.prose h6 {
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
[x-cloak] {
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
@layer utilities {
|
||||
.nova-card-enter {
|
||||
opacity: 0;
|
||||
transform: translateY(10px) scale(0.995);
|
||||
}
|
||||
|
||||
.nova-card-enter.nova-card-enter-active {
|
||||
transition: transform 380ms cubic-bezier(.2,.9,.2,1), opacity 380ms ease-out;
|
||||
opacity: 1;
|
||||
transform: none;
|
||||
}
|
||||
|
||||
.nova-scrollbar {
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: rgba(255,255,255,0.14) transparent;
|
||||
@@ -171,6 +265,106 @@
|
||||
.messages-page *::-webkit-scrollbar-corner {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
/* Gallery page helpers */
|
||||
.nb-hero-fade {
|
||||
background: linear-gradient(180deg, rgba(17,24,39,0) 0%, rgba(7,10,15,0.9) 60%, rgba(7,10,15,1) 100%);
|
||||
}
|
||||
|
||||
.nb-hero-gradient {
|
||||
background: linear-gradient(135deg, rgba(224,122,33,0.08) 0%, rgba(15,23,36,0) 50%, rgba(21,36,58,0.4) 100%);
|
||||
animation: nb-hero-shimmer 8s ease-in-out infinite alternate;
|
||||
}
|
||||
|
||||
.gallery-rank-tab {
|
||||
-webkit-tap-highlight-color: transparent;
|
||||
}
|
||||
|
||||
.gallery-rank-tab .nb-tab-indicator {
|
||||
transition: transform 300ms cubic-bezier(0.4, 0, 0.2, 1), background-color 200ms ease;
|
||||
}
|
||||
|
||||
.nb-scrollbar-none {
|
||||
-ms-overflow-style: none;
|
||||
scrollbar-width: none;
|
||||
}
|
||||
|
||||
.nb-scrollbar-none::-webkit-scrollbar {
|
||||
display: none;
|
||||
}
|
||||
|
||||
[data-react-masonry-gallery] {
|
||||
animation: nb-gallery-fade-in 300ms ease-out both;
|
||||
}
|
||||
|
||||
.nb-filter-choice {
|
||||
display: inline-flex;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.nb-filter-choice--block {
|
||||
display: flex;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.nb-filter-choice-label {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
padding: 0.375rem 0.875rem;
|
||||
border-radius: 9999px;
|
||||
border: 1px solid rgba(255,255,255,0.1);
|
||||
background: rgba(255,255,255,0.05);
|
||||
color: rgba(214,224,238,0.8);
|
||||
font-size: 0.8125rem;
|
||||
font-weight: 500;
|
||||
transition: background 150ms ease, color 150ms ease, border-color 150ms ease;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.nb-filter-choice--block .nb-filter-choice-label {
|
||||
border-radius: 0.6rem;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.nb-filter-choice input:checked ~ .nb-filter-choice-label {
|
||||
background: #E07A21;
|
||||
border-color: #E07A21;
|
||||
color: #fff;
|
||||
box-shadow: 0 1px 8px rgba(224,122,33,0.35);
|
||||
}
|
||||
|
||||
.nb-filter-choice input:focus-visible ~ .nb-filter-choice-label {
|
||||
outline: 2px solid rgba(224,122,33,0.6);
|
||||
outline-offset: 2px;
|
||||
}
|
||||
|
||||
.nb-filter-input {
|
||||
appearance: none;
|
||||
background: rgba(255,255,255,0.05);
|
||||
border: 1px solid rgba(255,255,255,0.1);
|
||||
border-radius: 0.5rem;
|
||||
color: rgba(255,255,255,0.85);
|
||||
font-size: 0.8125rem;
|
||||
padding: 0.425rem 0.75rem;
|
||||
transition: border-color 150ms ease;
|
||||
color-scheme: dark;
|
||||
}
|
||||
|
||||
.nb-filter-input:focus {
|
||||
outline: none;
|
||||
border-color: rgba(224,122,33,0.6);
|
||||
box-shadow: 0 0 0 3px rgba(224,122,33,0.15);
|
||||
}
|
||||
|
||||
@keyframes nb-hero-shimmer {
|
||||
0% { opacity: 0.6; }
|
||||
100% { opacity: 1; }
|
||||
}
|
||||
|
||||
@keyframes nb-gallery-fade-in {
|
||||
from { opacity: 0; transform: translateY(12px); }
|
||||
to { opacity: 1; transform: translateY(0); }
|
||||
}
|
||||
}
|
||||
|
||||
/* ─── TipTap rich text editor ─── */
|
||||
|
||||
Reference in New Issue
Block a user