victor HF Staff commited on
Commit
e3a735a
·
verified ·
1 Parent(s): 6488791

Add 3 files

Browse files
Files changed (3) hide show
  1. README.md +7 -5
  2. index.html +897 -19
  3. prompts.txt +1 -0
README.md CHANGED
@@ -1,10 +1,12 @@
1
  ---
2
- title: Novanexus
3
- emoji: 🔥
4
- colorFrom: green
5
- colorTo: indigo
6
  sdk: static
7
  pinned: false
 
 
8
  ---
9
 
10
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
1
  ---
2
+ title: novanexus
3
+ emoji: 🐳
4
+ colorFrom: red
5
+ colorTo: pink
6
  sdk: static
7
  pinned: false
8
+ tags:
9
+ - deepsite
10
  ---
11
 
12
+ Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
index.html CHANGED
@@ -1,19 +1,897 @@
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>NovaNexus - Create Account</title>
7
+ <script src="https://cdn.tailwindcss.com"></script>
8
+ <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet">
9
+ <script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyD3gLHjV3X5X5X5X5X5X5X5X5X5X5X5X5X5X5&libraries=places"></script>
10
+ <style>
11
+ .cosmic-bg {
12
+ background: linear-gradient(135deg, #0f172a 0%, #020617 100%);
13
+ position: relative;
14
+ overflow: hidden;
15
+ }
16
+ .cosmic-bg::before {
17
+ content: "";
18
+ position: absolute;
19
+ top: 0;
20
+ left: 0;
21
+ right: 0;
22
+ bottom: 0;
23
+ background-image:
24
+ radial-gradient(circle at 20% 30%, rgba(255, 255, 255, 0.05) 0.5px, transparent 1px),
25
+ radial-gradient(circle at 80% 50%, rgba(255, 255, 255, 0.05) 0.5px, transparent 1px),
26
+ radial-gradient(circle at 40% 70%, rgba(255, 255, 255, 0.05) 0.5px, transparent 1px);
27
+ background-size: 3% 3%;
28
+ z-index: 0;
29
+ }
30
+ .selection-bubble {
31
+ border: 1px solid rgba(255, 255, 255, 0.1);
32
+ transition: all 0.3s ease;
33
+ }
34
+ .selection-bubble:hover {
35
+ border-color: #3b82f6;
36
+ transform: translateY(-5px);
37
+ }
38
+ .selection-bubble.selected {
39
+ border-color: #3b82f6;
40
+ background: rgba(59, 130, 246, 0.1);
41
+ transform: translateY(-5px);
42
+ }
43
+ .progress-step {
44
+ width: 32px;
45
+ height: 32px;
46
+ display: flex;
47
+ align-items: center;
48
+ justify-content: center;
49
+ border-radius: 50%;
50
+ background: rgba(255, 255, 255, 0.1);
51
+ color: #94a3b8;
52
+ font-weight: 600;
53
+ }
54
+ .progress-step.active {
55
+ background: #3b82f6;
56
+ color: white;
57
+ }
58
+ .progress-step.completed {
59
+ background: #059669;
60
+ color: white;
61
+ }
62
+ .progress-connector {
63
+ height: 2px;
64
+ flex: 1;
65
+ background: rgba(255, 255, 255, 0.1);
66
+ }
67
+ .progress-connector.active {
68
+ background: #3b82f6;
69
+ }
70
+ .progress-connector.completed {
71
+ background: #059669;
72
+ }
73
+ .input-field {
74
+ background: rgba(15, 23, 42, 0.8);
75
+ border: 1px solid rgba(255, 255, 255, 0.1);
76
+ transition: all 0.3s ease;
77
+ }
78
+ .input-field:focus {
79
+ border-color: #3b82f6;
80
+ box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.3);
81
+ }
82
+ .shadow-glow {
83
+ box-shadow: 0 4px 20px rgba(59, 130, 246, 0.25);
84
+ }
85
+ #map {
86
+ height: 250px;
87
+ border-radius: 0.5rem;
88
+ }
89
+ </style>
90
+ </head>
91
+ <body class="cosmic-bg text-white min-h-screen font-['Inter']">
92
+ <div class="container mx-auto px-4 py-8 max-w-5xl relative z-10">
93
+ <!-- Navigation -->
94
+ <nav class="flex justify-between items-center mb-12">
95
+ <div class="flex items-center space-x-2">
96
+ <div class="w-10 h-10 rounded-full bg-gradient-to-br from-blue-500 to-indigo-600 flex items-center justify-center shadow-glow">
97
+ <svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6 text-white" fill="none" viewBox="0 0 24 24" stroke="currentColor">
98
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9.663 17h4.673M12 3v1m6.364 1.636l-.707.707M21 12h-1M4 12H3m3.343-5.657l-.707-.707m2.828 9.9a5 5 0 117.072 0l-.548.547A3.374 3.374 0 0014 18.469V19a2 2 0 11-4 0v-.531c0-.895-.356-1.754-.988-2.386l-.548-.547z" />
99
+ </svg>
100
+ </div>
101
+ <span class="text-xl font-bold tracking-tight">NovaNexus</span>
102
+ </div>
103
+ <div>
104
+ <button class="text-sm text-blue-400 hover:text-blue-300 font-medium">Sign In</button>
105
+ </div>
106
+ </nav>
107
+
108
+ <!-- Main Content -->
109
+ <div class="flex flex-col md:flex-row gap-8">
110
+ <!-- Progress Indicator (Hidden on small screens) -->
111
+ <div class="hidden md:block w-64 shrink-0">
112
+ <div class="sticky top-8">
113
+ <h2 class="text-2xl font-bold mb-6">Create Your Account</h2>
114
+ <div class="flex flex-col gap-2">
115
+ <div class="flex flex-col items-center gap-1">
116
+ <span class="text-xs font-medium text-slate-400 uppercase tracking-wider">Progress</span>
117
+ <div class="w-full bg-slate-800 rounded-full h-1.5 mt-1">
118
+ <div class="bg-blue-500 h-1.5 rounded-full" id="progress-bar" style="width: 16.66%"></div>
119
+ </div>
120
+ </div>
121
+ <div class="mt-6 flex flex-col gap-4">
122
+ <div class="flex items-center gap-4">
123
+ <div id="step-1-circle" class="progress-step active">1</div>
124
+ <span id="step-1-text" class="font-medium">Personal Info</span>
125
+ <div class="progress-connector"></div>
126
+ </div>
127
+ <div class="flex items-center gap-4">
128
+ <div id="step-2-circle" class="progress-step">2</div>
129
+ <span id="step-2-text" class="font-medium text-slate-400">Business Info</span>
130
+ <div class="progress-connector"></div>
131
+ </div>
132
+ <div class="flex items-center gap-4">
133
+ <div id="step-3-circle" class="progress-step">3</div>
134
+ <span id="step-3-text" class="font-medium text-slate-400">Business Type</span>
135
+ <div class="progress-connector"></div>
136
+ </div>
137
+ <div class="flex items-center gap-4">
138
+ <div id="step-4-circle" class="progress-step">4</div>
139
+ <span id="step-4-text" class="font-medium text-slate-400">Location</span>
140
+ <div class="progress-connector"></div>
141
+ </div>
142
+ <div class="flex items-center gap-4">
143
+ <div id="step-5-circle" class="progress-step">5</div>
144
+ <span id="step-5-text" class="font-medium text-slate-400">Business Size</span>
145
+ <div class="progress-connector"></div>
146
+ </div>
147
+ <div class="flex items-center gap-4">
148
+ <div id="step-6-circle" class="progress-step">6</div>
149
+ <span id="step-6-text" class="font-medium text-slate-400">Credentials</span>
150
+ </div>
151
+ </div>
152
+ </div>
153
+ </div>
154
+ </div>
155
+
156
+ <!-- Form Content -->
157
+ <div class="flex-1">
158
+ <!-- Step 1: Name and Email -->
159
+ <div id="step-1" class="form-step block">
160
+ <div class="max-w-lg mx-auto">
161
+ <h1 class="text-4xl font-bold mb-2">Welcome to <span class="text-blue-400">NovaNexus</span></h1>
162
+ <p class="text-slate-400 mb-8">Let's get started with some basic information about you.</p>
163
+
164
+ <div class="space-y-6">
165
+ <div>
166
+ <label for="full-name" class="block text-sm font-medium mb-2">Full Name</label>
167
+ <input type="text" id="full-name" class="w-full px-4 py-3 rounded-lg input-field focus:outline-none" placeholder="John Smith">
168
+ </div>
169
+
170
+ <div>
171
+ <label for="email" class="block text-sm font-medium mb-2">Email Address</label>
172
+ <input type="email" id="email" class="w-full px-4 py-3 rounded-lg input-field focus:outline-none" placeholder="[email protected]">
173
+ </div>
174
+ </div>
175
+
176
+ <div class="mt-10 flex justify-end">
177
+ <button onclick="nextStep(2)" class="bg-blue-500 hover:bg-blue-600 text-white px-6 py-3 rounded-lg font-medium transition-colors duration-200">
178
+ Continue
179
+ </button>
180
+ </div>
181
+ </div>
182
+ </div>
183
+
184
+ <!-- Step 2: Business Name and Description -->
185
+ <div id="step-2" class="form-step hidden">
186
+ <div class="max-w-lg mx-auto">
187
+ <h1 class="text-4xl font-bold mb-2">About Your Business</h1>
188
+ <p class="text-slate-400 mb-8">Tell us a little about your company.</p>
189
+
190
+ <div class="space-y-6">
191
+ <div>
192
+ <label for="business-name" class="block text-sm font-medium mb-2">Business Name</label>
193
+ <input type="text" id="business-name" class="w-full px-4 py-3 rounded-lg input-field focus:outline-none" placeholder="Acme Inc.">
194
+ </div>
195
+
196
+ <div>
197
+ <label for="business-description" class="block text-sm font-medium mb-2">Business Description</label>
198
+ <textarea id="business-description" rows="4" class="w-full px-4 py-3 rounded-lg input-field focus:outline-none" placeholder="What products or services do you offer?"></textarea>
199
+ </div>
200
+ </div>
201
+
202
+ <div class="mt-10 flex justify-between">
203
+ <button onclick="prevStep(1)" class="text-blue-400 hover:text-blue-300 font-medium px-6 py-3 rounded-lg transition-colors duration-200">
204
+ Back
205
+ </button>
206
+ <button onclick="nextStep(3)" class="bg-blue-500 hover:bg-blue-600 text-white px-6 py-3 rounded-lg font-medium transition-colors duration-200">
207
+ Continue
208
+ </button>
209
+ </div>
210
+ </div>
211
+ </div>
212
+
213
+ <!-- Step 3: Business Type -->
214
+ <div id="step-3" class="form-step hidden">
215
+ <div class="max-w-lg mx-auto">
216
+ <h1 class="text-4xl font-bold mb-2">Business Type</h1>
217
+ <p class="text-slate-400 mb-8">Select the category that best describes your business.</p>
218
+
219
+ <div class="grid grid-cols-1 sm:grid-cols-3 gap-4">
220
+ <div class="selection-bubble rounded-lg p-4 cursor-pointer text-center" onclick="selectBusinessType('Marketing Agency')">
221
+ <div class="w-16 h-16 mx-auto bg-indigo-900/30 rounded-full flex items-center justify-center mb-3">
222
+ <svg xmlns="http://www.w3.org/2000/svg" class="h-8 w-8 text-indigo-400" fill="none" viewBox="0 0 24 24" stroke="currentColor">
223
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 19v-6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2a2 2 0 002-2zm0 0V9a2 2 0 012-2h2a2 2 0 012 2v10m-6 0a2 2 0 002 2h2a2 2 0 002-2m0 0V5a2 2 0 012-2h2a2 2 0 012 2v14a2 2 0 01-2 2h-2a2 2 0 01-2-2z" />
224
+ </svg>
225
+ </div>
226
+ <h3 class="font-medium">Marketing Agency</h3>
227
+ <p class="text-sm text-slate-400 mt-1">Digital marketing, social media, SEO</p>
228
+ </div>
229
+
230
+ <div class="selection-bubble rounded-lg p-4 cursor-pointer text-center" onclick="selectBusinessType('Software Developer')">
231
+ <div class="w-16 h-16 mx-auto bg-blue-900/30 rounded-full flex items-center justify-center mb-3">
232
+ <svg xmlns="http://www.w3.org/2000/svg" class="h-8 w-8 text-blue-400" fill="none" viewBox="0 0 24 24" stroke="currentColor">
233
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 20l4-16m4 4l4 4-4 4M6 16l-4-4 4-4" />
234
+ </svg>
235
+ </div>
236
+ <h3 class="font-medium">Software Developer</h3>
237
+ <p class="text-sm text-slate-400 mt-1">Web & mobile app development</p>
238
+ </div>
239
+
240
+ <div class="selection-bubble rounded-lg p-4 cursor-pointer text-center" onclick="selectBusinessType('Graphic Designer')">
241
+ <div class="w-16 h-16 mx-auto bg-purple-900/30 rounded-full flex items-center justify-center mb-3">
242
+ <svg xmlns="http://www.w3.org/2000/svg" class="h-8 w-8 text-purple-400" fill="none" viewBox="0 0 24 24" stroke="currentColor">
243
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15.232 5.232l3.536 3.536m-2.036-5.036a2.5 2.5 0 113.536 3.536L6.5 21.036H3v-3.572L16.732 3.732z" />
244
+ </svg>
245
+ </div>
246
+ <h3 class="font-medium">Graphic Designer</h3>
247
+ <p class="text-sm text-slate-400 mt-1">Branding, logos, print materials</p>
248
+ </div>
249
+ </div>
250
+
251
+ <input type="hidden" id="business-type">
252
+
253
+ <div class="mt-10 flex justify-between">
254
+ <button onclick="prevStep(2)" class="text-blue-400 hover:text-blue-300 font-medium px-6 py-3 rounded-lg transition-colors duration-200">
255
+ Back
256
+ </button>
257
+ <button onclick="nextStep(4)" class="bg-blue-500 hover:bg-blue-600 text-white px-6 py-3 rounded-lg font-medium transition-colors duration-200">
258
+ Continue
259
+ </button>
260
+ </div>
261
+ </div>
262
+ </div>
263
+
264
+ <!-- Step 4: Address with Map -->
265
+ <div id="step-4" class="form-step hidden">
266
+ <div class="max-w-lg mx-auto">
267
+ <h1 class="text-4xl font-bold mb-2">Business Location</h1>
268
+ <p class="text-slate-400 mb-8">Where is your business located?</p>
269
+
270
+ <div class="space-y-6">
271
+ <div>
272
+ <label for="business-address" class="block text-sm font-medium mb-2">Business Address</label>
273
+ <input type="text" id="business-address" class="w-full px-4 py-3 rounded-lg input-field focus:outline-none" placeholder="123 Main St, City, Country">
274
+ </div>
275
+
276
+ <div id="map" class="mt-4"></div>
277
+
278
+ <div class="grid grid-cols-2 gap-4">
279
+ <div>
280
+ <label for="city" class="block text-sm font-medium mb-2">City</label>
281
+ <input type="text" id="city" class="w-full px-4 py-3 rounded-lg input-field focus:outline-none" placeholder="New York">
282
+ </div>
283
+ <div>
284
+ <label for="zip-code" class="block text-sm font-medium mb-2">Zip Code</label>
285
+ <input type="text" id="zip-code" class="w-full px-4 py-3 rounded-lg input-field focus:outline-none" placeholder="10001">
286
+ </div>
287
+ </div>
288
+ </div>
289
+
290
+ <div class="mt-10 flex justify-between">
291
+ <button onclick="prevStep(3)" class="text-blue-400 hover:text-blue-300 font-medium px-6 py-3 rounded-lg transition-colors duration-200">
292
+ Back
293
+ </button>
294
+ <button onclick="nextStep(5)" class="bg-blue-500 hover:bg-blue-600 text-white px-6 py-3 rounded-lg font-medium transition-colors duration-200">
295
+ Continue
296
+ </button>
297
+ </div>
298
+ </div>
299
+ </div>
300
+
301
+ <!-- Step 5: Business Size -->
302
+ <div id="step-5" class="form-step hidden">
303
+ <div class="max-w-lg mx-auto">
304
+ <h1 class="text-4xl font-bold mb-2">Business Size</h1>
305
+ <p class="text-slate-400 mb-8">How many people work at your company?</p>
306
+
307
+ <div class="grid grid-cols-1 sm:grid-cols-4 gap-4">
308
+ <div class="selection-bubble rounded-lg p-4 cursor-pointer text-center" onclick="selectBusinessSize('1')">
309
+ <div class="w-16 h-16 mx-auto bg-slate-800 rounded-full flex items-center justify-center mb-3">
310
+ <span class="text-xl font-bold">1</span>
311
+ </div>
312
+ <h3 class="font-medium">Solo</h3>
313
+ <p class="text-sm text-slate-400 mt-1">Just me</p>
314
+ </div>
315
+
316
+ <div class="selection-bubble rounded-lg p-4 cursor-pointer text-center" onclick="selectBusinessSize('2-10')">
317
+ <div class="w-16 h-16 mx-auto bg-slate-800 rounded-full flex items-center justify-center mb-3">
318
+ <span class="text-xl font-bold">2-10</span>
319
+ </div>
320
+ <h3 class="font-medium">Small Team</h3>
321
+ <p class="text-sm text-slate-400 mt-1">2 to 10 people</p>
322
+ </div>
323
+
324
+ <div class="selection-bubble rounded-lg p-4 cursor-pointer text-center" onclick="selectBusinessSize('11-50')">
325
+ <div class="w-16 h-16 mx-auto bg-slate-800 rounded-full flex items-center justify-center mb-3">
326
+ <span class="text-xl font-bold">11-50</span>
327
+ </div>
328
+ <h3 class="font-medium">Medium</h3>
329
+ <p class="text-sm text-slate-400 mt-1">11 to 50 people</p>
330
+ </div>
331
+
332
+ <div class="selection-bubble rounded-lg p-4 cursor-pointer text-center" onclick="selectBusinessSize('51+')">
333
+ <div class="w-16 h-16 mx-auto bg-slate-800 rounded-full flex items-center justify-center mb-3">
334
+ <span class="text-xl font-bold">51+</span>
335
+ </div>
336
+ <h3 class="font-medium">Large</h3>
337
+ <p class="text-sm text-slate-400 mt-1">51+ employees</p>
338
+ </div>
339
+ </div>
340
+
341
+ <input type="hidden" id="business-size">
342
+
343
+ <div class="mt-10 flex justify-between">
344
+ <button onclick="prevStep(4)" class="text-blue-400 hover:text-blue-300 font-medium px-6 py-3 rounded-lg transition-colors duration-200">
345
+ Back
346
+ </button>
347
+ <button onclick="nextStep(6)" class="bg-blue-500 hover:bg-blue-600 text-white px-6 py-3 rounded-lg font-medium transition-colors duration-200">
348
+ Continue
349
+ </button>
350
+ </div>
351
+ </div>
352
+ </div>
353
+
354
+ <!-- Step 6: Username and Password -->
355
+ <div id="step-6" class="form-step hidden">
356
+ <div class="max-w-lg mx-auto">
357
+ <h1 class="text-4xl font-bold mb-2">Almost There</h1>
358
+ <p class="text-slate-400 mb-8">Create your login credentials.</p>
359
+
360
+ <div class="space-y-6">
361
+ <div>
362
+ <label for="username" class="block text-sm font-medium mb-2">Username</label>
363
+ <div class="relative">
364
+ <div class="absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none">
365
+ <span class="text-slate-400">@</span>
366
+ </div>
367
+ <input type="text" id="username" class="w-full pl-7 px-4 py-3 rounded-lg input-field focus:outline-none" placeholder="username">
368
+ </div>
369
+ </div>
370
+
371
+ <div>
372
+ <label for="password" class="block text-sm font-medium mb-2">Password</label>
373
+ <input type="password" id="password" class="w-full px-4 py-3 rounded-lg input-field focus:outline-none" placeholder="••••••••">
374
+ <div class="mt-2">
375
+ <div class="flex items-center gap-2 mb-1">
376
+ <div id="strength-meter-1" class="w-full h-1.5 bg-slate-700 rounded-full"></div>
377
+ <div id="strength-meter-2" class="w-full h-1.5 bg-slate-700 rounded-full"></div>
378
+ <div id="strength-meter-3" class="w-full h-1.5 bg-slate-700 rounded-full"></div>
379
+ <div id="strength-meter-4" class="w-full h-1.5 bg-slate-700 rounded-full"></div>
380
+ </div>
381
+ <p id="strength-text" class="text-xs text-slate-400">Password strength: <span>Weak</span></p>
382
+ </div>
383
+ <div class="mt-2 text-xs text-slate-400">
384
+ Use 8+ characters with a mix of letters, numbers & symbols
385
+ </div>
386
+ </div>
387
+
388
+ <div>
389
+ <label for="confirm-password" class="block text-sm font-medium mb-2">Confirm Password</label>
390
+ <input type="password" id="confirm-password" class="w-full px-4 py-3 rounded-lg input-field focus:outline-none" placeholder="••••••••">
391
+ </div>
392
+
393
+ <div class="flex items-start mt-1">
394
+ <div class="flex items-center h-5">
395
+ <input id="terms" name="terms" type="checkbox" class="h-4 w-4 rounded text-blue-600 focus:ring-blue-500 bg-slate-800 border-slate-600">
396
+ </div>
397
+ <div class="ml-3 text-sm">
398
+ <label for="terms" class="text-slate-400">I agree to the <a href="#" class="text-blue-400 hover:text-blue-300">Terms of Service</a> and <a href="#" class="text-blue-400 hover:text-blue-300">Privacy Policy</a></label>
399
+ </div>
400
+ </div>
401
+ </div>
402
+
403
+ <div class="mt-10 flex justify-between">
404
+ <button onclick="prevStep(5)" class="text-blue-400 hover:text-blue-300 font-medium px-6 py-3 rounded-lg transition-colors duration-200">
405
+ Back
406
+ </button>
407
+ <button onclick="submitForm()" class="bg-blue-500 hover:bg-blue-600 text-white px-6 py-3 rounded-lg font-medium transition-colors duration-200">
408
+ Create Account
409
+ </button>
410
+ </div>
411
+ </div>
412
+ </div>
413
+ </div>
414
+ </div>
415
+ </div>
416
+
417
+ <script>
418
+ let currentStep = 1;
419
+ const totalSteps = 6;
420
+ let map;
421
+ let marker;
422
+
423
+ // Initialize the form
424
+ document.addEventListener('DOMContentLoaded', function() {
425
+ // For demo purposes, we'll just log the form submission
426
+ document.getElementById('password').addEventListener('input', checkPasswordStrength);
427
+
428
+ // Initialize the map (but only show it when we get to step 4)
429
+ initMap();
430
+ });
431
+
432
+ function nextStep(step) {
433
+ // Validate current step before proceeding
434
+ if (!validateCurrentStep()) return;
435
+
436
+ // Hide current step
437
+ document.getElementById(`step-${currentStep}`).classList.add('hidden');
438
+
439
+ // Update progress indicators for current step
440
+ document.getElementById(`step-${currentStep}-circle`).classList.remove('active');
441
+ document.getElementById(`step-${currentStep}-circle`).classList.add('completed');
442
+ document.getElementById(`step-${currentStep}-text`).classList.remove('font-medium');
443
+ document.getElementById(`step-${currentStep}-text`).classList.add('font-medium');
444
+ document.getElementById(`step-${currentStep}-text`).classList.remove('text-slate-400');
445
+
446
+ // Update connector to next step if it exists
447
+ const connector = document.querySelector(`#step-${currentStep}-circle + span + .progress-connector`);
448
+ if (connector) {
449
+ connector.classList.add('active', 'completed');
450
+ }
451
+
452
+ // Show new step
453
+ document.getElementById(`step-${step}`).classList.remove('hidden');
454
+ currentStep = step;
455
+
456
+ // Update progress indicators for new step
457
+ document.getElementById(`step-${currentStep}-circle`).classList.add('active');
458
+ document.getElementById(`step-${currentStep}-text`).classList.remove('text-slate-400');
459
+ document.getElementById(`step-${currentStep}-text`).classList.add('font-medium');
460
+
461
+ // Update progress bar
462
+ const progressPercent = ((currentStep - 1) / (totalSteps - 1)) * 100;
463
+ document.getElementById('progress-bar').style.width = `${progressPercent}%`;
464
+
465
+ // Special handling for map step
466
+ if (currentStep === 4) {
467
+ setTimeout(() => {
468
+ if (map) {
469
+ google.maps.event.trigger(map, 'resize');
470
+ }
471
+ }, 300);
472
+ }
473
+ }
474
+
475
+ function prevStep(step) {
476
+ // Hide current step
477
+ document.getElementById(`step-${currentStep}`).classList.add('hidden');
478
+
479
+ // Update progress indicators for current step
480
+ document.getElementById(`step-${currentStep}-circle`).classList.remove('active');
481
+ document.getElementById(`step-${currentStep}-text`).classList.remove('font-medium');
482
+ document.getElementById(`step-${currentStep}-text`).classList.add('text-slate-400');
483
+
484
+ // Show new step
485
+ document.getElementById(`step-${step}`).classList.remove('hidden');
486
+ currentStep = step;
487
+
488
+ // Update progress indicators for new step
489
+ document.getElementById(`step-${currentStep}-circle`).classList.add('active');
490
+ document.getElementById(`step-${currentStep}-text`).classList.remove('text-slate-400');
491
+
492
+ // Update progress bar
493
+ const progressPercent = ((currentStep - 1) / (totalSteps - 1)) * 100;
494
+ document.getElementById('progress-bar').style.width = `${progressPercent}%`;
495
+ }
496
+
497
+ function validateCurrentStep() {
498
+ // Add validation logic here for each step
499
+ switch(currentStep) {
500
+ case 1:
501
+ const fullName = document.getElementById('full-name').value.trim();
502
+ const email = document.getElementById('email').value.trim();
503
+ if (!fullName || !email) {
504
+ alert('Please fill in all fields');
505
+ return false;
506
+ }
507
+ // Simple email validation
508
+ if (!email.includes('@') || !email.includes('.')) {
509
+ alert('Please enter a valid email address');
510
+ return false;
511
+ }
512
+ return true;
513
+ case 2:
514
+ const businessName = document.getElementById('business-name').value.trim();
515
+ const businessDesc = document.getElementById('business-description').value.trim();
516
+ if (!businessName || !businessDesc) {
517
+ alert('Please fill in all fields');
518
+ return false;
519
+ }
520
+ return true;
521
+ case 3:
522
+ const businessType = document.getElementById('business-type').value;
523
+ if (!businessType) {
524
+ alert('Please select a business type');
525
+ return false;
526
+ }
527
+ return true;
528
+ case 4:
529
+ const address = document.getElementById('business-address').value.trim();
530
+ const city = document.getElementById('city').value.trim();
531
+ const zip = document.getElementById('zip-code').value.trim();
532
+ if (!address || !city || !zip) {
533
+ alert('Please fill in all location fields');
534
+ return false;
535
+ }
536
+ return true;
537
+ case 5:
538
+ const businessSize = document.getElementById('business-size').value;
539
+ if (!businessSize) {
540
+ alert('Please select your business size');
541
+ return false;
542
+ }
543
+ return true;
544
+ case 6:
545
+ const username = document.getElementById('username').value.trim();
546
+ const password = document.getElementById('password').value.trim();
547
+ const confirm = document.getElementById('confirm-password').value.trim();
548
+ const terms = document.getElementById('terms').checked;
549
+
550
+ if (!username || !password || !confirm) {
551
+ alert('Please fill in all fields');
552
+ return false;
553
+ }
554
+
555
+ if (password !== confirm) {
556
+ alert('Passwords do not match');
557
+ return false;
558
+ }
559
+
560
+ if (password.length < 8) {
561
+ alert('Password must be at least 8 characters');
562
+ return false;
563
+ }
564
+
565
+ if (!terms) {
566
+ alert('You must agree to the terms and conditions');
567
+ return false;
568
+ }
569
+
570
+ return true;
571
+ default:
572
+ return true;
573
+ }
574
+ }
575
+
576
+ function selectBusinessType(type) {
577
+ // Update selected business type
578
+ document.getElementById('business-type').value = type;
579
+
580
+ // Update UI
581
+ const bubbles = document.querySelectorAll('.selection-bubble');
582
+ bubbles.forEach(bubble => {
583
+ bubble.classList.remove('selected');
584
+ if (bubble.textContent.includes(type)) {
585
+ bubble.classList.add('selected');
586
+ }
587
+ });
588
+ }
589
+
590
+ function selectBusinessSize(size) {
591
+ // Update selected business size
592
+ document.getElementById('business-size').value = size;
593
+
594
+ // Update UI
595
+ const bubbles = document.querySelectorAll('.selection-bubble');
596
+ bubbles.forEach(bubble => {
597
+ bubble.classList.remove('selected');
598
+ if (bubble.querySelector('h3').textContent.includes(size.replace('5', '51'))) {
599
+ bubble.classList.add('selected');
600
+ }
601
+ });
602
+ }
603
+
604
+ function initMap() {
605
+ // Create a map centered on a default location
606
+ const defaultLocation = { lat: 40.7128, lng: -74.0060 }; // New York
607
+ map = new google.maps.Map(document.getElementById("map"), {
608
+ zoom: 12,
609
+ center: defaultLocation,
610
+ styles: [
611
+ {
612
+ "featureType": "all",
613
+ "elementType": "labels.text.fill",
614
+ "stylers": [
615
+ {
616
+ "saturation": 36
617
+ },
618
+ {
619
+ "color": "#eeeeee"
620
+ },
621
+ {
622
+ "lightness": 40
623
+ }
624
+ ]
625
+ },
626
+ {
627
+ "featureType": "all",
628
+ "elementType": "labels.text.stroke",
629
+ "stylers": [
630
+ {
631
+ "visibility": "on"
632
+ },
633
+ {
634
+ "color": "#000000"
635
+ },
636
+ {
637
+ "lightness": 16
638
+ }
639
+ ]
640
+ },
641
+ {
642
+ "featureType": "all",
643
+ "elementType": "labels.icon",
644
+ "stylers": [
645
+ {
646
+ "visibility": "off"
647
+ }
648
+ ]
649
+ },
650
+ {
651
+ "featureType": "administrative",
652
+ "elementType": "geometry.fill",
653
+ "stylers": [
654
+ {
655
+ "color": "#000000"
656
+ },
657
+ {
658
+ "lightness": 20
659
+ }
660
+ ]
661
+ },
662
+ {
663
+ "featureType": "administrative",
664
+ "elementType": "geometry.stroke",
665
+ "stylers": [
666
+ {
667
+ "color": "#000000"
668
+ },
669
+ {
670
+ "lightness": 17
671
+ },
672
+ {
673
+ "weight": 1.2
674
+ }
675
+ ]
676
+ },
677
+ {
678
+ "featureType": "landscape",
679
+ "elementType": "geometry",
680
+ "stylers": [
681
+ {
682
+ "color": "#000000"
683
+ },
684
+ {
685
+ "lightness": 20
686
+ }
687
+ ]
688
+ },
689
+ {
690
+ "featureType": "poi",
691
+ "elementType": "geometry",
692
+ "stylers": [
693
+ {
694
+ "color": "#000000"
695
+ },
696
+ {
697
+ "lightness": 21
698
+ }
699
+ ]
700
+ },
701
+ {
702
+ "featureType": "road.highway",
703
+ "elementType": "geometry.fill",
704
+ "stylers": [
705
+ {
706
+ "color": "#202020"
707
+ },
708
+ {
709
+ "lightness": 17
710
+ }
711
+ ]
712
+ },
713
+ {
714
+ "featureType": "road.highway",
715
+ "elementType": "geometry.stroke",
716
+ "stylers": [
717
+ {
718
+ "color": "#202020"
719
+ },
720
+ {
721
+ "lightness": 29
722
+ },
723
+ {
724
+ "weight": 0.2
725
+ }
726
+ ]
727
+ },
728
+ {
729
+ "featureType": "road.arterial",
730
+ "elementType": "geometry",
731
+ "stylers": [
732
+ {
733
+ "color": "#151515"
734
+ },
735
+ {
736
+ "lightness": 18
737
+ }
738
+ ]
739
+ },
740
+ {
741
+ "featureType": "road.local",
742
+ "elementType": "geometry",
743
+ "stylers": [
744
+ {
745
+ "color": "#000000"
746
+ },
747
+ {
748
+ "lightness": 16
749
+ }
750
+ ]
751
+ },
752
+ {
753
+ "featureType": "transit",
754
+ "elementType": "geometry",
755
+ "stylers": [
756
+ {
757
+ "color": "#000000"
758
+ },
759
+ {
760
+ "lightness": 19
761
+ }
762
+ ]
763
+ },
764
+ {
765
+ "featureType": "water",
766
+ "elementType": "geometry",
767
+ "stylers": [
768
+ {
769
+ "color": "#000000"
770
+ },
771
+ {
772
+ "lightness": 17
773
+ }
774
+ ]
775
+ }
776
+ ]
777
+ });
778
+
779
+ // Add marker
780
+ marker = new google.maps.Marker({
781
+ position: defaultLocation,
782
+ map: map,
783
+ title: "Your Business"
784
+ });
785
+
786
+ // Add autocomplete for address field
787
+ const autocomplete = new google.maps.places.Autocomplete(
788
+ document.getElementById('business-address'),
789
+ { types: ['geocode'] }
790
+ );
791
+
792
+ // When user selects an address from the dropdown
793
+ autocomplete.addListener('place_changed', function() {
794
+ const place = autocomplete.getPlace();
795
+ if (!place.geometry) {
796
+ return;
797
+ }
798
+
799
+ // Update map position
800
+ map.setCenter(place.geometry.location);
801
+ marker.setPosition(place.geometry.location);
802
+
803
+ // Try to parse the address components
804
+ for (const component of place.address_components) {
805
+ const componentType = component.types[0];
806
+
807
+ switch (componentType) {
808
+ case "locality":
809
+ document.getElementById('city').value = component.long_name;
810
+ break;
811
+ case "postal_code":
812
+ document.getElementById('zip-code').value = component.long_name;
813
+ break;
814
+ }
815
+ }
816
+ });
817
+ }
818
+
819
+ function checkPasswordStrength() {
820
+ const password = document.getElementById('password').value;
821
+ const strengthText = document.getElementById('strength-text').querySelector('span');
822
+
823
+ // Reset meters
824
+ for (let i = 1; i <= 4; i++) {
825
+ document.getElementById(`strength-meter-${i}`).className = `w-full h-1.5 bg-slate-700 rounded-full`;
826
+ }
827
+
828
+ // Calculate strength (simple version)
829
+ let strength = 0;
830
+ if (password.length >= 8) strength++;
831
+ if (password.match(/[a-z]/) && password.match(/[A-Z]/)) strength++;
832
+ if (password.match(/\d/)) strength++;
833
+ if (password.match(/[^a-zA-Z\d]/)) strength++;
834
+
835
+ // Update meters
836
+ for (let i = 1; i <= strength; i++) {
837
+ let color = 'bg-red-500';
838
+ if (strength >= 3) color = 'bg-green-500';
839
+ else if (strength >= 2) color = 'bg-yellow-500';
840
+
841
+ document.getElementById(`strength-meter-${i}`).classList.add(color);
842
+ }
843
+
844
+ // Update text
845
+ if (strength <= 1) strengthText.textContent = 'Weak';
846
+ else if (strength <= 2) strengthText.textContent = 'Fair';
847
+ else if (strength <= 3) strengthText.textContent = 'Good';
848
+ else strengthText.textContent = 'Strong';
849
+ }
850
+
851
+ function submitForm() {
852
+ if (!validateCurrentStep()) return;
853
+
854
+ // In a real application, you would submit the form data here
855
+ alert('Account created successfully! Redirecting to dashboard...');
856
+
857
+ // For demo, just reset form after a short delay
858
+ setTimeout(() => {
859
+ // Reset form
860
+ currentStep = 1;
861
+ document.querySelectorAll('.form-step').forEach(step => {
862
+ if (step.id !== 'step-1') {
863
+ step.classList.add('hidden');
864
+ } else {
865
+ step.classList.remove('hidden');
866
+ }
867
+ });
868
+
869
+ // Reset progress indicators
870
+ document.querySelectorAll('.progress-step').forEach(step => {
871
+ step.classList.remove('active', 'completed');
872
+ if (step.id === 'step-1-circle') {
873
+ step.classList.add('active');
874
+ }
875
+ });
876
+
877
+ document.querySelectorAll('.progress-connector').forEach(connector => {
878
+ connector.classList.remove('active', 'completed');
879
+ });
880
+
881
+ document.getElementById('progress-bar').style.width = '16.66%';
882
+
883
+ document.querySelectorAll('.selection-bubble').forEach(bubble => {
884
+ bubble.classList.remove('selected');
885
+ });
886
+
887
+ // Reset all input fields
888
+ document.querySelectorAll('input:not([type="hidden"]), textarea').forEach(input => {
889
+ input.value = '';
890
+ });
891
+
892
+ document.getElementById('terms').checked = false;
893
+ }, 2000);
894
+ }
895
+ </script>
896
+ <p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=victor/novanexus" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
897
+ </html>
prompts.txt ADDED
@@ -0,0 +1 @@
 
 
1
+ Build a sleek, modern "create account" onboarding flow. With the following pages as separate steps: Name and Email, Business Name and Description, Business type (Marketing Agency , Software Developer, Graphic Designer), Address (Include map), Business Size, Choose a username and set password. For the visual ui follow the following details: A cosmic dark blue to black gradient background with subtle star elements. Clean, minimalist typography with large bold headlines A professional navigation bar. Elegant spacing and layout. A circular badge/emblem design For an agency website. A gradient background similar to the cosmic effect> shown. Modern, professional typography with impactful headlines. Responsive navigation that works on all devices Clear sections showcasing services and value proposition The same overall aesthetic and brand positioning. With color palette of deep blues, blacks, whites, and subtle accents.