v0.5.1: Anilife 폴백 체인 개선, 레이아웃 반응형, 프리로더 UI 개선 진행 중
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
title: "애니 다운로더"
|
title: "애니 다운로더"
|
||||||
version: "0.5.17"
|
version: "0.5.18"
|
||||||
package_name: "anime_downloader"
|
package_name: "anime_downloader"
|
||||||
developer: "projectdx"
|
developer: "projectdx"
|
||||||
description: "anime downloader"
|
description: "anime downloader"
|
||||||
|
|||||||
@@ -7,6 +7,13 @@
|
|||||||
--notify-danger-bg: rgba(127, 29, 29, 0.95);
|
--notify-danger-bg: rgba(127, 29, 29, 0.95);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Cosmic Violet Body Background - Override theme CSS */
|
||||||
|
body {
|
||||||
|
background: linear-gradient(135deg, #1e1b4b 0%, #312e81 40%, #4c1d95 100%) !important;
|
||||||
|
background-attachment: fixed !important;
|
||||||
|
color: #e0e7ff !important;
|
||||||
|
}
|
||||||
|
|
||||||
/* Common Layout Wrapper - Responsive */
|
/* Common Layout Wrapper - Responsive */
|
||||||
.anilife-common-wrapper {
|
.anilife-common-wrapper {
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/* Shared Mobile Custom CSS for Anime Downloader */
|
/* Shared Mobile Custom CSS for Anime Downloader */
|
||||||
|
|
||||||
/* Custom Notify Styling for Mobile */
|
/* Custom Notify Styling - Mobile Default */
|
||||||
.bootstrap-notify-container,
|
.bootstrap-notify-container,
|
||||||
[data-notify="container"] {
|
[data-notify="container"] {
|
||||||
max-width: 90vw !important;
|
max-width: 90vw !important;
|
||||||
@@ -18,6 +18,18 @@
|
|||||||
z-index: 10000 !important;
|
z-index: 10000 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Desktop Notify: 오른쪽 정렬, 적절한 사이즈 */
|
||||||
|
@media (min-width: 769px) {
|
||||||
|
.bootstrap-notify-container,
|
||||||
|
[data-notify="container"] {
|
||||||
|
max-width: 450px !important;
|
||||||
|
min-width: 300px !important;
|
||||||
|
width: auto !important;
|
||||||
|
right: 20px !important;
|
||||||
|
left: auto !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[data-notify="container"].alert-success {
|
[data-notify="container"].alert-success {
|
||||||
border-color: rgba(16, 185, 129, 0.4) !important;
|
border-color: rgba(16, 185, 129, 0.4) !important;
|
||||||
background: var(--notify-success-bg, rgba(6, 78, 59, 0.95)) !important;
|
background: var(--notify-success-bg, rgba(6, 78, 59, 0.95)) !important;
|
||||||
|
|||||||
@@ -5,6 +5,12 @@
|
|||||||
|
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
|
/* Cosmic Violet 배경 (즉시 적용) */
|
||||||
|
body {
|
||||||
|
background: linear-gradient(135deg, #1e1b4b 0%, #312e81 40%, #4c1d95 100%) !important;
|
||||||
|
background-attachment: fixed !important;
|
||||||
|
}
|
||||||
|
|
||||||
/* Global Container Margin Overrides */
|
/* Global Container Margin Overrides */
|
||||||
#main_container {
|
#main_container {
|
||||||
width: 100% !important;
|
width: 100% !important;
|
||||||
@@ -132,11 +138,14 @@
|
|||||||
// window.addEventListener("DOMContentLoaded", wait_seconds);
|
// window.addEventListener("DOMContentLoaded", wait_seconds);
|
||||||
|
|
||||||
function analyze(wr_id, bo_table) {
|
function analyze(wr_id, bo_table) {
|
||||||
// e.preventDefault();
|
// 분석 시작 시 preloader 표시
|
||||||
// e.stopPropagation()
|
const preloader = document.getElementById('preloader');
|
||||||
// e.preventDefault();
|
if (preloader) {
|
||||||
|
preloader.style.display = 'block';
|
||||||
|
preloader.style.opacity = '1';
|
||||||
|
}
|
||||||
|
|
||||||
const code = document.getElementById("code").value
|
const code = document.getElementById("code").value
|
||||||
// console.log(code)
|
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '/' + package_name + '/ajax/' + sub + '/analysis',
|
url: '/' + package_name + '/ajax/' + sub + '/analysis',
|
||||||
type: "POST",
|
type: "POST",
|
||||||
@@ -144,14 +153,29 @@
|
|||||||
data: {code: code, wr_id: wr_id, bo_table: bo_table},
|
data: {code: code, wr_id: wr_id, bo_table: bo_table},
|
||||||
dataType: "json",
|
dataType: "json",
|
||||||
success: function (ret) {
|
success: function (ret) {
|
||||||
|
// 분석 완료 시 preloader 숨기기
|
||||||
|
if (preloader) {
|
||||||
|
preloader.style.opacity = '0';
|
||||||
|
setTimeout(function() {
|
||||||
|
preloader.style.display = 'none';
|
||||||
|
}, 300);
|
||||||
|
}
|
||||||
|
|
||||||
if (ret.ret === 'success' && ret.data != null) {
|
if (ret.ret === 'success' && ret.data != null) {
|
||||||
// {#// console.log(ret.code)#}
|
|
||||||
// console.log(ret.data)
|
|
||||||
make_program(ret.data)
|
make_program(ret.data)
|
||||||
$("#loader").css("display", 'none')
|
$("#loader").css("display", 'none')
|
||||||
} else {
|
} else {
|
||||||
$.notify('<strong>분석 실패</strong><br>' + ret.log, {type: 'warning'});
|
$.notify('<strong>분석 실패</strong><br>' + ret.log, {type: 'warning'});
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
error: function() {
|
||||||
|
// 에러 시에도 preloader 숨기기
|
||||||
|
if (preloader) {
|
||||||
|
preloader.style.opacity = '0';
|
||||||
|
setTimeout(function() {
|
||||||
|
preloader.style.display = 'none';
|
||||||
|
}, 300);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -326,17 +350,22 @@
|
|||||||
})
|
})
|
||||||
|
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
// DOM 로딩 완료 후 preloader 숨기기
|
// content-cloak visible 클래스 추가 (즉시)
|
||||||
const preloader = document.getElementById('preloader');
|
$('.content-cloak, #menu_module_div, #menu_page_div').addClass('visible');
|
||||||
|
|
||||||
setTimeout(function() {
|
// URL에 code가 없으면 preloader 숨기기 (있으면 analyze 함수에서 처리)
|
||||||
if (preloader) {
|
const hasAutoAnalysis = params.code || "{{arg['anilife_current_code']}}";
|
||||||
preloader.style.opacity = '0';
|
if (!hasAutoAnalysis) {
|
||||||
setTimeout(function() {
|
const preloader = document.getElementById('preloader');
|
||||||
preloader.style.display = 'none';
|
setTimeout(function() {
|
||||||
}, 300);
|
if (preloader) {
|
||||||
}
|
preloader.style.opacity = '0';
|
||||||
}, 500);
|
setTimeout(function() {
|
||||||
|
preloader.style.display = 'none';
|
||||||
|
}, 300);
|
||||||
|
}
|
||||||
|
}, 100);
|
||||||
|
}
|
||||||
|
|
||||||
$("#loader").css("display", 'none');
|
$("#loader").css("display", 'none');
|
||||||
});
|
});
|
||||||
@@ -1044,8 +1073,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.loader {
|
.loader {
|
||||||
background: rgb(0, 0, 0, 0.8);
|
background: transparent;
|
||||||
background: radial-gradient(#222, #000);
|
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
left: 0;
|
left: 0;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
@@ -1112,35 +1140,35 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.loader-line-wrap:nth-child(1) .loader-line {
|
.loader-line-wrap:nth-child(1) .loader-line {
|
||||||
border-color: hsl(0, 80%, 60%);
|
border-color: #a78bfa; /* Light Violet */
|
||||||
height: 90px;
|
height: 90px;
|
||||||
width: 90px;
|
width: 90px;
|
||||||
top: 7px;
|
top: 7px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.loader-line-wrap:nth-child(2) .loader-line {
|
.loader-line-wrap:nth-child(2) .loader-line {
|
||||||
border-color: hsl(60, 80%, 60%);
|
border-color: #8b5cf6; /* Violet */
|
||||||
height: 76px;
|
height: 76px;
|
||||||
width: 76px;
|
width: 76px;
|
||||||
top: 14px;
|
top: 14px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.loader-line-wrap:nth-child(3) .loader-line {
|
.loader-line-wrap:nth-child(3) .loader-line {
|
||||||
border-color: hsl(120, 80%, 60%);
|
border-color: #7c3aed; /* Purple */
|
||||||
height: 62px;
|
height: 62px;
|
||||||
width: 62px;
|
width: 62px;
|
||||||
top: 21px;
|
top: 21px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.loader-line-wrap:nth-child(4) .loader-line {
|
.loader-line-wrap:nth-child(4) .loader-line {
|
||||||
border-color: hsl(180, 80%, 60%);
|
border-color: #6d28d9; /* Deep Purple */
|
||||||
height: 48px;
|
height: 48px;
|
||||||
width: 48px;
|
width: 48px;
|
||||||
top: 28px;
|
top: 28px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.loader-line-wrap:nth-child(5) .loader-line {
|
.loader-line-wrap:nth-child(5) .loader-line {
|
||||||
border-color: hsl(240, 80%, 60%);
|
border-color: #5b21b6; /* Dark Violet */
|
||||||
height: 34px;
|
height: 34px;
|
||||||
width: 34px;
|
width: 34px;
|
||||||
top: 35px;
|
top: 35px;
|
||||||
|
|||||||
Reference in New Issue
Block a user