fixed a bug & replicated all changes to docker version

This commit is contained in:
2025-12-27 19:23:22 +01:00
parent cc0b0a891e
commit bc74aa8116
25 changed files with 1876 additions and 509 deletions

View File

@@ -34,7 +34,7 @@
border-radius: var(--radius-lg);
overflow: hidden;
box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.8);
border: 1px solid rgba(255, 255, 255, 0.1);
border: 1px solid rgba(255,255,255,0.1);
}
.poster-card img {
@@ -45,7 +45,7 @@
.info-grid {
background: var(--color-bg-elevated);
border: 1px solid rgba(255, 255, 255, 0.05);
border: 1px solid rgba(255,255,255,0.05);
border-radius: var(--radius-md);
padding: 1.5rem;
display: flex;
@@ -53,36 +53,16 @@
gap: 1.25rem;
}
.info-item h4 {
margin: 0 0 0.25rem 0;
font-size: 0.85rem;
color: var(--text-secondary);
text-transform: uppercase;
letter-spacing: 0.5px;
}
.info-item span {
font-weight: 600;
font-size: 1rem;
color: var(--text-primary);
}
.info-item h4 { margin: 0 0 0.25rem 0; font-size: 0.85rem; color: var(--color-text-secondary); text-transform: uppercase; letter-spacing: 0.5px; }
.info-item span { font-weight: 600; font-size: 1rem; color: var(--color-text-primary); }
.character-list {
display: flex;
flex-direction: column;
gap: 0.75rem;
}
.character-item {
display: flex;
align-items: center;
gap: 0.75rem;
font-size: 0.95rem;
}
.char-dot {
width: 6px;
height: 6px;
background: var(--color-primary);
border-radius: 50%;
}
.character-item { display: flex; align-items: center; gap: 0.75rem; font-size: 0.95rem; }
.char-dot { width: 6px; height: 6px; background: var(--color-primary); border-radius: 50%; }
.main-content {
display: flex;
@@ -99,7 +79,7 @@
font-weight: 900;
line-height: 1;
margin: 0 0 1.5rem 0;
text-shadow: 0 4px 30px rgba(0, 0, 0, 0.8);
text-shadow: 0 4px 30px rgba(0,0,0,0.8);
}
.meta-row {
@@ -112,18 +92,14 @@
.pill {
padding: 0.5rem 1.25rem;
background: rgba(255, 255, 255, 0.1);
background: rgba(255,255,255,0.1);
backdrop-filter: blur(10px);
border: 1px solid rgba(255, 255, 255, 0.1);
border: 1px solid rgba(255,255,255,0.1);
border-radius: var(--radius-full);
font-weight: 600;
font-size: 0.95rem;
}
.pill.score {
background: rgba(34, 197, 94, 0.2);
color: #4ade80;
border-color: rgba(34, 197, 94, 0.2);
}
.pill.score { background: rgba(34, 197, 94, 0.2); color: #4ade80; border-color: rgba(34, 197, 94, 0.2); }
.action-row {
display: flex;
@@ -143,9 +119,7 @@
display: flex;
align-items: center;
gap: 0.75rem;
transition:
transform 0.2s,
box-shadow 0.2s;
transition: transform 0.2s, box-shadow 0.2s;
}
.btn-watch:hover {
@@ -161,7 +135,7 @@
border-radius: var(--radius-full);
font-weight: 700;
font-size: 1rem;
border: 1px solid rgba(255, 255, 255, 0.2);
border: 1px solid rgba(255,255,255,0.2);
cursor: pointer;
transition: all 0.2s;
display: flex;
@@ -179,30 +153,17 @@
line-height: 1.8;
color: #e4e4e7;
max-width: 900px;
background: rgba(255, 255, 255, 0.03);
background: rgba(255,255,255,0.03);
padding: 2rem;
border-radius: var(--radius-md);
border: 1px solid rgba(255, 255, 255, 0.05);
border: 1px solid rgba(255,255,255,0.05);
}
.episodes-section {
margin-top: 4rem;
}
.section-title {
font-size: 1.8rem;
font-weight: 800;
margin-bottom: 1.5rem;
display: flex;
align-items: center;
gap: 0.8rem;
}
.section-title::before {
content: "";
width: 4px;
height: 28px;
background: var(--color-primary);
border-radius: 2px;
}
.section-title { font-size: 1.8rem; font-weight: 800; margin-bottom: 1.5rem; display: flex; align-items: center; gap: 0.8rem; }
.section-title::before { content: ''; width: 4px; height: 28px; background: var(--color-primary); border-radius: 2px; }
.episodes-grid {
display: grid;
@@ -212,14 +173,14 @@
.episode-btn {
background: var(--color-bg-elevated);
border: 1px solid rgba(255, 255, 255, 0.1);
border: 1px solid rgba(255,255,255,0.1);
padding: 1.25rem 1rem;
border-radius: var(--radius-md);
cursor: pointer;
transition: 0.2s;
text-align: center;
font-weight: 600;
color: var(--text-secondary);
color: var(--color-text-secondary);
}
.episode-btn:hover {
@@ -230,14 +191,8 @@
}
@keyframes slideUp {
from {
opacity: 0;
transform: translateY(60px);
}
to {
opacity: 1;
transform: translateY(0);
}
from { opacity: 0; transform: translateY(60px); }
to { opacity: 1; transform: translateY(0); }
}
@media (max-width: 1024px) {
@@ -246,24 +201,11 @@
margin-top: -100px;
padding: 0 1.5rem 4rem 1.5rem;
}
.poster-card {
width: 220px;
margin: 0 auto;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
}
.main-content {
text-align: center;
align-items: center;
}
.anime-title {
font-size: 2.5rem;
}
.meta-row {
justify-content: center;
}
.sidebar {
display: none;
}
.poster-card { width: 220px; margin: 0 auto; box-shadow: 0 10px 30px rgba(0,0,0,0.5); }
.main-content { text-align: center; align-items: center; }
.anime-title { font-size: 2.5rem; }
.meta-row { justify-content: center; }
.sidebar { display: none; }
}
.read-more-btn {
@@ -279,9 +221,7 @@
align-items: center;
gap: 0.25rem;
}
.read-more-btn:hover {
text-decoration: underline;
}
.read-more-btn:hover { text-decoration: underline; }
.episodes-header-row {
display: flex;
@@ -321,10 +261,7 @@
}
.episode-search-input::-webkit-outer-spin-button,
.episode-search-input::-webkit-inner-spin-button {
-webkit-appearance: none;
margin: 0;
}
.episode-search-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.pagination-controls {
display: flex;
@@ -357,119 +294,4 @@
color: #a1a1aa;
font-size: 0.9rem;
font-weight: 500;
}
@media (max-width: 768px) {
.content-container,
.section,
.container {
width: 100%;
max-width: 100vw;
overflow-x: hidden;
padding-left: 1rem;
padding-right: 1rem;
}
.content-container {
display: flex;
flex-direction: column;
margin-top: -50px;
padding: 1rem 1.25rem 4rem 1.25rem;
gap: 2rem;
}
.sidebar {
display: flex !important;
flex-direction: column;
align-items: center;
width: 100%;
order: 1;
}
.poster-card {
width: 180px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
margin-bottom: 1rem;
}
.info-grid {
width: 100%;
padding: 1rem;
}
.main-content {
order: 2;
text-align: center;
align-items: center;
}
.anime-title {
font-size: 2.2rem;
line-height: 1.1;
margin-bottom: 1rem;
}
.meta-row {
justify-content: center;
gap: 0.5rem;
}
.pill {
padding: 0.4rem 0.8rem;
font-size: 0.8rem;
}
.action-row {
flex-direction: column;
width: 100%;
gap: 0.8rem;
}
.btn-watch,
.btn-secondary {
width: 100%;
justify-content: center;
padding: 1rem;
}
.description-box {
margin-top: 2rem;
padding: 1.25rem;
font-size: 1rem;
text-align: left;
}
.episodes-section {
margin-top: 3rem;
order: 3;
}
.episodes-header-row {
flex-direction: column;
align-items: stretch;
gap: 1rem;
}
.episode-search-wrapper {
width: 100%;
}
.episode-search-input {
width: 100%;
text-align: left;
}
.episodes-grid {
grid-template-columns: repeat(auto-fill, minmax(70px, 1fr));
gap: 0.75rem;
}
.episode-btn {
padding: 0.8rem 0.5rem;
font-size: 0.9rem;
}
.pagination-controls {
flex-wrap: wrap;
}
}
}

View File

@@ -0,0 +1,132 @@
.library-mode-btn {
padding: 0.6rem 1.2rem;
background: rgba(255, 255, 255, 0.05);
border-radius: var(--radius-full);
border: 1px solid rgba(255, 255, 255, 0.1);
color: var(--color-text-secondary);
cursor: pointer;
display: flex;
align-items: center;
gap: 0.5rem;
font-weight: 600;
font-size: 0.9rem;
transition: all 0.2s;
}
.library-mode-btn:hover {
background: rgba(255, 255, 255, 0.1);
color: white;
}
.library-mode-btn.active {
background: var(--color-primary);
color: white;
border-color: var(--color-primary);
}
.library-mode-btn svg {
width: 18px;
height: 18px;
}
.local-library-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
gap: 1.5rem;
padding: 1rem 0;
}
.local-card {
cursor: pointer;
transition: transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.local-card:hover {
transform: translateY(-8px);
}
.local-card-info {
padding: 0.8rem 0;
}
.local-card-title {
font-size: 1rem;
font-weight: 600;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
margin-bottom: 0.5rem;
}
.match-status {
font-size: 0.85rem;
display: inline-block;
padding: 0.25rem 0.75rem;
border-radius: var(--radius-sm);
}
.status-linked {
background: rgba(34, 197, 94, 0.2);
color: var(--color-success);
}
.status-unlinked {
background: rgba(239, 68, 68, 0.2);
color: var(--color-danger);
}
.hidden {
display: none !important;
}
.skeleton-card {
width: 100%;
aspect-ratio: 2/3;
background: linear-gradient(90deg, #18181b 25%, #27272a 50%, #18181b 75%);
background-size: 200% 100%;
animation: shimmer 1.5s infinite;
border-radius: var(--radius-md);
}
@keyframes shimmer {
0% { background-position: 200% 0; }
100% { background-position: -200% 0; }
}
.hero-wrapper {
position: relative;
}
.library-mode-btn.icon-only {
position: absolute;
bottom: 2rem;
right: 2rem;
z-index: 50;
}
.hero-mode-switch .library-mode-btn {
backdrop-filter: blur(10px);
}
.local-filters {
display: flex;
gap: 1rem;
margin-bottom: 1rem;
flex-wrap: wrap;
}
.filter-btn {
padding: 0.4rem 0.9rem;
border-radius: 999px;
background: rgba(255,255,255,0.06);
border: 1px solid rgba(255,255,255,0.12);
color: #bbb;
cursor: pointer;
}
.filter-btn.active {
background: var(--color-primary);
color: white;
border-color: var(--color-primary);
}