Spaces:
Running
Running
Update index.html
Browse files- index.html +112 -13
index.html
CHANGED
|
@@ -169,18 +169,108 @@
|
|
| 169 |
#submit-btn:disabled { background: var(--text-tertiary); cursor: not-allowed; box-shadow: none; opacity: 0.7; }
|
| 170 |
#submit-btn .spinner { width: 20px; height: 20px; border: 3px solid rgba(255, 255, 255, 0.4); border-top-color: #fff; border-radius: 50%; animation: spin 0.8s linear infinite; display: none; }
|
| 171 |
|
| 172 |
-
#result-container { min-height:
|
| 173 |
#result-container.loading, #result-container.has-content { border-style: solid; border-color: var(--panel-border); }
|
| 174 |
-
#loading-placeholder { display: none;
|
| 175 |
-
#result-container.loading #loading-placeholder { display: flex; animation: fadeIn 0.5s; }
|
| 176 |
-
|
| 177 |
-
|
| 178 |
-
.
|
| 179 |
-
|
| 180 |
-
|
| 181 |
-
|
| 182 |
-
|
| 183 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 184 |
#result-grid { display: none; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; width: 100%; }
|
| 185 |
#result-container.has-content #result-grid { display: grid; }
|
| 186 |
#result-grid img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: var(--radius-input); cursor: pointer; transition: var(--transition-smooth); box-shadow: var(--shadow-md); border: 1px solid var(--panel-border); }
|
|
@@ -287,8 +377,17 @@
|
|
| 287 |
</div>
|
| 288 |
<div id="result-container">
|
| 289 |
<div id="loading-placeholder">
|
| 290 |
-
|
| 291 |
-
<
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 292 |
</div>
|
| 293 |
<div id="result-grid"></div>
|
| 294 |
</div>
|
|
|
|
| 169 |
#submit-btn:disabled { background: var(--text-tertiary); cursor: not-allowed; box-shadow: none; opacity: 0.7; }
|
| 170 |
#submit-btn .spinner { width: 20px; height: 20px; border: 3px solid rgba(255, 255, 255, 0.4); border-top-color: #fff; border-radius: 50%; animation: spin 0.8s linear infinite; display: none; }
|
| 171 |
|
| 172 |
+
#result-container { min-height: 350px; position: relative; padding: 1rem; background-color: var(--input-bg); border-radius: var(--radius-card); border: 2px dashed var(--input-border); box-shadow: var(--shadow-sm) inset; transition: var(--transition-smooth); display: flex; align-items: center; justify-content: center; }
|
| 173 |
#result-container.loading, #result-container.has-content { border-style: solid; border-color: var(--panel-border); }
|
| 174 |
+
#loading-placeholder { display: none; }
|
| 175 |
+
#result-container.loading #loading-placeholder { display: flex; animation: fadeIn 0.5s; justify-content: center; align-items: center; width: 100%; }
|
| 176 |
+
|
| 177 |
+
/* --- START: New AI Animation Styles --- */
|
| 178 |
+
.generator-container {
|
| 179 |
+
position: relative;
|
| 180 |
+
width: 400px;
|
| 181 |
+
max-width: 100%; /* Ensures responsiveness on smaller screens */
|
| 182 |
+
height: 300px;
|
| 183 |
+
border: 2px solid #38bdf8;
|
| 184 |
+
border-radius: 20px;
|
| 185 |
+
overflow: hidden;
|
| 186 |
+
box-shadow: 0 0 40px rgba(56, 189, 248, 0.3);
|
| 187 |
+
animation: pulse 5s infinite cubic-bezier(0.4, 0, 0.6, 1);
|
| 188 |
+
background-color: #161b22;
|
| 189 |
+
color: #f0f6fc;
|
| 190 |
+
}
|
| 191 |
+
|
| 192 |
+
@keyframes pulse {
|
| 193 |
+
0% { box-shadow: 0 0 40px rgba(56, 189, 248, 0.3); }
|
| 194 |
+
50% { box-shadow: 0 0 60px rgba(56, 189, 248, 0.7); }
|
| 195 |
+
100% { box-shadow: 0 0 40px rgba(56, 189, 248, 0.3); }
|
| 196 |
+
}
|
| 197 |
+
|
| 198 |
+
.noise-layer {
|
| 199 |
+
position: absolute; top: 0; left: 0; width: 100%; height: 100%;
|
| 200 |
+
background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100"><rect width="100" height="100" fill="none"/><filter id="noise"><feTurbulence type="fractalNoise" baseFrequency="0.5" numOctaves="4" stitchTiles="stitch"/></filter><rect width="100%" height="100%" filter="url(%23noise)" opacity="0.6"/></svg>') repeat;
|
| 201 |
+
opacity: 1; animation: fade-noise 7s infinite ease-in-out;
|
| 202 |
+
}
|
| 203 |
+
|
| 204 |
+
@keyframes fade-noise {
|
| 205 |
+
0% { opacity: 1; filter: blur(5px); } 30% { opacity: 0.8; filter: blur(2px); } 100% { opacity: 0; filter: blur(0px); }
|
| 206 |
+
}
|
| 207 |
+
|
| 208 |
+
.sketch-layer {
|
| 209 |
+
position: absolute; top: 0; left: 0; width: 100%; height: 100%;
|
| 210 |
+
background-image: url('https://picsum.photos/400/300?grayscale');
|
| 211 |
+
background-size: cover; background-position: center;
|
| 212 |
+
filter: grayscale(1) contrast(1.5) blur(3px); opacity: 0;
|
| 213 |
+
animation: reveal-sketch 7s infinite ease-in-out;
|
| 214 |
+
}
|
| 215 |
+
|
| 216 |
+
@keyframes reveal-sketch {
|
| 217 |
+
0% { opacity: 0; filter: grayscale(1) contrast(1.5) blur(3px); } 20% { opacity: 1; filter: grayscale(1) contrast(1.2) blur(1px); } 60% { opacity: 0.5; filter: grayscale(0.5) contrast(1) blur(0px); } 100% { opacity: 0; }
|
| 218 |
+
}
|
| 219 |
+
|
| 220 |
+
.building-layer {
|
| 221 |
+
position: absolute; top: 0; left: 0; width: 100%; height: 100%;
|
| 222 |
+
background-image: url('https://picsum.photos/400/300');
|
| 223 |
+
background-size: cover; background-position: center;
|
| 224 |
+
filter: blur(15px) saturate(0.5) brightness(0.7); opacity: 0;
|
| 225 |
+
animation: denoise-color 7s infinite ease-in-out;
|
| 226 |
+
}
|
| 227 |
+
|
| 228 |
+
@keyframes denoise-color {
|
| 229 |
+
0% { opacity: 0; filter: blur(15px) saturate(0.5) brightness(0.7); } 40% { opacity: 0.6; filter: blur(5px) saturate(1) brightness(1); } 100% { opacity: 1; filter: blur(0px) saturate(1.5) brightness(1.1); }
|
| 230 |
+
}
|
| 231 |
+
|
| 232 |
+
.pixel-grid {
|
| 233 |
+
position: absolute; top: 0; left: 0; width: 100%; height: 100%;
|
| 234 |
+
background: repeating-linear-gradient(0deg, transparent 0 1px, rgba(255,255,255,0.1) 1px 2px), repeating-linear-gradient(90deg, transparent 0 1px, rgba(255,255,255,0.1) 1px 2px);
|
| 235 |
+
opacity: 1; animation: dissolve-grid 7s infinite ease-in-out;
|
| 236 |
+
}
|
| 237 |
+
|
| 238 |
+
@keyframes dissolve-grid {
|
| 239 |
+
0% { opacity: 1; } 70% { opacity: 0.5; } 100% { opacity: 0; }
|
| 240 |
+
}
|
| 241 |
+
|
| 242 |
+
.particles {
|
| 243 |
+
position: absolute; top: 0; left: 0; width: 100%; height: 100%;
|
| 244 |
+
background: radial-gradient(circle, rgba(56, 189, 248, 0.2) 0%, transparent 50%), radial-gradient(circle at 30% 70%, rgba(187, 134, 252, 0.2) 0%, transparent 50%), radial-gradient(circle at 70% 30%, rgba(250, 204, 21, 0.2) 0%, transparent 50%);
|
| 245 |
+
animation: flow-particles 7s infinite cubic-bezier(0.4, 0, 0.6, 1);
|
| 246 |
+
}
|
| 247 |
+
|
| 248 |
+
@keyframes flow-particles {
|
| 249 |
+
0% { transform: translate(0, 0) scale(1); opacity: 0.5; } 50% { transform: translate(10px, -15px) scale(1.05); opacity: 0.8; } 100% { transform: translate(0, 0) scale(1); opacity: 0.5; }
|
| 250 |
+
}
|
| 251 |
+
|
| 252 |
+
.text-overlay {
|
| 253 |
+
position: absolute; top: 45%; left: 50%;
|
| 254 |
+
transform: translate(-50%, -50%); font-size: 24px; font-weight: 700;
|
| 255 |
+
text-shadow: 0 0 20px rgba(56, 189, 248, 0.8), 0 0 30px rgba(187, 134, 252, 0.5);
|
| 256 |
+
animation: glow-text 7s infinite ease-in-out;
|
| 257 |
+
}
|
| 258 |
+
|
| 259 |
+
@keyframes glow-text {
|
| 260 |
+
0% { opacity: 0.7; text-shadow: 0 0 20px rgba(56, 189, 248, 0.8); } 50% { opacity: 1; text-shadow: 0 0 30px rgba(56, 189, 248, 1), 0 0 40px rgba(187, 134, 252, 0.7); } 100% { opacity: 0.7; text-shadow: 0 0 20px rgba(56, 189, 248, 0.8); }
|
| 261 |
+
}
|
| 262 |
+
|
| 263 |
+
.progress-bar {
|
| 264 |
+
position: absolute; bottom: 0; left: 0; width: 0%; height: 6px;
|
| 265 |
+
background: linear-gradient(to right, #38bdf8, #bb86fc, #facc15);
|
| 266 |
+
animation: progress 7s infinite linear;
|
| 267 |
+
}
|
| 268 |
+
|
| 269 |
+
@keyframes progress {
|
| 270 |
+
0% { width: 0%; } 100% { width: 100%; }
|
| 271 |
+
}
|
| 272 |
+
/* --- END: New AI Animation Styles --- */
|
| 273 |
+
|
| 274 |
#result-grid { display: none; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; width: 100%; }
|
| 275 |
#result-container.has-content #result-grid { display: grid; }
|
| 276 |
#result-grid img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: var(--radius-input); cursor: pointer; transition: var(--transition-smooth); box-shadow: var(--shadow-md); border: 1px solid var(--panel-border); }
|
|
|
|
| 377 |
</div>
|
| 378 |
<div id="result-container">
|
| 379 |
<div id="loading-placeholder">
|
| 380 |
+
<!-- START: New AI Animation HTML -->
|
| 381 |
+
<div class="generator-container">
|
| 382 |
+
<div class="noise-layer"></div>
|
| 383 |
+
<div class="sketch-layer"></div>
|
| 384 |
+
<div class="building-layer"></div>
|
| 385 |
+
<div class="pixel-grid"></div>
|
| 386 |
+
<div class="particles"></div>
|
| 387 |
+
<div class="text-overlay">در حال ساخت تصویر...</div>
|
| 388 |
+
<div class="progress-bar"></div>
|
| 389 |
+
</div>
|
| 390 |
+
<!-- END: New AI Animation HTML -->
|
| 391 |
</div>
|
| 392 |
<div id="result-grid"></div>
|
| 393 |
</div>
|