Vsratii commited on
Commit
d4e4d7f
·
verified ·
1 Parent(s): 6aa9aa5

Upload folder using huggingface_hub

Browse files
Files changed (1) hide show
  1. index.html +380 -19
index.html CHANGED
@@ -1,19 +1,380 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
19
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Modern Vertical Stepper</title>
7
+ <style>
8
+ :root {
9
+ --primary-color: #6366f1;
10
+ --primary-glow: rgba(99, 102, 241, 0.4);
11
+ --bg-color: #f8f9fc;
12
+ --card-bg: #ffffff;
13
+ --text-main: #1f2937;
14
+ --text-muted: #6b7280;
15
+ --border-color: #e5e7eb;
16
+ --step-size: 24px;
17
+ --line-width: 2px;
18
+ }
19
+
20
+ * {
21
+ box-sizing: box-box;
22
+ margin: 0;
23
+ padding: 0;
24
+ font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
25
+ }
26
+
27
+ body {
28
+ background-color: var(--bg-color);
29
+ color: var(--text-main);
30
+ display: flex;
31
+ justify-content: center;
32
+ align-items: center;
33
+ min-height: 100vh;
34
+ padding: 20px;
35
+ }
36
+
37
+ /* --- Header / Branding --- */
38
+ .header-branding {
39
+ position: absolute;
40
+ top: 20px;
41
+ left: 20px;
42
+ z-index: 10;
43
+ }
44
+
45
+ .branding-link {
46
+ text-decoration: none;
47
+ color: var(--text-main);
48
+ font-weight: 600;
49
+ font-size: 0.9rem;
50
+ background: rgba(255, 255, 255, 0.8);
51
+ padding: 8px 16px;
52
+ border-radius: 20px;
53
+ box-shadow: 0 2px 10px rgba(0,0,0,0.05);
54
+ transition: all 0.3s ease;
55
+ display: flex;
56
+ align-items: center;
57
+ gap: 8px;
58
+ }
59
+
60
+ .branding-link:hover {
61
+ transform: translateY(-2px);
62
+ box-shadow: 0 4px 15px rgba(0,0,0,0.1);
63
+ color: var(--primary-color);
64
+ }
65
+
66
+ .branding-icon {
67
+ width: 16px;
68
+ height: 16px;
69
+ fill: currentColor;
70
+ }
71
+
72
+ /* --- Main Container --- */
73
+ .stepper-wrapper {
74
+ background: var(--card-bg);
75
+ width: 100%;
76
+ max-width: 600px;
77
+ padding: 40px;
78
+ border-radius: 24px;
79
+ box-shadow: 0 10px 40px -10px rgba(0,0,0,0.1);
80
+ }
81
+
82
+ .stepper-title {
83
+ margin-bottom: 30px;
84
+ font-size: 1.5rem;
85
+ font-weight: 700;
86
+ color: var(--text-main);
87
+ }
88
+
89
+ /* --- The Grid Structure (2 Columns, 3 Rows) --- */
90
+ .stepper-grid {
91
+ display: grid;
92
+ grid-template-columns: 1fr 60px; /* Text Area | Indicator Area */
93
+ gap: 20px;
94
+ position: relative;
95
+ }
96
+
97
+ /* --- Step Item --- */
98
+ .step-row {
99
+ display: flex;
100
+ align-items: center; /* Vertically center text with circle */
101
+ position: relative;
102
+ min-height: 80px; /* Ensure spacing */
103
+ }
104
+
105
+ /* Left Side: Text Content */
106
+ .step-content {
107
+ padding-right: 20px;
108
+ opacity: 0.5;
109
+ transition: opacity 0.3s ease, transform 0.3s ease;
110
+ }
111
+
112
+ .step-content h3 {
113
+ font-size: 1.1rem;
114
+ margin-bottom: 4px;
115
+ color: var(--text-main);
116
+ }
117
+
118
+ .step-content p {
119
+ font-size: 0.9rem;
120
+ color: var(--text-muted);
121
+ line-height: 1.4;
122
+ }
123
+
124
+ /* Active State Styling */
125
+ .step-row.active .step-content {
126
+ opacity: 1;
127
+ transform: translateX(5px);
128
+ }
129
+
130
+ .step-row.active h3 {
131
+ color: var(--primary-color);
132
+ }
133
+
134
+ /* Right Side: The Circle (Indicator) */
135
+ .step-indicator {
136
+ width: var(--step-size);
137
+ height: var(--step-size);
138
+ background: var(--card-bg);
139
+ border: 2px solid var(--border-color);
140
+ border-radius: 50%;
141
+ display: flex;
142
+ justify-content: center;
143
+ align-items: center;
144
+ z-index: 2; /* Sit above the line */
145
+ transition: all 0.3s ease;
146
+ cursor: pointer;
147
+ position: relative;
148
+ }
149
+
150
+ .step-indicator::after {
151
+ content: '';
152
+ width: 6px;
153
+ height: 6px;
154
+ background: transparent;
155
+ border-radius: 50%;
156
+ transition: all 0.3s ease;
157
+ }
158
+
159
+ /* Active Indicator Styling */
160
+ .step-row.active .step-indicator {
161
+ background: var(--primary-color);
162
+ border-color: var(--primary-color);
163
+ box-shadow: 0 0 0 4px var(--primary-glow);
164
+ transform: scale(1.1);
165
+ }
166
+
167
+ .step-row.active .step-indicator::after {
168
+ background: white;
169
+ }
170
+
171
+ /* Completed State (Optional visual cue) */
172
+ .step-row.completed .step-indicator {
173
+ background: var(--primary-color);
174
+ border-color: var(--primary-color);
175
+ }
176
+
177
+ /* --- The Connecting Line --- */
178
+ /* We use a pseudo-element on the grid container to draw the vertical line on the right column */
179
+ .stepper-grid::before {
180
+ content: '';
181
+ position: absolute;
182
+ left: calc(1fr + 20px + 10px); /* Align with center of right column */
183
+ /* Calculation: 1fr width + gap/2 roughly.
184
+ Better approach: Place it specifically in the right column area.
185
+ */
186
+ left: calc(100% - 30px); /* Adjust based on grid column width */
187
+ top: 12px; /* Start halfway through first circle */
188
+ bottom: 12px; /* End halfway through last circle */
189
+ width: var(--line-width);
190
+ background: var(--border-color);
191
+ z-index: 1;
192
+ border-radius: 2px;
193
+ }
194
+
195
+ /* Dynamic Line Coloring via JS classes would be complex with CSS only pseudo elements.
196
+ Instead, we will create individual line segments between rows for better control. */
197
+
198
+ .line-segment {
199
+ position: absolute;
200
+ left: calc(100% - 30px); /* Align with indicator column center */
201
+ width: var(--line-width);
202
+ height: 60px; /* Distance between centers */
203
+ background: var(--border-color);
204
+ z-index: 1;
205
+ transition: background 0.4s ease;
206
+ }
207
+
208
+ .line-segment.active {
209
+ background: var(--primary-color);
210
+ }
211
+
212
+ /* --- Controls --- */
213
+ .controls {
214
+ margin-top: 40px;
215
+ display: flex;
216
+ justify-content: flex-end;
217
+ gap: 10px;
218
+ }
219
+
220
+ .btn {
221
+ padding: 10px 24px;
222
+ border: none;
223
+ border-radius: 12px;
224
+ font-weight: 600;
225
+ cursor: pointer;
226
+ transition: all 0.2s ease;
227
+ font-size: 0.9rem;
228
+ }
229
+
230
+ .btn-primary {
231
+ background: var(--primary-color);
232
+ color: white;
233
+ box-shadow: 0 4px 12px rgba(99, 102, 241, 0.3);
234
+ }
235
+
236
+ .btn-primary:hover {
237
+ background: #4f46e5;
238
+ transform: translateY(-1px);
239
+ }
240
+
241
+ .btn-secondary {
242
+ background: transparent;
243
+ color: var(--text-muted);
244
+ border: 1px solid var(--border-color);
245
+ }
246
+
247
+ .btn-secondary:hover {
248
+ background: #f3f4f6;
249
+ color: var(--text-main);
250
+ }
251
+
252
+ /* Responsive Adjustments */
253
+ @media (max-width: 480px) {
254
+ .stepper-wrapper {
255
+ padding: 20px;
256
+ }
257
+ .stepper-grid {
258
+ grid-template-columns: 1fr 40px;
259
+ }
260
+ .step-content h3 {
261
+ font-size: 0.95rem;
262
+ }
263
+ .step-content p {
264
+ font-size: 0.8rem;
265
+ }
266
+ .line-segment {
267
+ left: calc(100% - 20px);
268
+ }
269
+ }
270
+ </style>
271
+ </head>
272
+ <body>
273
+
274
+ <!-- Branding Link -->
275
+ <div class="header-branding">
276
+ <a href="https://huggingface.co/spaces/akhaliq/anycoder" class="branding-link" target="_blank">
277
+ <svg class="branding-icon" viewBox="0 0 24 24">
278
+ <path d="M12 2L2 7l10 5 10-5-10-5zm0 9l2.5-1.25L12 8.5l-2.5 1.25L12 11zm0 2.5l-5-2.5-5 2.5L12 22l10-10.5-5-2.5-5 2.5z"/>
279
+ </svg>
280
+ Built with anycoder
281
+ </a>
282
+ </div>
283
+
284
+ <div class="stepper-wrapper">
285
+ <h2 class="stepper-title">Project Workflow</h2>
286
+
287
+ <div class="stepper-grid">
288
+
289
+ <!-- Step 1 -->
290
+ <div class="step-row active" id="step-1">
291
+ <div class="step-content">
292
+ <h3>Planning & Strategy</h3>
293
+ <p>Define the scope, requirements, and initial architecture of the project.</p>
294
+ </div>
295
+ <div class="step-indicator" onclick="activateStep(1)"></div>
296
+ </div>
297
+
298
+ <!-- Line Segment 1-2 -->
299
+ <div class="line-segment" id="line-1"></div>
300
+
301
+ <!-- Step 2 -->
302
+ <div class="step-row" id="step-2">
303
+ <div class="step-content">
304
+ <h3>Development Phase</h3>
305
+ <p>Core implementation of features, coding modules, and integration.</p>
306
+ </div>
307
+ <div class="step-indicator" onclick="activateStep(2)"></div>
308
+ </div>
309
+
310
+ <!-- Line Segment 2-3 -->
311
+ <div class="line-segment" id="line-2"></div>
312
+
313
+ <!-- Step 3 -->
314
+ <div class="step-row" id="step-3">
315
+ <div class="step-content">
316
+ <h3>Deployment & Review</h3>
317
+ <p>Final testing, deployment to production, and post-launch monitoring.</p>
318
+ </div>
319
+ <div class="step-indicator" onclick="activateStep(3)"></div>
320
+ </div>
321
+
322
+ </div>
323
+
324
+ <div class="controls">
325
+ <button class="btn btn-secondary" onclick="resetStepper()">Reset</button>
326
+ <button class="btn btn-primary" onclick="nextStep()">Next Step</button>
327
+ </div>
328
+ </div>
329
+
330
+ <script>
331
+ let currentStep = 1;
332
+ const totalSteps = 3;
333
+
334
+ function updateUI() {
335
+ // Reset all
336
+ for (let i = 1; i <= totalSteps; i++) {
337
+ const stepRow = document.getElementById(`step-${i}`);
338
+ const line = document.getElementById(`line-${i}`);
339
+
340
+ // Remove active/completed classes
341
+ stepRow.classList.remove('active', 'completed');
342
+ if(line) line.classList.remove('active');
343
+
344
+ // Logic for state
345
+ if (i < currentStep) {
346
+ stepRow.classList.add('completed');
347
+ if(line) line.classList.add('active');
348
+ } else if (i === currentStep) {
349
+ stepRow.classList.add('active');
350
+ // Activate previous line if exists
351
+ if (i > 1) {
352
+ const prevLine = document.getElementById(`line-${i-1}`);
353
+ if(prevLine) prevLine.classList.add('active');
354
+ }
355
+ }
356
+ }
357
+ }
358
+
359
+ function activateStep(stepIndex) {
360
+ currentStep = stepIndex;
361
+ updateUI();
362
+ }
363
+
364
+ function nextStep() {
365
+ if (currentStep < totalSteps) {
366
+ currentStep++;
367
+ updateUI();
368
+ }
369
+ }
370
+
371
+ function resetStepper() {
372
+ currentStep = 1;
373
+ updateUI();
374
+ }
375
+
376
+ // Initialize
377
+ updateUI();
378
+ </script>
379
+ </body>
380
+ </html>