Update index.html
Browse files- index.html +279 -15
index.html
CHANGED
|
@@ -3,8 +3,9 @@
|
|
| 3 |
<head>
|
| 4 |
<meta charset="UTF-8">
|
| 5 |
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
|
| 6 |
-
<title>Subtitle Style Preview Alpha
|
| 7 |
<link href="https://fonts.googleapis.com/css2?family=Vazirmatn:wght@400;700;900&display=swap" rel="stylesheet">
|
|
|
|
| 8 |
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" rel="stylesheet">
|
| 9 |
|
| 10 |
<style>
|
|
@@ -22,14 +23,53 @@
|
|
| 22 |
body { margin: 0; background: var(--bg); color: var(--text); font-family: 'Vazirmatn'; overflow-x: hidden; min-height: 100vh; padding-bottom: 50px; display: flex; flex-direction: column;}
|
| 23 |
|
| 24 |
/* ========================================= */
|
| 25 |
-
/* ===
|
| 26 |
/* ========================================= */
|
| 27 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 28 |
.alpha-style-preview {
|
| 29 |
/* متغیرهای رنگی قابل تنظیم */
|
| 30 |
-
--alpha-box-color: #7c4dff; /* رنگ باکس کلمه فعال */
|
| 31 |
-
--alpha-text-active: #ffffff; /* رنگ متن داخل باکس */
|
| 32 |
-
--alpha-text-base: #ffffff; /* رنگ متن اصلی */
|
| 33 |
|
| 34 |
background-color: transparent;
|
| 35 |
padding: 5px;
|
|
@@ -42,8 +82,8 @@
|
|
| 42 |
padding: 2px 4px;
|
| 43 |
border-radius: 8px;
|
| 44 |
transition: all 0.2s;
|
| 45 |
-
color: var(--alpha-text-base);
|
| 46 |
-
opacity: 0.4;
|
| 47 |
}
|
| 48 |
|
| 49 |
/* حالت گذشته: رنگ اصلی ولی کاملاً پررنگ */
|
|
@@ -57,13 +97,96 @@
|
|
| 57 |
background-color: var(--alpha-box-color);
|
| 58 |
background-image: linear-gradient(135deg, rgba(0,0,0,0.1) 0%, rgba(255,255,255,0.4) 100%);
|
| 59 |
|
| 60 |
-
color: var(--alpha-text-active);
|
| 61 |
opacity: 1;
|
| 62 |
transform: scale(1.1);
|
| 63 |
text-shadow: 0 0 5px rgba(255,255,255,0.5);
|
| 64 |
box-shadow: 0 4px 15px rgba(0,0,0,0.2);
|
| 65 |
}
|
| 66 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 67 |
/* ========================================= */
|
| 68 |
/* === UI عمومی === */
|
| 69 |
/* ========================================= */
|
|
@@ -88,8 +211,8 @@
|
|
| 88 |
.tool-section.active-section { display: block; }
|
| 89 |
@keyframes fadeIn { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: translateY(0); } }
|
| 90 |
|
| 91 |
-
/* اصلاح شده: برگرداندن به 2 ستون برای حفظ سایز */
|
| 92 |
.style-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; width: 100%; }
|
|
|
|
| 93 |
|
| 94 |
.style-card {
|
| 95 |
background: #333; border: 2px solid transparent; border-radius: 15px;
|
|
@@ -98,6 +221,7 @@
|
|
| 98 |
position: relative; transition: all 0.2s; box-shadow: 0 4px 6px rgba(0,0,0,0.2);
|
| 99 |
aspect-ratio: 1.4 / 1;
|
| 100 |
}
|
|
|
|
| 101 |
.style-card:active { transform: scale(0.98); }
|
| 102 |
.style-card.selected { border-color: var(--primary); background: #2a2a2a; }
|
| 103 |
.style-card.selected::after {
|
|
@@ -118,6 +242,8 @@
|
|
| 118 |
}
|
| 119 |
.card-settings:active { background: var(--primary); transform: scale(0.9); }
|
| 120 |
|
|
|
|
|
|
|
| 121 |
/* ========================================= */
|
| 122 |
/* === تنظیمات زیبا (Settings Rows) === */
|
| 123 |
/* ========================================= */
|
|
@@ -262,8 +388,8 @@
|
|
| 262 |
|
| 263 |
<div class="style-grid">
|
| 264 |
|
| 265 |
-
<!-- نئون آلفا
|
| 266 |
-
<div class="style-card
|
| 267 |
<div class="alpha-style-preview" id="animPreviewAlpha">
|
| 268 |
<span class="alpha-word">سلام</span>
|
| 269 |
<span class="alpha-word">اینجا</span>
|
|
@@ -276,6 +402,94 @@
|
|
| 276 |
<div class="card-settings" onclick="openSettings('alpha', event)"><i class="fa-solid fa-gear"></i></div>
|
| 277 |
</div>
|
| 278 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 279 |
</div>
|
| 280 |
</div>
|
| 281 |
</div>
|
|
@@ -338,6 +552,8 @@
|
|
| 338 |
text: '<svg viewBox="0 0 24 24"><path d="M5 4v3h5.5v12h3V7H19V4z"/></svg>',
|
| 339 |
box: '<svg viewBox="0 0 24 24"><path d="M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V5h14v14z"/></svg>',
|
| 340 |
fill: '<svg viewBox="0 0 24 24"><path d="M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"/></svg>',
|
|
|
|
|
|
|
| 341 |
};
|
| 342 |
|
| 343 |
const styleConfigs = {
|
|
@@ -345,6 +561,40 @@
|
|
| 345 |
{ id: 'alpha-box-color', label: 'رنگ باکس کلمه فعال', icon: svgs.fill, cssVar: '--alpha-box-color', targetId: 'animPreviewAlpha', default: '#7c4dff', isAnimToggle: true },
|
| 346 |
{ id: 'alpha-text-active', label: 'رنگ متن کلمه فعال', icon: svgs.active, cssVar: '--alpha-text-active', targetId: 'animPreviewAlpha', default: '#ffffff' },
|
| 347 |
{ id: 'alpha-text-base', label: 'رنگ متن عادی (گذشته/آینده)', icon: svgs.text, cssVar: '--alpha-text-base', targetId: 'animPreviewAlpha', default: '#ffffff' }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 348 |
]
|
| 349 |
};
|
| 350 |
|
|
@@ -479,6 +729,7 @@
|
|
| 479 |
document.getElementById('colorPickerModal').classList.remove('active');
|
| 480 |
}
|
| 481 |
function toggleTool(toolId) { if (toolId !== 'style') alert("این بخش خالی است"); }
|
|
|
|
| 482 |
function selectCard(el) { document.querySelectorAll('.style-card').forEach(c => c.classList.remove('selected')); el.classList.add('selected'); }
|
| 483 |
function switchTab(tabName) {
|
| 484 |
document.querySelectorAll('.picker-tab').forEach(t => t.classList.remove('active'));
|
|
@@ -554,12 +805,25 @@
|
|
| 554 |
}
|
| 555 |
|
| 556 |
window.addEventListener('load', () => {
|
| 557 |
-
//
|
| 558 |
-
|
| 559 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 560 |
|
| 561 |
-
|
| 562 |
runAnimation('animPreviewAlpha', 'alpha-word');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 563 |
});
|
| 564 |
</script>
|
| 565 |
</body>
|
|
|
|
| 3 |
<head>
|
| 4 |
<meta charset="UTF-8">
|
| 5 |
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
|
| 6 |
+
<title>Subtitle Style Preview Fixed Alpha Final</title>
|
| 7 |
<link href="https://fonts.googleapis.com/css2?family=Vazirmatn:wght@400;700;900&display=swap" rel="stylesheet">
|
| 8 |
+
<link href="https://fonts.googleapis.com/css2?family=Lalezar&display=swap" rel="stylesheet">
|
| 9 |
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" rel="stylesheet">
|
| 10 |
|
| 11 |
<style>
|
|
|
|
| 23 |
body { margin: 0; background: var(--bg); color: var(--text); font-family: 'Vazirmatn'; overflow-x: hidden; min-height: 100vh; padding-bottom: 50px; display: flex; flex-direction: column;}
|
| 24 |
|
| 25 |
/* ========================================= */
|
| 26 |
+
/* === استایلهای انیمیشن === */
|
| 27 |
/* ========================================= */
|
| 28 |
|
| 29 |
+
/* 1. باکس متحرک (اصلاح شده: رنگ گذشته هماهنگ با متغیر اصلی) */
|
| 30 |
+
.box-style-preview {
|
| 31 |
+
--box-container-bg: #ffffff;
|
| 32 |
+
--box-bg: #1a1a1a;
|
| 33 |
+
--box-text-active: #ffffff;
|
| 34 |
+
--box-text-inactive: #000000; /* رنگ پایه برای آینده و گذشته */
|
| 35 |
+
|
| 36 |
+
background-color: var(--box-container-bg);
|
| 37 |
+
border-radius: 8px; padding: 4px 8px;
|
| 38 |
+
display: flex; align-items: center; justify-content: center;
|
| 39 |
+
gap: 2px; direction: rtl; font-family: 'Vazirmatn'; font-weight: 900; font-size: 0.75rem;
|
| 40 |
+
box-shadow: 0 4px 15px rgba(0,0,0,0.5); max-width: 100%; overflow: hidden; white-space: nowrap;
|
| 41 |
+
}
|
| 42 |
+
|
| 43 |
+
.box-word {
|
| 44 |
+
padding: 2px 4px;
|
| 45 |
+
border-radius: 4px;
|
| 46 |
+
transition: all 0.2s;
|
| 47 |
+
color: var(--box-text-inactive);
|
| 48 |
+
position: relative;
|
| 49 |
+
z-index: 1;
|
| 50 |
+
opacity: 0.3; /* کلمات آینده شفاف */
|
| 51 |
+
}
|
| 52 |
+
|
| 53 |
+
.box-word.past {
|
| 54 |
+
color: var(--box-text-inactive); /* استفاده از متغیر رنگ انتخاب شده */
|
| 55 |
+
opacity: 1; /* کلمات گذشته کاملا واضح */
|
| 56 |
+
}
|
| 57 |
+
|
| 58 |
+
.box-word.active {
|
| 59 |
+
background-color: var(--box-bg);
|
| 60 |
+
color: var(--box-text-active);
|
| 61 |
+
transform: scale(1.1);
|
| 62 |
+
box-shadow: 0 4px 10px rgba(0,0,0,0.2);
|
| 63 |
+
z-index: 2;
|
| 64 |
+
opacity: 1;
|
| 65 |
+
}
|
| 66 |
+
|
| 67 |
+
/* 2. نئون آلفا (فیکس نهایی طبق دستور) */
|
| 68 |
.alpha-style-preview {
|
| 69 |
/* متغیرهای رنگی قابل تنظیم */
|
| 70 |
+
--alpha-box-color: #7c4dff; /* رنگ باکس کلمه فعال (بنفش پیشفرض) */
|
| 71 |
+
--alpha-text-active: #ffffff; /* رنگ متن داخل باکس (سفید پیشفرض) */
|
| 72 |
+
--alpha-text-base: #ffffff; /* رنگ متن اصلی (سفید پیشفرض برای گذشته/آینده) */
|
| 73 |
|
| 74 |
background-color: transparent;
|
| 75 |
padding: 5px;
|
|
|
|
| 82 |
padding: 2px 4px;
|
| 83 |
border-radius: 8px;
|
| 84 |
transition: all 0.2s;
|
| 85 |
+
color: var(--alpha-text-base); /* استفاده از رنگ اصلی */
|
| 86 |
+
opacity: 0.4; /* شفافیت برای آینده */
|
| 87 |
}
|
| 88 |
|
| 89 |
/* حالت گذشته: رنگ اصلی ولی کاملاً پررنگ */
|
|
|
|
| 97 |
background-color: var(--alpha-box-color);
|
| 98 |
background-image: linear-gradient(135deg, rgba(0,0,0,0.1) 0%, rgba(255,255,255,0.4) 100%);
|
| 99 |
|
| 100 |
+
color: var(--alpha-text-active); /* رنگ اختصاصی متن فعال */
|
| 101 |
opacity: 1;
|
| 102 |
transform: scale(1.1);
|
| 103 |
text-shadow: 0 0 5px rgba(255,255,255,0.5);
|
| 104 |
box-shadow: 0 4px 15px rgba(0,0,0,0.2);
|
| 105 |
}
|
| 106 |
|
| 107 |
+
/* 3. کارائوکه رنگی */
|
| 108 |
+
.anim-box {
|
| 109 |
+
--static-box-active: #A020F0;
|
| 110 |
+
--static-text-active: #ffffff;
|
| 111 |
+
--static-inactive: #ffffff;
|
| 112 |
+
font-family: 'Lalezar'; font-size: 0.9rem; direction: rtl; display: flex; gap: 3px; margin-bottom: 5px; justify-content: center;
|
| 113 |
+
}
|
| 114 |
+
.static-word { color: var(--static-inactive); transition: 0.2s; padding: 0 2px; border-radius: 4px;}
|
| 115 |
+
.static-word.active {
|
| 116 |
+
background-color: var(--static-box-active);
|
| 117 |
+
color: var(--static-text-active);
|
| 118 |
+
transform: scale(1.1); padding: 0 4px; box-shadow: 0 4px 10px var(--static-box-active);
|
| 119 |
+
}
|
| 120 |
+
|
| 121 |
+
/* 4. هایلایت آبی/قرمز (یک در میان) */
|
| 122 |
+
.highlight-container {
|
| 123 |
+
--hl-active-odd: #00D7FF; /* رنگ اول: آبی */
|
| 124 |
+
--hl-active-even: #FF0055; /* رنگ دوم: قرمز */
|
| 125 |
+
--hl-inactive: #ffffff;
|
| 126 |
+
font-family: 'Vazirmatn'; font-weight: 900; font-size: 0.8rem; display: flex; gap: 3px; direction: rtl;
|
| 127 |
+
}
|
| 128 |
+
.highlight-word {
|
| 129 |
+
color: var(--hl-inactive); transition: 0.2s;
|
| 130 |
+
}
|
| 131 |
+
/* کلمات فرد (اول، سوم...) */
|
| 132 |
+
.highlight-word.active:nth-child(odd) {
|
| 133 |
+
color: var(--hl-active-odd);
|
| 134 |
+
text-shadow: 0 0 10px var(--hl-active-odd);
|
| 135 |
+
transform: scale(1.1);
|
| 136 |
+
}
|
| 137 |
+
/* کلمات زوج (دوم، چهارم...) */
|
| 138 |
+
.highlight-word.active:nth-child(even) {
|
| 139 |
+
color: var(--hl-active-even);
|
| 140 |
+
text-shadow: 0 0 10px var(--hl-active-even);
|
| 141 |
+
transform: scale(1.1);
|
| 142 |
+
}
|
| 143 |
+
|
| 144 |
+
/* 5. سفید مینیمال */
|
| 145 |
+
.minimal-container {
|
| 146 |
+
--min-active: #ffffff;
|
| 147 |
+
--min-inactive: #ffffff;
|
| 148 |
+
font-family: 'Vazirmatn'; font-weight: 900; font-size: 0.9rem; display: flex; gap: 3px; direction: rtl;
|
| 149 |
+
}
|
| 150 |
+
.minimal-word {
|
| 151 |
+
color: var(--min-inactive); transition: 0.2s;
|
| 152 |
+
}
|
| 153 |
+
.minimal-word.active { color: var(--min-active); transform: scale(1.1); }
|
| 154 |
+
|
| 155 |
+
/* 6. حاشیه مشکی */
|
| 156 |
+
.stroke-container {
|
| 157 |
+
--stroke-active-fill: #ffffff;
|
| 158 |
+
--stroke-inactive-fill: #ffffff;
|
| 159 |
+
--stroke-border: #000000;
|
| 160 |
+
font-family: 'Vazirmatn'; font-weight: 900; font-size: 0.9rem; display: flex; gap: 3px; direction: rtl;
|
| 161 |
+
}
|
| 162 |
+
.stroke-word {
|
| 163 |
+
color: var(--stroke-inactive-fill);
|
| 164 |
+
-webkit-text-stroke: 0.8px var(--stroke-border);
|
| 165 |
+
transition: 0.2s;
|
| 166 |
+
}
|
| 167 |
+
.stroke-word.active { color: var(--stroke-active-fill); transform: scale(1.1); text-shadow: 2px 2px 0px rgba(0,0,0,0.5); }
|
| 168 |
+
|
| 169 |
+
/* 7. موزیک پلیر */
|
| 170 |
+
.music-wrapper {
|
| 171 |
+
--music-progress: #ff0055;
|
| 172 |
+
padding: 3px; border-radius: 50px;
|
| 173 |
+
background: linear-gradient(90deg, var(--music-progress), transparent);
|
| 174 |
+
box-shadow: 0 4px 10px rgba(0,0,0,0.3);
|
| 175 |
+
display: flex; align-items: center; justify-content: center;
|
| 176 |
+
}
|
| 177 |
+
.music-box {
|
| 178 |
+
--music-bg: #ffffff;
|
| 179 |
+
--music-text-active: #000000;
|
| 180 |
+
--music-text-inactive: #000000;
|
| 181 |
+
background: var(--music-bg); padding: 4px 15px; border-radius: 48px;
|
| 182 |
+
color: var(--music-text-inactive);
|
| 183 |
+
font-weight: 900; font-size: 0.7rem; font-family: 'Vazirmatn';
|
| 184 |
+
display: flex; gap: 3px;
|
| 185 |
+
}
|
| 186 |
+
.music-word { color: var(--music-text-inactive); transition: 0.2s; }
|
| 187 |
+
.music-word.active { color: var(--music-text-active); transform: scale(1.1); font-weight: 900; }
|
| 188 |
+
|
| 189 |
+
|
| 190 |
/* ========================================= */
|
| 191 |
/* === UI عمومی === */
|
| 192 |
/* ========================================= */
|
|
|
|
| 211 |
.tool-section.active-section { display: block; }
|
| 212 |
@keyframes fadeIn { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: translateY(0); } }
|
| 213 |
|
|
|
|
| 214 |
.style-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; width: 100%; }
|
| 215 |
+
.style-grid-2col { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 25px;}
|
| 216 |
|
| 217 |
.style-card {
|
| 218 |
background: #333; border: 2px solid transparent; border-radius: 15px;
|
|
|
|
| 221 |
position: relative; transition: all 0.2s; box-shadow: 0 4px 6px rgba(0,0,0,0.2);
|
| 222 |
aspect-ratio: 1.4 / 1;
|
| 223 |
}
|
| 224 |
+
.style-grid-2col .style-card { min-height: 100px; height: auto; padding: 10px; aspect-ratio: auto; }
|
| 225 |
.style-card:active { transform: scale(0.98); }
|
| 226 |
.style-card.selected { border-color: var(--primary); background: #2a2a2a; }
|
| 227 |
.style-card.selected::after {
|
|
|
|
| 242 |
}
|
| 243 |
.card-settings:active { background: var(--primary); transform: scale(0.9); }
|
| 244 |
|
| 245 |
+
/* Custom Accordion - REMOVED */
|
| 246 |
+
|
| 247 |
/* ========================================= */
|
| 248 |
/* === تنظیمات زیبا (Settings Rows) === */
|
| 249 |
/* ========================================= */
|
|
|
|
| 388 |
|
| 389 |
<div class="style-grid">
|
| 390 |
|
| 391 |
+
<!-- نئون آلفا -->
|
| 392 |
+
<div class="style-card" onclick="selectCard(this)">
|
| 393 |
<div class="alpha-style-preview" id="animPreviewAlpha">
|
| 394 |
<span class="alpha-word">سلام</span>
|
| 395 |
<span class="alpha-word">اینجا</span>
|
|
|
|
| 402 |
<div class="card-settings" onclick="openSettings('alpha', event)"><i class="fa-solid fa-gear"></i></div>
|
| 403 |
</div>
|
| 404 |
|
| 405 |
+
<!-- موزیک پلیر -->
|
| 406 |
+
<div class="style-card" onclick="selectCard(this)">
|
| 407 |
+
<div class="music-style-preview" style="height: auto; width:100%; display: flex; align-items: center; justify-content: center; background: transparent;">
|
| 408 |
+
<div id="previewMusicWrapper" class="music-wrapper">
|
| 409 |
+
<div id="previewMusic" class="music-box">
|
| 410 |
+
<span class="music-word">سلام</span>
|
| 411 |
+
<span class="music-word">اینجا</span>
|
| 412 |
+
<span class="music-word">آلفا</span>
|
| 413 |
+
<span class="music-word">است</span>
|
| 414 |
+
</div>
|
| 415 |
+
</div>
|
| 416 |
+
</div>
|
| 417 |
+
<div class="card-info">
|
| 418 |
+
<div class="card-title-style">موزیک پلیر</div>
|
| 419 |
+
</div>
|
| 420 |
+
<div class="card-settings" onclick="openSettings('music', event)"><i class="fa-solid fa-gear"></i></div>
|
| 421 |
+
</div>
|
| 422 |
+
|
| 423 |
+
<!-- باکس متحرک -->
|
| 424 |
+
<div class="style-card" onclick="selectCard(this)">
|
| 425 |
+
<div class="box-style-preview" id="animPreviewBox">
|
| 426 |
+
<span class="box-word">سلام</span>
|
| 427 |
+
<span class="box-word">اینجا</span>
|
| 428 |
+
<span class="box-word">آلفا</span>
|
| 429 |
+
<span class="box-word">است</span>
|
| 430 |
+
</div>
|
| 431 |
+
<div class="card-info">
|
| 432 |
+
<div class="card-title-style">باکس متحرک</div>
|
| 433 |
+
</div>
|
| 434 |
+
<div class="card-settings" onclick="openSettings('box', event)"><i class="fa-solid fa-gear"></i></div>
|
| 435 |
+
</div>
|
| 436 |
+
|
| 437 |
+
<!-- کارائوکه رنگی -->
|
| 438 |
+
<div class="style-card selected" onclick="selectCard(this)">
|
| 439 |
+
<div class="anim-box" id="animPreviewStatic">
|
| 440 |
+
<span class="static-word">سلام</span>
|
| 441 |
+
<span class="static-word">اینجا</span>
|
| 442 |
+
<span class="static-word">آلفا</span>
|
| 443 |
+
<span class="static-word">است</span>
|
| 444 |
+
</div>
|
| 445 |
+
<div class="card-info">
|
| 446 |
+
<div class="card-title-style">کارائوکه رنگی</div>
|
| 447 |
+
</div>
|
| 448 |
+
<div class="card-settings" onclick="openSettings('static', event)"><i class="fa-solid fa-gear"></i></div>
|
| 449 |
+
</div>
|
| 450 |
+
|
| 451 |
+
<!-- هایلایت آبی/قرمز -->
|
| 452 |
+
<div class="style-card" onclick="selectCard(this)">
|
| 453 |
+
<div class="highlight-container" id="previewHighlight">
|
| 454 |
+
<span class="highlight-word">سلام</span>
|
| 455 |
+
<span class="highlight-word">اینجا</span>
|
| 456 |
+
<span class="highlight-word">آلفا</span>
|
| 457 |
+
<span class="highlight-word">است</span>
|
| 458 |
+
</div>
|
| 459 |
+
<div class="card-info">
|
| 460 |
+
<div class="card-title-style">هایلایت آبی</div>
|
| 461 |
+
</div>
|
| 462 |
+
<div class="card-settings" onclick="openSettings('highlight', event)"><i class="fa-solid fa-gear"></i></div>
|
| 463 |
+
</div>
|
| 464 |
+
|
| 465 |
+
<!-- سفید مینیمال -->
|
| 466 |
+
<div class="style-card" onclick="selectCard(this)">
|
| 467 |
+
<div class="minimal-container" id="previewMinimal">
|
| 468 |
+
<span class="minimal-word">سلام</span>
|
| 469 |
+
<span class="minimal-word">اینجا</span>
|
| 470 |
+
<span class="minimal-word">آلفا</span>
|
| 471 |
+
<span class="minimal-word">است</span>
|
| 472 |
+
</div>
|
| 473 |
+
<div class="card-info">
|
| 474 |
+
<div class="card-title-style">سفید مینیمال</div>
|
| 475 |
+
</div>
|
| 476 |
+
<div class="card-settings" onclick="openSettings('minimal', event)"><i class="fa-solid fa-gear"></i></div>
|
| 477 |
+
</div>
|
| 478 |
+
|
| 479 |
+
<!-- حاشیه مشکی -->
|
| 480 |
+
<div class="style-card" onclick="selectCard(this)">
|
| 481 |
+
<div class="stroke-container" id="previewStroke">
|
| 482 |
+
<span class="stroke-word">سلام</span>
|
| 483 |
+
<span class="stroke-word">اینجا</span>
|
| 484 |
+
<span class="stroke-word">آلفا</span>
|
| 485 |
+
<span class="stroke-word">است</span>
|
| 486 |
+
</div>
|
| 487 |
+
<div class="card-info">
|
| 488 |
+
<div class="card-title-style">حاشیه مشکی</div>
|
| 489 |
+
</div>
|
| 490 |
+
<div class="card-settings" onclick="openSettings('stroke', event)"><i class="fa-solid fa-gear"></i></div>
|
| 491 |
+
</div>
|
| 492 |
+
|
| 493 |
</div>
|
| 494 |
</div>
|
| 495 |
</div>
|
|
|
|
| 552 |
text: '<svg viewBox="0 0 24 24"><path d="M5 4v3h5.5v12h3V7H19V4z"/></svg>',
|
| 553 |
box: '<svg viewBox="0 0 24 24"><path d="M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V5h14v14z"/></svg>',
|
| 554 |
fill: '<svg viewBox="0 0 24 24"><path d="M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"/></svg>',
|
| 555 |
+
stroke: '<svg viewBox="0 0 24 24"><path d="M16.75 3h-1.5c-.83 0-1.5.67-1.5 1.5v15c0 .83.67 1.5 1.5 1.5h1.5c.83 0 1.5-.67 1.5-1.5v-15c0-.83-.67-1.5-1.5-1.5zm-8 0h-1.5C6.42 3 5.75 3.67 5.75 4.5v15c0 .83.67 1.5 1.5 1.5h1.5c.83 0 1.5-.67 1.5-1.5v-15c0-.83-.67-1.5-1.5-1.5z"/></svg>',
|
| 556 |
+
bar: '<svg viewBox="0 0 24 24"><path d="M21 18v2H3v-2h18zM3 4v2h18V4H3zM3 11v2h18v-2H3z"/></svg>',
|
| 557 |
};
|
| 558 |
|
| 559 |
const styleConfigs = {
|
|
|
|
| 561 |
{ id: 'alpha-box-color', label: 'رنگ باکس کلمه فعال', icon: svgs.fill, cssVar: '--alpha-box-color', targetId: 'animPreviewAlpha', default: '#7c4dff', isAnimToggle: true },
|
| 562 |
{ id: 'alpha-text-active', label: 'رنگ متن کلمه فعال', icon: svgs.active, cssVar: '--alpha-text-active', targetId: 'animPreviewAlpha', default: '#ffffff' },
|
| 563 |
{ id: 'alpha-text-base', label: 'رنگ متن عادی (گذشته/آینده)', icon: svgs.text, cssVar: '--alpha-text-base', targetId: 'animPreviewAlpha', default: '#ffffff' }
|
| 564 |
+
],
|
| 565 |
+
'box': [
|
| 566 |
+
{ id: 'box-container-bg', label: 'رنگ کادر خالی', icon: svgs.box, cssVar: '--box-container-bg', targetId: 'animPreviewBox', default: '#ffffff' },
|
| 567 |
+
{ id: 'box-text-active', label: 'رنگ کلمه فعال', icon: svgs.active, cssVar: '--box-text-active', targetId: 'animPreviewBox', default: '#ffffff' },
|
| 568 |
+
{ id: 'box-bg', label: 'رنگ باکس کلمه فعال', icon: svgs.fill, cssVar: '--box-bg', targetId: 'animPreviewBox', default: '#1a1a1a', isAnimToggle: true },
|
| 569 |
+
{ id: 'box-text-inactive', label: 'رنگ متن عادی', icon: svgs.text, cssVar: '--box-text-inactive', targetId: 'animPreviewBox', default: '#d1d1d6' }
|
| 570 |
+
],
|
| 571 |
+
'static': [
|
| 572 |
+
{ id: 'static-box-active', label: 'رنگ باکس کلمه فعال', icon: svgs.fill, cssVar: '--static-box-active', targetId: 'animPreviewStatic', default: '#A020F0', isAnimToggle: true },
|
| 573 |
+
{ id: 'static-text-active', label: 'رنگ متن کلمه فعال', icon: svgs.active, cssVar: '--static-text-active', targetId: 'animPreviewStatic', default: '#ffffff' },
|
| 574 |
+
{ id: 'static-inactive', label: 'رنگ متن عادی', icon: svgs.text, cssVar: '--static-inactive', targetId: 'animPreviewStatic', default: '#ffffff' }
|
| 575 |
+
],
|
| 576 |
+
'music': [
|
| 577 |
+
{ id: 'music-text-active', label: 'رنگ کلمه فعال', icon: svgs.active, cssVar: '--music-text-active', targetId: 'previewMusic', default: '#000000', isAnimToggle: true },
|
| 578 |
+
{ id: 'music-text-inactive', label: 'رنگ متن عادی', icon: svgs.text, cssVar: '--music-text-inactive', targetId: 'previewMusic', default: '#888888' },
|
| 579 |
+
{ id: 'music-bg', label: 'رنگ کادر زمینه', icon: svgs.fill, cssVar: '--music-bg', targetId: 'previewMusic', default: '#ffffff' },
|
| 580 |
+
{ id: 'music-progress', label: 'رنگ نوار چرخان', icon: svgs.bar, cssVar: '--music-progress', targetId: 'previewMusicWrapper', default: '#ff0055' }
|
| 581 |
+
],
|
| 582 |
+
'highlight': [
|
| 583 |
+
{ id: 'hl-active-odd', label: 'رنگ کلمه فعال ۱', icon: svgs.active, cssVar: '--hl-active-odd', targetId: 'previewHighlight', default: '#00D7FF', isAnimToggle: true },
|
| 584 |
+
{ id: 'hl-active-even', label: 'رنگ کلمه فعال ۲', icon: svgs.active, cssVar: '--hl-active-even', targetId: 'previewHighlight', default: '#FF0055' },
|
| 585 |
+
{ id: 'hl-inactive', label: 'رنگ متن عادی', icon: svgs.text, cssVar: '--hl-inactive', targetId: 'previewHighlight', default: '#ffffff' }
|
| 586 |
+
],
|
| 587 |
+
'minimal': [
|
| 588 |
+
{ id: 'min-active', label: 'رنگ کلمه فعال', icon: svgs.active, cssVar: '--min-active', targetId: 'previewMinimal', default: '#ffffff', isAnimToggle: true },
|
| 589 |
+
{ id: 'min-inactive', label: 'رنگ متن عادی', icon: svgs.text, cssVar: '--min-inactive', targetId: 'previewMinimal', default: '#888888' }
|
| 590 |
+
],
|
| 591 |
+
'stroke': [
|
| 592 |
+
{ id: 'stroke-active-fill', label: 'رنگ کلمه فعال', icon: svgs.active, cssVar: '--stroke-active-fill', targetId: 'previewStroke', default: '#ffffff', isAnimToggle: true },
|
| 593 |
+
{ id: 'stroke-inactive-fill', label: 'رنگ متن عادی', icon: svgs.text, cssVar: '--stroke-inactive-fill', targetId: 'previewStroke', default: '#555555' },
|
| 594 |
+
{ id: 'stroke-border', label: 'رنگ حاشیه (Stroke)', icon: svgs.stroke, cssVar: '--stroke-border', targetId: 'previewStroke', default: '#000000' }
|
| 595 |
+
],
|
| 596 |
+
'custom': [
|
| 597 |
+
{ id: 'custom-text', label: 'رنگ کلمه فعال', icon: svgs.active, cssVar: 'color', targetId: 'customAccordion', default: '#fff' }
|
| 598 |
]
|
| 599 |
};
|
| 600 |
|
|
|
|
| 729 |
document.getElementById('colorPickerModal').classList.remove('active');
|
| 730 |
}
|
| 731 |
function toggleTool(toolId) { if (toolId !== 'style') alert("این بخش خالی است"); }
|
| 732 |
+
function toggleCustomAccordion() { document.getElementById('customAccordion').classList.toggle('open'); }
|
| 733 |
function selectCard(el) { document.querySelectorAll('.style-card').forEach(c => c.classList.remove('selected')); el.classList.add('selected'); }
|
| 734 |
function switchTab(tabName) {
|
| 735 |
document.querySelectorAll('.picker-tab').forEach(t => t.classList.remove('active'));
|
|
|
|
| 805 |
}
|
| 806 |
|
| 807 |
window.addEventListener('load', () => {
|
| 808 |
+
// Styles to be ACTIVE by default
|
| 809 |
+
['animPreviewBox', 'animPreviewAlpha', 'animPreviewStatic', 'previewHighlight'].forEach(id => {
|
| 810 |
+
const el = document.getElementById(id);
|
| 811 |
+
if(el) el.setAttribute('data-anim-status', 'true');
|
| 812 |
+
});
|
| 813 |
+
|
| 814 |
+
// Styles to be INACTIVE (Color/Animation OFF) by default
|
| 815 |
+
['previewMinimal', 'previewStroke', 'previewMusic', 'previewMusicWrapper'].forEach(id => {
|
| 816 |
+
const el = document.getElementById(id);
|
| 817 |
+
if(el) el.setAttribute('data-anim-status', 'false');
|
| 818 |
+
});
|
| 819 |
|
| 820 |
+
runAnimation('animPreviewBox', 'box-word');
|
| 821 |
runAnimation('animPreviewAlpha', 'alpha-word');
|
| 822 |
+
runAnimation('animPreviewStatic', 'static-word'); // Karaoke
|
| 823 |
+
runAnimation('previewHighlight', 'highlight-word'); // Blue/Red Highlight
|
| 824 |
+
runAnimation('previewMinimal', 'minimal-word'); // Minimal
|
| 825 |
+
runAnimation('previewStroke', 'stroke-word'); // Stroke
|
| 826 |
+
runAnimation('previewMusic', 'music-word'); // Music Player
|
| 827 |
});
|
| 828 |
</script>
|
| 829 |
</body>
|