Elias207 commited on
Commit
ae341ff
·
verified ·
1 Parent(s): decfe4f

Update index.html

Browse files
Files changed (1) hide show
  1. 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: 250px; 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; flex-direction: column; align-items: center; gap: 1.5rem; }
175
- #result-container.loading #loading-placeholder { display: flex; animation: fadeIn 0.5s; }
176
- .orbital-loader { width: 110px; height: 110px; position: relative; animation: spin 10s linear infinite; }
177
- .orbit { position: absolute; top: 50%; left: 50%; border: 2px dashed rgba(74, 108, 250, 0.35); border-radius: 50%; transform-origin: center center; }
178
- .orbit:nth-child(1) { width: 35px; height: 35px; margin: -17.5px 0 0 -17.5px; animation: spin 2.8s linear infinite reverse; }
179
- .orbit:nth-child(2) { width: 70px; height: 70px; margin: -35px 0 0 -35px; animation: spin 3.8s linear infinite; }
180
- .orbit .satellite { position: absolute; width: 10px; height: 10px; border-radius: 50%; background-color: var(--accent-primary); box-shadow: 0 0 8px var(--accent-primary), 0 0 12px var(--accent-secondary); }
181
- .orbit:nth-child(1) .satellite { top: -5px; left: 50%; transform: translateX(-50%); }
182
- .orbit:nth-child(2) .satellite { top: 50%; left: -5px; background-color: var(--accent-secondary); transform: translateY(-50%); }
183
- .loading-text { font-weight: 500; color: var(--text-secondary); }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
- <div class="orbital-loader"><div class="orbit"><div class="satellite"></div></div><div class="orbit"><div class="satellite"></div></div></div>
291
- <p class="loading-text">هوش مصنوعی در حال خلق اثر شماست...</p>
 
 
 
 
 
 
 
 
 
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>