feat: Add CDNDania downloader, enhance mobile responsiveness for anime request templates, and refine Ohli24 episode numbering.

This commit is contained in:
2025-12-29 19:36:07 +09:00
parent d07d551e4c
commit 460b93fb95
6 changed files with 1170 additions and 25 deletions

View File

@@ -501,8 +501,10 @@
.episode-info {
flex: 1;
display: flex;
flex-direction: column;
gap: 2px;
flex-direction: row;
align-items: center;
justify-content: space-between;
gap: 10px;
min-width: 0;
}
@@ -514,11 +516,15 @@
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
flex: 1;
min-width: 0;
}
.episode-date {
color: #64748b;
font-size: 11px;
white-space: nowrap;
flex-shrink: 0;
}
/* 에피소드 액션 버튼 */
@@ -539,10 +545,153 @@
transform: scale(0.85);
}
/* 반응형: 작은 화면에서는 1열 */
/* 모바일 반응형 - Bootstrap 모든 레이아웃 강제 덮어쓰기 */
@media (max-width: 768px) {
/* 전체 페이지 기본 설정 */
body {
overflow-x: hidden !important;
padding: 0 !important;
margin: 0 !important;
}
/* 모든 컨테이너/row 폭 100% 강제 */
.container, .container-fluid, .container-sm, .container-md, .container-lg,
.row, form, #program_list, #program_auto_form, #episode_list {
width: 100% !important;
max-width: 100% !important;
padding-left: 10px !important;
padding-right: 10px !important;
margin-left: 0 !important;
margin-right: 0 !important;
box-sizing: border-box !important;
}
/* form-group 및 모든 col 클래스 */
.form-group, .form-inline,
[class*="col-"] {
flex: 0 0 100% !important;
max-width: 100% !important;
width: 100% !important;
padding-left: 0 !important;
padding-right: 0 !important;
}
/* row 마진 제거 */
.row {
margin-left: 0 !important;
margin-right: 0 !important;
}
/* 버튼 그룹 */
.form-inline {
display: flex !important;
flex-wrap: wrap !important;
gap: 6px !important;
margin-bottom: 10px !important;
}
.form-inline .btn {
font-size: 11px;
padding: 6px 10px;
}
/* 시리즈 정보 박스 */
.series-info-box {
padding: 15px !important;
line-height: 1.8 !important;
}
/* 에피소드 목록 - 화면 폭에 꽉 차게 */
.episode-list-container {
grid-template-columns: 1fr;
display: flex !important;
flex-direction: column !important;
gap: 8px !important;
width: 100% !important;
max-width: 100% !important;
padding: 0 !important;
margin: 15px 0 !important;
box-sizing: border-box !important;
}
.episode-card {
display: flex !important;
align-items: center !important;
width: 100% !important;
max-width: 100% !important;
padding: 10px 12px !important;
gap: 10px !important;
margin: 0 !important;
box-sizing: border-box !important;
}
.episode-thumb {
width: 50px !important;
min-width: 50px !important;
height: 38px !important;
flex-shrink: 0 !important;
}
.episode-info {
flex: 1 !important;
min-width: 0 !important;
flex-direction: row !important;
align-items: center !important;
justify-content: space-between !important;
}
.episode-title {
font-size: 12px !important;
white-space: nowrap !important;
overflow: hidden !important;
text-overflow: ellipsis !important;
line-height: 1.3 !important;
flex: 1 !important;
min-width: 0 !important;
}
.episode-date {
font-size: 10px !important;
color: #64748b !important;
flex-shrink: 0 !important;
margin-left: 8px !important;
}
.episode-actions {
display: flex !important;
flex-wrap: wrap !important;
gap: 6px !important;
margin-top: 5px !important;
}
.episode-actions .btn {
font-size: 10px !important;
padding: 4px 10px !important;
}
.episode-actions .toggle {
transform: scale(0.85) !important;
}
}
/* 더 작은 화면 (400px 이하) */
@media (max-width: 400px) {
.episode-thumb {
width: 40px !important;
min-width: 40px !important;
height: 30px !important;
}
.episode-num {
font-size: 8px !important;
}
.episode-title {
font-size: 11px !important;
}
.episode-actions .btn {
font-size: 9px !important;
padding: 3px 8px !important;
}
}