Update index.html
Browse files- index.html +17 -42
index.html
CHANGED
|
@@ -9,7 +9,9 @@
|
|
| 9 |
:root {
|
| 10 |
--primary: #7b2ff7;
|
| 11 |
--secondary: #f107a3;
|
| 12 |
-
--
|
|
|
|
|
|
|
| 13 |
--text-dark: #2c3e50;
|
| 14 |
--text-light: #6c757d;
|
| 15 |
--bg-light: #f8f9fa;
|
|
@@ -42,13 +44,13 @@ body {
|
|
| 42 |
.svg-icon {
|
| 43 |
width: 90px;
|
| 44 |
height: 90px;
|
| 45 |
-
|
| 46 |
-
filter: drop-shadow(0 4px 8px rgba(255,193,7,0.3));
|
| 47 |
margin-bottom: 20px;
|
| 48 |
-
transition: transform 0.3s ease;
|
| 49 |
}
|
| 50 |
.container:hover .svg-icon {
|
| 51 |
transform: translateY(-5px);
|
|
|
|
| 52 |
}
|
| 53 |
|
| 54 |
/* انیمیشن تکان خوردن قفل */
|
|
@@ -166,9 +168,16 @@ button {
|
|
| 166 |
<body>
|
| 167 |
|
| 168 |
<div class="container">
|
| 169 |
-
<!-- آیکن قفل -->
|
| 170 |
<svg id="lockIcon" class="svg-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true">
|
| 171 |
-
<
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 172 |
1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm-6
|
| 173 |
9c-1.1 0-2-.9-2-2s.9-2 2-2
|
| 174 |
2 .9 2 2-.9 2-2 2zm3.1-9H8.9V6c0-1.71
|
|
@@ -178,7 +187,7 @@ button {
|
|
| 178 |
<h2>برای آپلود و تحلیل فایل اشتراک تهیه کنید!</h2>
|
| 179 |
<p>امکان آپلود فایلهای صوتی، ویدیویی، PDF و... تنها در نسخه نامحدود فعال است. برای دسترسی کامل، اشتراک خود را ارتقا دهید.</p>
|
| 180 |
|
| 181 |
-
<!-- ناحیه آپلود
|
| 182 |
<div id="uploadArea" class="upload-area" role="button" tabindex="0" aria-disabled="true" aria-label="آپلود فایل (غیرفعال)">
|
| 183 |
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true">
|
| 184 |
<path d="M19.35 10.04C18.67 6.59 15.64 4 12 4
|
|
@@ -193,38 +202,4 @@ button {
|
|
| 193 |
|
| 194 |
<div class="buttons">
|
| 195 |
<button class="upgrade-button">🚀 ارتقا به نسخه نامحدود</button>
|
| 196 |
-
|
| 197 |
-
</div>
|
| 198 |
-
</div>
|
| 199 |
-
|
| 200 |
-
<script>
|
| 201 |
-
// با کلیک (یا Enter/Space) روی ناحیه آپلود، قفل تکان میخورد
|
| 202 |
-
const uploadArea = document.getElementById('uploadArea');
|
| 203 |
-
const lockIcon = document.getElementById('lockIcon');
|
| 204 |
-
|
| 205 |
-
function shakeLock() {
|
| 206 |
-
// اگر انیمیشن در حال اجراست، ریستش کن تا دوباره اجرا شود
|
| 207 |
-
lockIcon.classList.remove('shake');
|
| 208 |
-
// اجرای دوباره در فریم بعدی
|
| 209 |
-
requestAnimationFrame(() => {
|
| 210 |
-
lockIcon.classList.add('shake');
|
| 211 |
-
});
|
| 212 |
-
}
|
| 213 |
-
|
| 214 |
-
uploadArea.addEventListener('click', shakeLock);
|
| 215 |
-
// دسترسیپذیری: اجازه تکان با Enter یا Space
|
| 216 |
-
uploadArea.addEventListener('keydown', (e) => {
|
| 217 |
-
if (e.key === 'Enter' || e.key === ' ') {
|
| 218 |
-
e.preventDefault();
|
| 219 |
-
shakeLock();
|
| 220 |
-
}
|
| 221 |
-
});
|
| 222 |
-
|
| 223 |
-
// پاک کردن کلاس بعد از پایان انیمیشن (اختیاری، چون هر بار ریست میکنیم)
|
| 224 |
-
lockIcon.addEventListener('animationend', () => {
|
| 225 |
-
lockIcon.classList.remove('shake');
|
| 226 |
-
});
|
| 227 |
-
</script>
|
| 228 |
-
|
| 229 |
-
</body>
|
| 230 |
-
</html>
|
|
|
|
| 9 |
:root {
|
| 10 |
--primary: #7b2ff7;
|
| 11 |
--secondary: #f107a3;
|
| 12 |
+
--accent1: #ff7eb3;
|
| 13 |
+
--accent2: #ff758c;
|
| 14 |
+
--accent3: #ffb347;
|
| 15 |
--text-dark: #2c3e50;
|
| 16 |
--text-light: #6c757d;
|
| 17 |
--bg-light: #f8f9fa;
|
|
|
|
| 44 |
.svg-icon {
|
| 45 |
width: 90px;
|
| 46 |
height: 90px;
|
| 47 |
+
filter: drop-shadow(0 4px 8px rgba(255,118,136,0.4));
|
|
|
|
| 48 |
margin-bottom: 20px;
|
| 49 |
+
transition: transform 0.3s ease, filter 0.3s ease;
|
| 50 |
}
|
| 51 |
.container:hover .svg-icon {
|
| 52 |
transform: translateY(-5px);
|
| 53 |
+
filter: drop-shadow(0 6px 12px rgba(255,118,136,0.6));
|
| 54 |
}
|
| 55 |
|
| 56 |
/* انیمیشن تکان خوردن قفل */
|
|
|
|
| 168 |
<body>
|
| 169 |
|
| 170 |
<div class="container">
|
| 171 |
+
<!-- آیکن قفل با گرادیان -->
|
| 172 |
<svg id="lockIcon" class="svg-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true">
|
| 173 |
+
<defs>
|
| 174 |
+
<linearGradient id="lockGradient" x1="0%" y1="0%" x2="100%" y2="100%">
|
| 175 |
+
<stop offset="0%" stop-color="#ff7eb3"/>
|
| 176 |
+
<stop offset="50%" stop-color="#ff758c"/>
|
| 177 |
+
<stop offset="100%" stop-color="#ffb347"/>
|
| 178 |
+
</linearGradient>
|
| 179 |
+
</defs>
|
| 180 |
+
<path fill="url(#lockGradient)" d="M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0
|
| 181 |
1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm-6
|
| 182 |
9c-1.1 0-2-.9-2-2s.9-2 2-2
|
| 183 |
2 .9 2 2-.9 2-2 2zm3.1-9H8.9V6c0-1.71
|
|
|
|
| 187 |
<h2>برای آپلود و تحلیل فایل اشتراک تهیه کنید!</h2>
|
| 188 |
<p>امکان آپلود فایلهای صوتی، ویدیویی، PDF و... تنها در نسخه نامحدود فعال است. برای دسترسی کامل، اشتراک خود را ارتقا دهید.</p>
|
| 189 |
|
| 190 |
+
<!-- ناحیه آپلود -->
|
| 191 |
<div id="uploadArea" class="upload-area" role="button" tabindex="0" aria-disabled="true" aria-label="آپلود فایل (غیرفعال)">
|
| 192 |
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true">
|
| 193 |
<path d="M19.35 10.04C18.67 6.59 15.64 4 12 4
|
|
|
|
| 202 |
|
| 203 |
<div class="buttons">
|
| 204 |
<button class="upgrade-button">🚀 ارتقا به نسخه نامحدود</button>
|
| 205 |
+
[43dcd9a7-70db-4a1f-b0ae-981daa162054](https://github.com/Pardis-K/Doctor-Appointment/tree/5da8f6d7847dc7b98f9bbdd1ba83a09a1c39c8ef/views%2Flayout%2Fdoctor.blade.php?citationMarker=43dcd9a7-70db-4a1f-b0ae-981daa162054 "1")[43dcd9a7-70db-4a1f-b0ae-981daa162054](https://github.com/suttonryley/repo-search/tree/992df18e06cc49f0ea6269dc641fda3c1c5fd291/react-search-ui%2Fnode_modules%2F@material-ui%2Ficons%2FEnhancedEncryption.js?citationMarker=43dcd9a7-70db-4a1f-b0ae-981daa162054 "2")[43dcd9a7-70db-4a1f-b0ae-981daa162054](https://github.com/Hari635/music_controller/tree/66d19e1178bca2a735af522158ad710abe90b180/frontend%2Fnode_modules%2F@material-ui%2Ficons%2Fesm%2FLockRounded.js?citationMarker=43dcd9a7-70db-4a1f-b0ae-981daa162054 "3")[43dcd9a7-70db-4a1f-b0ae-981daa162054](https://github.com/J3r0m3L/Artisty/tree/bd9aa0b8a85419fab47618d1f59f02c2d254c07a/frontend%2Fe-artist%2Fnode_modules%2F@material-ui%2Ficons%2Fesm%2FHttps.js?citationMarker=43dcd9a7-70db-4a1f-b0ae-981daa162054 "4")[43dcd9a7-70db-4a1f-b0ae-981daa162054](https://github.com/adminopenwave/testmmgp/tree/d4289eaee7bdd4c8d51b7b8d15c154b5e1c3c947/src%2FComponents%2FPages%2FPendinggoodsreturn%2FpendinggoodsreturnList.js?citationMarker=43dcd9a7-70db-4a1f-b0ae-981daa162054 "5")[43dcd9a7-70db-4a1f-b0ae-981daa162054](https://github.com/Gameplex-Software/gameplex-software.github.io/tree/dcffb675b967f3e6b87e3bcb2a1c02308e136737/status%2Fgwd_preview_index%2Fpreview_polymer.js?citationMarker=43dcd9a7-70db-4a1f-b0ae-981daa162054 "6")[43dcd9a7-70db-4a1f-b0ae-981daa162054](https://github.com/Ngounse/next-js-api-github/tree/7561101493efcca1cf2198ad58825d73acc6bd4d/node_modules%2F@material-ui%2Ficons%2Fesm%2FCloudQueueRounded.js?citationMarker=43dcd9a7-70db-4a1f-b0ae-981daa162054 "7")[43dcd9a7-70db-4a1f-b0ae-981daa162054](https://github.com/Ngounse/next-js-api-github/tree/7561101493efcca1cf2198ad58825d73acc6bd4d/node_modules%2F@material-ui%2Ficons%2Fesm%2FBackupRounded.js?citationMarker=43dcd9a7-70db-4a1f-b0ae-981daa162054 "8")[43dcd9a7-70db-4a1f-b0ae-981daa162054](https://github.com/habitlab-dist/1-0-206/tree/00717d4a902718d1c941c42b9e003289ca5c48ee/interventions%2Fgeneric%2Fshow_user_info_interstitial%2Ffrontend.js?citationMarker=43dcd9a7-70db-4a1f-b0ae-981daa162054 "9")[43dcd9a7-70db-4a1f-b0ae-981daa162054](https://github.com/spot-summers/hidden_mata/tree/cd58f0b4fb3077e2faa419b573ae1b0d99db5be7/WebPages%2Fgoogle_standard%2Findex.php?citationMarker=43dcd9a7-70db-4a1f-b0ae-981daa162054 "10")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|