Add 2 files
Browse files- index.html +319 -234
- prompts.txt +2 -1
index.html
CHANGED
@@ -3,378 +3,461 @@
|
|
3 |
<head>
|
4 |
<meta charset="UTF-8">
|
5 |
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
6 |
-
<title>AdGenie -
|
7 |
<script src="https://cdn.tailwindcss.com"></script>
|
8 |
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
|
9 |
<style>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
.chat-bubble {
|
11 |
border-radius: 20px;
|
12 |
max-width: 80%;
|
13 |
animation: fadeIn 0.3s ease-in-out;
|
14 |
}
|
|
|
15 |
.user-bubble {
|
16 |
border-bottom-right-radius: 0;
|
17 |
margin-left: auto;
|
18 |
}
|
|
|
19 |
.bot-bubble {
|
20 |
border-bottom-left-radius: 0;
|
21 |
margin-right: auto;
|
22 |
}
|
|
|
23 |
@keyframes fadeIn {
|
24 |
from { opacity: 0; transform: translateY(10px); }
|
25 |
to { opacity: 1; transform: translateY(0); }
|
26 |
}
|
|
|
27 |
.progress-bar {
|
28 |
height: 8px;
|
29 |
transition: width 0.5s ease-in-out;
|
30 |
}
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
@keyframes slideUp {
|
35 |
-
from { transform: translateY(20px); opacity: 0; }
|
36 |
-
to { transform: translateY(0); opacity: 1; }
|
37 |
-
}
|
38 |
-
.pulse {
|
39 |
-
animation: pulse 2s infinite;
|
40 |
-
}
|
41 |
-
@keyframes pulse {
|
42 |
-
0% { transform: scale(1); }
|
43 |
-
50% { transform: scale(1.05); }
|
44 |
-
100% { transform: scale(1); }
|
45 |
}
|
46 |
</style>
|
47 |
</head>
|
48 |
-
<body class="
|
49 |
-
<!--
|
50 |
-
<div class="max-w-md mx-auto bg-white min-h-screen shadow-
|
|
|
|
|
|
|
|
|
|
|
51 |
<!-- Header -->
|
52 |
-
<header class="
|
53 |
<div class="flex items-center">
|
54 |
-
<div class="w-
|
55 |
-
<i class="fas fa-magic text-purple-600 text-
|
56 |
</div>
|
57 |
-
<h1 class="text-xl font-bold">AdGenie</h1>
|
58 |
</div>
|
59 |
-
<div class="flex items-center space-x-
|
60 |
-
<button class="w-
|
61 |
-
<i class="fas fa-bell
|
62 |
</button>
|
63 |
-
<button class="w-
|
64 |
-
<i class="fas fa-question
|
65 |
</button>
|
66 |
</div>
|
67 |
</header>
|
68 |
|
69 |
-
<!-- Main Content
|
70 |
-
<main id="mainContent" class="p-
|
71 |
<!-- Welcome Screen (Step 1) -->
|
72 |
<div id="welcomeScreen" class="text-center pt-8">
|
73 |
-
<div class="w-
|
74 |
-
<i class="fas fa-magic text-purple-600 text-
|
75 |
</div>
|
76 |
-
<h2 class="text-
|
77 |
-
<p class="text-
|
78 |
-
<p class="text-
|
79 |
-
<button onclick="startOnboarding()" class="bg-purple-600 hover:bg-
|
80 |
-
Let's
|
81 |
</button>
|
82 |
</div>
|
83 |
|
84 |
<!-- Onboarding Chat (Step 1) -->
|
85 |
-
<div id="onboardingChat" class="hidden">
|
86 |
-
<div class="
|
87 |
-
<div class="
|
88 |
-
<
|
|
|
|
|
|
|
89 |
</div>
|
90 |
-
<h2 class="text-lg font-semibold text-gray-800">Let's set up your first campaign</h2>
|
91 |
</div>
|
92 |
|
93 |
-
<div id="chatContainer" class="
|
94 |
<!-- Chat messages will be inserted here -->
|
95 |
</div>
|
96 |
|
97 |
-
<div id="inputContainer" class="hidden">
|
98 |
<!-- Dynamic input will be inserted here -->
|
99 |
</div>
|
100 |
</div>
|
101 |
|
102 |
<!-- Campaign Summary (Step 2) -->
|
103 |
-
<div id="campaignSummary" class="hidden slide-up">
|
104 |
-
<div class="
|
105 |
-
<div class="
|
106 |
-
<
|
|
|
|
|
|
|
107 |
</div>
|
108 |
-
<h2 class="text-lg font-semibold text-gray-800">Your campaign is ready!</h2>
|
109 |
</div>
|
110 |
|
111 |
-
<div class="
|
112 |
-
<div class="flex items-
|
113 |
-
<div class="w-
|
114 |
-
<i class="fas fa-bullseye text-purple-600
|
115 |
</div>
|
116 |
-
<
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
<div class="flex items-center mb-4">
|
121 |
-
<div class="w-8 h-8 bg-purple-100 rounded-full flex items-center justify-center mr-3">
|
122 |
-
<i class="fas fa-heading text-purple-600 text-sm"></i>
|
123 |
</div>
|
124 |
-
<h3 class="font-medium text-gray-800">Ad Headlines</h3>
|
125 |
</div>
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
<div class="flex items-center">
|
131 |
-
<input type="text" value="Premium Soy Candles - 20% Off Today" class="border border-gray-300 rounded-lg px-3 py-2 w-full focus:outline-none focus:ring-2 focus:ring-purple-200">
|
132 |
</div>
|
133 |
-
<div class="flex
|
134 |
-
<
|
|
|
|
|
|
|
|
|
|
|
135 |
</div>
|
136 |
</div>
|
137 |
|
138 |
-
<div class="flex items-
|
139 |
-
<div class="w-
|
140 |
-
<i class="fas fa-users text-purple-600
|
|
|
|
|
|
|
|
|
141 |
</div>
|
142 |
-
<h3 class="font-medium text-gray-800">Target Audience</h3>
|
143 |
</div>
|
144 |
-
<p class="text-gray-700 ml-11 mb-4">Women aged 25–45, Czech Republic</p>
|
145 |
|
146 |
-
<div class="flex items-
|
147 |
-
<div class="w-
|
148 |
-
<i class="fas fa-wallet text-purple-600
|
149 |
</div>
|
150 |
-
<
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
</div>
|
159 |
</div>
|
160 |
</div>
|
161 |
|
162 |
-
<
|
163 |
-
<
|
164 |
-
|
|
|
|
|
165 |
</div>
|
166 |
|
167 |
<!-- Campaign Tracker (Step 3) -->
|
168 |
-
<div id="campaignTracker" class="hidden slide-up">
|
169 |
-
<div class="
|
170 |
-
<div class="
|
171 |
-
<
|
|
|
|
|
|
|
172 |
</div>
|
173 |
-
<h2 class="text-lg font-semibold text-gray-800">Your Campaign is Live!</h2>
|
174 |
</div>
|
175 |
|
176 |
-
<div class="
|
177 |
-
<div class="flex items-center justify-between
|
178 |
<div class="flex items-center">
|
179 |
-
<div class="w-
|
180 |
-
<i class="fas fa-calendar-alt text-green-600
|
|
|
|
|
|
|
|
|
181 |
</div>
|
182 |
-
<h3 class="font-medium text-gray-800">Campaign Timeline</h3>
|
183 |
</div>
|
184 |
-
<span class="
|
185 |
</div>
|
186 |
-
<p class="text-gray-700 ml-11 mb-4">Running May 4 – May 18</p>
|
187 |
|
188 |
-
<div class="flex items-
|
189 |
-
<div class="w-
|
190 |
-
<i class="fas fa-sync-alt text-blue-600
|
|
|
|
|
|
|
|
|
191 |
</div>
|
192 |
-
<h3 class="font-medium text-gray-800">Current Status</h3>
|
193 |
</div>
|
194 |
-
<p class="text-gray-700 ml-11 mb-4">Campaign under review by Google (usually takes 1-2 hours)</p>
|
195 |
|
196 |
-
<div class="flex items-
|
197 |
-
<div class="w-
|
198 |
-
<i class="fas fa-edit text-yellow-600
|
|
|
|
|
|
|
|
|
|
|
|
|
199 |
</div>
|
200 |
-
<h3 class="font-medium text-gray-800">Quick Actions</h3>
|
201 |
-
</div>
|
202 |
-
<div class="ml-11">
|
203 |
-
<button class="text-purple-600 hover:text-purple-800 font-medium flex items-center">
|
204 |
-
<i class="fas fa-pencil-alt mr-2"></i> Edit Ad Content
|
205 |
-
</button>
|
206 |
</div>
|
207 |
</div>
|
208 |
|
209 |
-
<div class="
|
210 |
-
<div class="
|
211 |
-
<div class="
|
212 |
-
<
|
213 |
-
|
214 |
-
|
215 |
-
<
|
216 |
-
|
|
|
|
|
217 |
</div>
|
218 |
</div>
|
219 |
</div>
|
220 |
</div>
|
221 |
|
222 |
<!-- Performance Report (Step 4) -->
|
223 |
-
<div id="performanceReport" class="hidden slide-up">
|
224 |
-
<div class="
|
225 |
-
<div class="
|
226 |
-
<
|
|
|
|
|
|
|
227 |
</div>
|
228 |
-
<h2 class="text-lg font-semibold text-gray-800">Your AdGenie Update</h2>
|
229 |
</div>
|
230 |
|
231 |
-
<div class="
|
232 |
-
<div class="grid grid-cols-3 gap-
|
233 |
-
<div class="bg-white p-
|
234 |
<div class="text-2xl font-bold text-purple-600">1,560</div>
|
235 |
-
<div class="text-xs text-gray-500">Views</div>
|
236 |
</div>
|
237 |
-
<div class="bg-white p-
|
238 |
<div class="text-2xl font-bold text-green-600">78</div>
|
239 |
-
<div class="text-xs text-gray-500">Clicks</div>
|
240 |
</div>
|
241 |
-
<div class="bg-white p-
|
242 |
<div class="text-2xl font-bold text-blue-600">5</div>
|
243 |
-
<div class="text-xs text-gray-500">Sales</div>
|
244 |
</div>
|
245 |
</div>
|
246 |
|
247 |
-
<div class="flex items-
|
248 |
-
<div class="w-
|
249 |
-
<i class="fas fa-check-circle text-green-600
|
250 |
</div>
|
251 |
-
<
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
<div class="flex items-center mb-4">
|
256 |
-
<div class="w-8 h-8 bg-yellow-100 rounded-full flex items-center justify-center mr-3">
|
257 |
-
<i class="fas fa-lightbulb text-yellow-600 text-sm"></i>
|
258 |
</div>
|
259 |
-
<h3 class="font-medium text-gray-800">Smart Suggestion</h3>
|
260 |
</div>
|
261 |
-
<p class="text-gray-700 ml-11 mb-4">We suggest testing a stronger call-to-action to increase conversions.</p>
|
262 |
|
263 |
-
<div class="
|
264 |
-
<div class="
|
265 |
-
<
|
266 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
267 |
</div>
|
268 |
</div>
|
269 |
</div>
|
270 |
|
271 |
-
<
|
272 |
-
<
|
273 |
-
|
274 |
-
|
275 |
-
<
|
276 |
-
|
|
|
|
|
277 |
</div>
|
278 |
|
279 |
<!-- Dashboard (Step 5) -->
|
280 |
-
<div id="dashboardView" class="hidden slide-up">
|
281 |
-
<div class="
|
282 |
-
<div class="
|
283 |
-
<
|
|
|
|
|
|
|
284 |
</div>
|
285 |
-
<h2 class="text-lg font-semibold text-gray-800">Your Campaign Health</h2>
|
286 |
</div>
|
287 |
|
288 |
-
<div class="
|
289 |
-
<div class="flex items-
|
290 |
-
<div class="w-
|
291 |
-
<i class="fas fa-bullseye text-purple-600
|
292 |
</div>
|
293 |
-
<
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
|
|
|
299 |
</div>
|
300 |
-
<p class="text-right text-sm text-gray-500 mt-1">5/10</p>
|
301 |
</div>
|
302 |
|
303 |
-
<div class="flex items-
|
304 |
-
<div class="w-
|
305 |
-
<i class="fas fa-lightbulb text-blue-600
|
|
|
|
|
|
|
|
|
|
|
|
|
306 |
</div>
|
307 |
-
<h3 class="font-medium text-gray-800">Tip of the Week</h3>
|
308 |
-
</div>
|
309 |
-
<div class="ml-11 mb-4 bg-white p-3 rounded-lg border border-blue-100">
|
310 |
-
<p class="text-gray-700">Customers mostly buy on Sundays — would you like to boost your Sunday ads?</p>
|
311 |
</div>
|
312 |
|
313 |
-
<div class="flex items-
|
314 |
-
<div class="w-
|
315 |
-
<i class="fas fa-calendar text-green-600
|
316 |
</div>
|
317 |
-
<
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
-
</
|
328 |
</div>
|
329 |
</div>
|
330 |
</div>
|
331 |
</div>
|
332 |
|
333 |
<!-- Next Campaign (Step 6) -->
|
334 |
-
<div id="nextCampaign" class="hidden slide-up">
|
335 |
-
<div class="
|
336 |
-
<div class="
|
337 |
-
<
|
|
|
|
|
|
|
338 |
</div>
|
339 |
-
<h2 class="text-lg font-semibold text-gray-800">Ready to Grow More?</h2>
|
340 |
</div>
|
341 |
|
342 |
-
<div class="
|
343 |
-
<p class="text-gray-700
|
344 |
|
345 |
-
<div class="space-y-4
|
346 |
-
<div class="bg-white border border-gray-200 rounded-
|
347 |
<div class="flex items-center">
|
348 |
-
<div class="w-
|
349 |
-
<i class="fas fa-redo text-purple-600 text-
|
350 |
</div>
|
351 |
-
<h3 class="font-
|
352 |
</div>
|
353 |
-
<p class="text-gray-600 text-sm mt-2 ml-
|
354 |
</div>
|
355 |
|
356 |
-
<div class="bg-white border border-gray-200 rounded-
|
357 |
<div class="flex items-center">
|
358 |
-
<div class="w-
|
359 |
-
<i class="fas fa-star text-blue-600 text-
|
360 |
</div>
|
361 |
-
<h3 class="font-
|
362 |
</div>
|
363 |
-
<p class="text-gray-600 text-sm mt-2 ml-
|
364 |
</div>
|
365 |
|
366 |
-
<div class="bg-white border border-gray-200 rounded-
|
367 |
<div class="flex items-center">
|
368 |
-
<div class="w-
|
369 |
-
<i class="fas fa-eye text-green-600 text-
|
370 |
</div>
|
371 |
-
<h3 class="font-
|
372 |
</div>
|
373 |
-
<p class="text-gray-600 text-sm mt-2 ml-
|
374 |
</div>
|
375 |
</div>
|
376 |
|
377 |
-
<div class="bg-yellow-50 border border-yellow-100 rounded-xl p-4
|
378 |
<div class="flex items-start">
|
379 |
<div class="w-6 h-6 bg-yellow-100 rounded-full flex items-center justify-center mr-3 mt-1">
|
380 |
<i class="fas fa-lightbulb text-yellow-600 text-sm"></i>
|
@@ -387,28 +470,30 @@
|
|
387 |
</div>
|
388 |
</div>
|
389 |
|
390 |
-
<
|
391 |
-
<
|
392 |
-
|
|
|
|
|
393 |
</div>
|
394 |
</main>
|
395 |
|
396 |
<!-- Bottom Navigation -->
|
397 |
-
<nav class="fixed bottom-0 left-0 right-0 bg-white border-t border-gray-200 flex justify-around max-w-md mx-auto">
|
398 |
<button onclick="showDashboard()" class="p-4 text-gray-500 hover:text-purple-600 transition duration-300 flex flex-col items-center">
|
399 |
-
<i class="fas fa-home text-
|
400 |
<span class="text-xs mt-1">Home</span>
|
401 |
</button>
|
402 |
<button onclick="showCampaigns()" class="p-4 text-gray-500 hover:text-purple-600 transition duration-300 flex flex-col items-center">
|
403 |
-
<i class="fas fa-rocket text-
|
404 |
<span class="text-xs mt-1">Campaigns</span>
|
405 |
</button>
|
406 |
<button onclick="showReports()" class="p-4 text-gray-500 hover:text-purple-600 transition duration-300 flex flex-col items-center">
|
407 |
-
<i class="fas fa-chart-bar text-
|
408 |
<span class="text-xs mt-1">Reports</span>
|
409 |
</button>
|
410 |
<button onclick="showSettings()" class="p-4 text-gray-500 hover:text-purple-600 transition duration-300 flex flex-col items-center">
|
411 |
-
<i class="fas fa-cog text-
|
412 |
<span class="text-xs mt-1">Settings</span>
|
413 |
</button>
|
414 |
</nav>
|
@@ -465,8 +550,8 @@
|
|
465 |
inputContainer.classList.remove('hidden');
|
466 |
inputContainer.innerHTML = `
|
467 |
<div class="flex items-center">
|
468 |
-
<input type="text" id="userInput" class="flex-1 border border-gray-
|
469 |
-
<button onclick="submitAnswer()" class="bg-purple-600 hover:bg-purple-700 text-white px-4 py-3 rounded-r-
|
470 |
<i class="fas fa-paper-plane"></i>
|
471 |
</button>
|
472 |
</div>
|
@@ -481,7 +566,7 @@
|
|
481 |
|
482 |
options.forEach(option => {
|
483 |
optionsHTML += `
|
484 |
-
<button onclick="selectOption('${option.value}')" class="w-full bg-white hover:bg-gray-
|
485 |
${option.emoji ? option.emoji + ' ' : ''}${option.text}
|
486 |
</button>
|
487 |
`;
|
@@ -565,8 +650,8 @@
|
|
565 |
|
566 |
// Simulate campaign approval after 3 seconds
|
567 |
setTimeout(() => {
|
568 |
-
document.querySelector('#campaignTracker
|
569 |
-
document.querySelector('#campaignTracker
|
570 |
document.querySelector('#campaignTracker span').textContent = 'Live';
|
571 |
document.querySelector('#campaignTracker p:nth-of-type(2)').textContent = 'Campaign is now active and showing your ads!';
|
572 |
}, 3000);
|
@@ -586,7 +671,7 @@
|
|
586 |
// Show success message
|
587 |
const dashboardContent = document.querySelector('#dashboardView > div');
|
588 |
const successDiv = document.createElement('div');
|
589 |
-
successDiv.className = 'bg-green-50 border border-green-200 rounded-
|
590 |
successDiv.innerHTML = `
|
591 |
<i class="fas fa-check-circle text-green-500 mr-2"></i>
|
592 |
<span class="text-green-800 text-sm">Schedule updated! More budget will go to weekends.</span>
|
@@ -606,13 +691,13 @@
|
|
606 |
// Highlight selected card
|
607 |
if (goal === 'returning') {
|
608 |
document.querySelector('#nextCampaign .bg-white:nth-child(1)').classList.add('border-purple-300', 'bg-purple-50');
|
609 |
-
continueButton.innerHTML = '<i class="fas fa-arrow-right mr-
|
610 |
} else if (goal === 'bestseller') {
|
611 |
document.querySelector('#nextCampaign .bg-white:nth-child(2)').classList.add('border-purple-300', 'bg-purple-50');
|
612 |
-
continueButton.innerHTML = '<i class="fas fa-arrow-right mr-
|
613 |
} else {
|
614 |
document.querySelector('#nextCampaign .bg-white:nth-child(3)').classList.add('border-purple-300', 'bg-purple-50');
|
615 |
-
continueButton.innerHTML = '<i class="fas fa-arrow-right mr-
|
616 |
}
|
617 |
}
|
618 |
|
|
|
3 |
<head>
|
4 |
<meta charset="UTF-8">
|
5 |
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
6 |
+
<title>AdGenie | AI-Powered Google Ads Made Simple</title>
|
7 |
<script src="https://cdn.tailwindcss.com"></script>
|
8 |
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
|
9 |
<style>
|
10 |
+
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');
|
11 |
+
|
12 |
+
:root {
|
13 |
+
--primary: #7c3aed;
|
14 |
+
--primary-light: #8b5cf6;
|
15 |
+
--primary-dark: #6d28d9;
|
16 |
+
--secondary: #10b981;
|
17 |
+
--dark: #1e293b;
|
18 |
+
--light: #f8fafc;
|
19 |
+
}
|
20 |
+
|
21 |
+
body {
|
22 |
+
font-family: 'Inter', sans-serif;
|
23 |
+
background-color: #f1f5f9;
|
24 |
+
color: var(--dark);
|
25 |
+
}
|
26 |
+
|
27 |
+
.gradient-bg {
|
28 |
+
background: linear-gradient(135deg, var(--primary), var(--primary-light));
|
29 |
+
}
|
30 |
+
|
31 |
+
.card-hover {
|
32 |
+
transition: all 0.3s ease;
|
33 |
+
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
|
34 |
+
}
|
35 |
+
|
36 |
+
.card-hover:hover {
|
37 |
+
transform: translateY(-2px);
|
38 |
+
box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1);
|
39 |
+
}
|
40 |
+
|
41 |
+
.floating {
|
42 |
+
animation: float 6s ease-in-out infinite;
|
43 |
+
}
|
44 |
+
|
45 |
+
@keyframes float {
|
46 |
+
0% { transform: translateY(0px); }
|
47 |
+
50% { transform: translateY(-10px); }
|
48 |
+
100% { transform: translateY(0px); }
|
49 |
+
}
|
50 |
+
|
51 |
+
.pulse {
|
52 |
+
animation: pulse 2s infinite;
|
53 |
+
}
|
54 |
+
|
55 |
+
@keyframes pulse {
|
56 |
+
0% { transform: scale(1); }
|
57 |
+
50% { transform: scale(1.05); }
|
58 |
+
100% { transform: scale(1); }
|
59 |
+
}
|
60 |
+
|
61 |
+
.slide-up {
|
62 |
+
animation: slideUp 0.5s ease-out;
|
63 |
+
}
|
64 |
+
|
65 |
+
@keyframes slideUp {
|
66 |
+
from { transform: translateY(20px); opacity: 0; }
|
67 |
+
to { transform: translateY(0); opacity: 1; }
|
68 |
+
}
|
69 |
+
|
70 |
.chat-bubble {
|
71 |
border-radius: 20px;
|
72 |
max-width: 80%;
|
73 |
animation: fadeIn 0.3s ease-in-out;
|
74 |
}
|
75 |
+
|
76 |
.user-bubble {
|
77 |
border-bottom-right-radius: 0;
|
78 |
margin-left: auto;
|
79 |
}
|
80 |
+
|
81 |
.bot-bubble {
|
82 |
border-bottom-left-radius: 0;
|
83 |
margin-right: auto;
|
84 |
}
|
85 |
+
|
86 |
@keyframes fadeIn {
|
87 |
from { opacity: 0; transform: translateY(10px); }
|
88 |
to { opacity: 1; transform: translateY(0); }
|
89 |
}
|
90 |
+
|
91 |
.progress-bar {
|
92 |
height: 8px;
|
93 |
transition: width 0.5s ease-in-out;
|
94 |
}
|
95 |
+
|
96 |
+
.glow {
|
97 |
+
box-shadow: 0 0 15px rgba(124, 58, 237, 0.5);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
98 |
}
|
99 |
</style>
|
100 |
</head>
|
101 |
+
<body class="antialiased">
|
102 |
+
<!-- App Container -->
|
103 |
+
<div class="max-w-md mx-auto bg-white min-h-screen shadow-xl relative overflow-hidden">
|
104 |
+
<!-- Floating Background Elements -->
|
105 |
+
<div class="absolute top-0 left-0 w-full h-64 gradient-bg rounded-b-3xl z-0"></div>
|
106 |
+
<div class="absolute top-20 -left-20 w-40 h-40 rounded-full bg-white bg-opacity-10"></div>
|
107 |
+
<div class="absolute top-40 -right-20 w-60 h-60 rounded-full bg-white bg-opacity-5"></div>
|
108 |
+
|
109 |
<!-- Header -->
|
110 |
+
<header class="relative z-10 p-5 flex items-center justify-between">
|
111 |
<div class="flex items-center">
|
112 |
+
<div class="w-12 h-12 bg-white rounded-xl flex items-center justify-center mr-3 shadow-lg">
|
113 |
+
<i class="fas fa-magic text-purple-600 text-2xl"></i>
|
114 |
</div>
|
115 |
+
<h1 class="text-xl font-bold text-white">AdGenie</h1>
|
116 |
</div>
|
117 |
+
<div class="flex items-center space-x-3">
|
118 |
+
<button class="w-10 h-10 rounded-xl bg-white bg-opacity-20 flex items-center justify-center text-white">
|
119 |
+
<i class="fas fa-bell"></i>
|
120 |
</button>
|
121 |
+
<button class="w-10 h-10 rounded-xl bg-white bg-opacity-20 flex items-center justify-center text-white">
|
122 |
+
<i class="fas fa-question"></i>
|
123 |
</button>
|
124 |
</div>
|
125 |
</header>
|
126 |
|
127 |
+
<!-- Main Content -->
|
128 |
+
<main id="mainContent" class="relative z-10 p-5 pb-24">
|
129 |
<!-- Welcome Screen (Step 1) -->
|
130 |
<div id="welcomeScreen" class="text-center pt-8">
|
131 |
+
<div class="w-32 h-32 mx-auto bg-white rounded-2xl flex items-center justify-center mb-6 shadow-xl floating">
|
132 |
+
<i class="fas fa-magic text-purple-600 text-5xl"></i>
|
133 |
</div>
|
134 |
+
<h2 class="text-3xl font-bold text-white mb-3">Hi! I'm AdGenie</h2>
|
135 |
+
<p class="text-white text-opacity-90 mb-8">Your AI-powered ads assistant 👋</p>
|
136 |
+
<p class="text-white text-opacity-80 mb-8 px-4">I'll help you launch, monitor, and improve Google Ads campaigns without any technical knowledge.</p>
|
137 |
+
<button onclick="startOnboarding()" class="bg-white text-purple-600 hover:bg-gray-100 font-semibold py-4 px-10 rounded-xl shadow-lg transition duration-300 pulse">
|
138 |
+
Let's Get Started
|
139 |
</button>
|
140 |
</div>
|
141 |
|
142 |
<!-- Onboarding Chat (Step 1) -->
|
143 |
+
<div id="onboardingChat" class="hidden bg-white rounded-2xl shadow-lg overflow-hidden">
|
144 |
+
<div class="p-5 bg-gradient-to-r from-purple-600 to-indigo-600 text-white">
|
145 |
+
<div class="flex items-center">
|
146 |
+
<div class="w-10 h-10 bg-white bg-opacity-20 rounded-xl flex items-center justify-center mr-3">
|
147 |
+
<i class="fas fa-magic"></i>
|
148 |
+
</div>
|
149 |
+
<h2 class="text-lg font-semibold">Let's set up your first campaign</h2>
|
150 |
</div>
|
|
|
151 |
</div>
|
152 |
|
153 |
+
<div id="chatContainer" class="p-5 space-y-3 max-h-96 overflow-y-auto pb-4">
|
154 |
<!-- Chat messages will be inserted here -->
|
155 |
</div>
|
156 |
|
157 |
+
<div id="inputContainer" class="hidden p-5 border-t border-gray-100">
|
158 |
<!-- Dynamic input will be inserted here -->
|
159 |
</div>
|
160 |
</div>
|
161 |
|
162 |
<!-- Campaign Summary (Step 2) -->
|
163 |
+
<div id="campaignSummary" class="hidden slide-up bg-white rounded-2xl shadow-lg overflow-hidden">
|
164 |
+
<div class="p-5 bg-gradient-to-r from-purple-600 to-indigo-600 text-white">
|
165 |
+
<div class="flex items-center">
|
166 |
+
<div class="w-10 h-10 bg-white bg-opacity-20 rounded-xl flex items-center justify-center mr-3">
|
167 |
+
<i class="fas fa-rocket"></i>
|
168 |
+
</div>
|
169 |
+
<h2 class="text-lg font-semibold">Your campaign is ready!</h2>
|
170 |
</div>
|
|
|
171 |
</div>
|
172 |
|
173 |
+
<div class="p-5 space-y-6">
|
174 |
+
<div class="flex items-start">
|
175 |
+
<div class="w-10 h-10 bg-purple-100 rounded-xl flex items-center justify-center mr-3 mt-1">
|
176 |
+
<i class="fas fa-bullseye text-purple-600"></i>
|
177 |
</div>
|
178 |
+
<div>
|
179 |
+
<h3 class="font-semibold text-gray-800 mb-1">Campaign Goal</h3>
|
180 |
+
<p class="text-gray-600">Get more website visits and sales</p>
|
|
|
|
|
|
|
|
|
181 |
</div>
|
|
|
182 |
</div>
|
183 |
+
|
184 |
+
<div class="flex items-start">
|
185 |
+
<div class="w-10 h-10 bg-purple-100 rounded-xl flex items-center justify-center mr-3 mt-1">
|
186 |
+
<i class="fas fa-heading text-purple-600"></i>
|
|
|
|
|
187 |
</div>
|
188 |
+
<div class="flex-1">
|
189 |
+
<h3 class="font-semibold text-gray-800 mb-2">Ad Headlines</h3>
|
190 |
+
<div class="space-y-3">
|
191 |
+
<input type="text" value="Handmade Candles - Free Shipping" class="w-full border border-gray-200 rounded-xl px-4 py-3 focus:outline-none focus:ring-2 focus:ring-purple-200 focus:border-transparent">
|
192 |
+
<input type="text" value="Premium Soy Candles - 20% Off Today" class="w-full border border-gray-200 rounded-xl px-4 py-3 focus:outline-none focus:ring-2 focus:ring-purple-200 focus:border-transparent">
|
193 |
+
<input type="text" value="Eco-Friendly Candles - Buy 2 Get 1 Free" class="w-full border border-gray-200 rounded-xl px-4 py-3 focus:outline-none focus:ring-2 focus:ring-purple-200 focus:border-transparent">
|
194 |
+
</div>
|
195 |
</div>
|
196 |
</div>
|
197 |
|
198 |
+
<div class="flex items-start">
|
199 |
+
<div class="w-10 h-10 bg-purple-100 rounded-xl flex items-center justify-center mr-3 mt-1">
|
200 |
+
<i class="fas fa-users text-purple-600"></i>
|
201 |
+
</div>
|
202 |
+
<div>
|
203 |
+
<h3 class="font-semibold text-gray-800 mb-1">Target Audience</h3>
|
204 |
+
<p class="text-gray-600">Women aged 25–45, Czech Republic</p>
|
205 |
</div>
|
|
|
206 |
</div>
|
|
|
207 |
|
208 |
+
<div class="flex items-start">
|
209 |
+
<div class="w-10 h-10 bg-purple-100 rounded-xl flex items-center justify-center mr-3 mt-1">
|
210 |
+
<i class="fas fa-wallet text-purple-600"></i>
|
211 |
</div>
|
212 |
+
<div class="flex-1">
|
213 |
+
<h3 class="font-semibold text-gray-800 mb-2">Daily Budget</h3>
|
214 |
+
<input type="range" min="100" max="5000" step="100" value="1000" class="w-full h-2 bg-gray-200 rounded-lg appearance-none cursor-pointer accent-purple-600">
|
215 |
+
<div class="flex justify-between mt-1">
|
216 |
+
<span class="text-sm text-gray-500">100 CZK</span>
|
217 |
+
<span class="text-sm font-semibold text-purple-600">1000 CZK</span>
|
218 |
+
<span class="text-sm text-gray-500">5000 CZK</span>
|
219 |
+
</div>
|
220 |
</div>
|
221 |
</div>
|
222 |
</div>
|
223 |
|
224 |
+
<div class="p-5 border-t border-gray-100">
|
225 |
+
<button onclick="launchCampaign()" class="w-full gradient-bg hover:opacity-90 text-white font-semibold py-4 px-4 rounded-xl shadow-md transition duration-300 flex items-center justify-center">
|
226 |
+
<i class="fas fa-paper-plane mr-3"></i> Launch Campaign
|
227 |
+
</button>
|
228 |
+
</div>
|
229 |
</div>
|
230 |
|
231 |
<!-- Campaign Tracker (Step 3) -->
|
232 |
+
<div id="campaignTracker" class="hidden slide-up bg-white rounded-2xl shadow-lg overflow-hidden">
|
233 |
+
<div class="p-5 bg-gradient-to-r from-purple-600 to-indigo-600 text-white">
|
234 |
+
<div class="flex items-center">
|
235 |
+
<div class="w-10 h-10 bg-white bg-opacity-20 rounded-xl flex items-center justify-center mr-3">
|
236 |
+
<i class="fas fa-chart-line"></i>
|
237 |
+
</div>
|
238 |
+
<h2 class="text-lg font-semibold">Your Campaign is Live!</h2>
|
239 |
</div>
|
|
|
240 |
</div>
|
241 |
|
242 |
+
<div class="p-5 space-y-6">
|
243 |
+
<div class="flex items-center justify-between">
|
244 |
<div class="flex items-center">
|
245 |
+
<div class="w-10 h-10 bg-green-100 rounded-xl flex items-center justify-center mr-3">
|
246 |
+
<i class="fas fa-calendar-alt text-green-600"></i>
|
247 |
+
</div>
|
248 |
+
<div>
|
249 |
+
<h3 class="font-semibold text-gray-800">Campaign Timeline</h3>
|
250 |
+
<p class="text-gray-600">Running May 4 – May 18</p>
|
251 |
</div>
|
|
|
252 |
</div>
|
253 |
+
<span class="bg-green-100 text-green-800 px-3 py-1 rounded-full text-sm font-medium">Active</span>
|
254 |
</div>
|
|
|
255 |
|
256 |
+
<div class="flex items-start">
|
257 |
+
<div class="w-10 h-10 bg-blue-100 rounded-xl flex items-center justify-center mr-3 mt-1">
|
258 |
+
<i class="fas fa-sync-alt text-blue-600"></i>
|
259 |
+
</div>
|
260 |
+
<div>
|
261 |
+
<h3 class="font-semibold text-gray-800 mb-1">Current Status</h3>
|
262 |
+
<p class="text-gray-600">Campaign under review by Google (usually takes 1-2 hours)</p>
|
263 |
</div>
|
|
|
264 |
</div>
|
|
|
265 |
|
266 |
+
<div class="flex items-start">
|
267 |
+
<div class="w-10 h-10 bg-yellow-100 rounded-xl flex items-center justify-center mr-3 mt-1">
|
268 |
+
<i class="fas fa-edit text-yellow-600"></i>
|
269 |
+
</div>
|
270 |
+
<div>
|
271 |
+
<h3 class="font-semibold text-gray-800 mb-2">Quick Actions</h3>
|
272 |
+
<button class="text-purple-600 hover:text-purple-800 font-medium flex items-center">
|
273 |
+
<i class="fas fa-pencil-alt mr-2"></i> Edit Ad Content
|
274 |
+
</button>
|
275 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
276 |
</div>
|
277 |
</div>
|
278 |
|
279 |
+
<div class="p-5 border-t border-gray-100">
|
280 |
+
<div class="bg-blue-50 border border-blue-100 rounded-xl p-4">
|
281 |
+
<div class="flex items-start">
|
282 |
+
<div class="w-6 h-6 bg-blue-100 rounded-full flex items-center justify-center mr-3 mt-1">
|
283 |
+
<i class="fas fa-info-circle text-blue-600 text-sm"></i>
|
284 |
+
</div>
|
285 |
+
<div>
|
286 |
+
<h3 class="font-medium text-blue-800 mb-1">What's happening now?</h3>
|
287 |
+
<p class="text-blue-700 text-sm">We're setting up your campaign with Google. You'll get a notification when it's live. In the meantime, you can edit your ad text if needed.</p>
|
288 |
+
</div>
|
289 |
</div>
|
290 |
</div>
|
291 |
</div>
|
292 |
</div>
|
293 |
|
294 |
<!-- Performance Report (Step 4) -->
|
295 |
+
<div id="performanceReport" class="hidden slide-up bg-white rounded-2xl shadow-lg overflow-hidden">
|
296 |
+
<div class="p-5 bg-gradient-to-r from-purple-600 to-indigo-600 text-white">
|
297 |
+
<div class="flex items-center">
|
298 |
+
<div class="w-10 h-10 bg-white bg-opacity-20 rounded-xl flex items-center justify-center mr-3">
|
299 |
+
<i class="fas fa-chart-pie"></i>
|
300 |
+
</div>
|
301 |
+
<h2 class="text-lg font-semibold">Your AdGenie Update</h2>
|
302 |
</div>
|
|
|
303 |
</div>
|
304 |
|
305 |
+
<div class="p-5 space-y-6">
|
306 |
+
<div class="grid grid-cols-3 gap-3">
|
307 |
+
<div class="bg-white p-4 rounded-xl shadow-sm border border-gray-100">
|
308 |
<div class="text-2xl font-bold text-purple-600">1,560</div>
|
309 |
+
<div class="text-xs text-gray-500 uppercase tracking-wider">Views</div>
|
310 |
</div>
|
311 |
+
<div class="bg-white p-4 rounded-xl shadow-sm border border-gray-100">
|
312 |
<div class="text-2xl font-bold text-green-600">78</div>
|
313 |
+
<div class="text-xs text-gray-500 uppercase tracking-wider">Clicks</div>
|
314 |
</div>
|
315 |
+
<div class="bg-white p-4 rounded-xl shadow-sm border border-gray-100">
|
316 |
<div class="text-2xl font-bold text-blue-600">5</div>
|
317 |
+
<div class="text-xs text-gray-500 uppercase tracking-wider">Sales</div>
|
318 |
</div>
|
319 |
</div>
|
320 |
|
321 |
+
<div class="flex items-start">
|
322 |
+
<div class="w-10 h-10 bg-green-100 rounded-xl flex items-center justify-center mr-3 mt-1">
|
323 |
+
<i class="fas fa-check-circle text-green-600"></i>
|
324 |
</div>
|
325 |
+
<div>
|
326 |
+
<h3 class="font-semibold text-gray-800 mb-1">Performance Summary</h3>
|
327 |
+
<p class="text-gray-600">Your campaign is performing well compared to similar businesses!</p>
|
|
|
|
|
|
|
|
|
328 |
</div>
|
|
|
329 |
</div>
|
|
|
330 |
|
331 |
+
<div class="flex items-start">
|
332 |
+
<div class="w-10 h-10 bg-yellow-100 rounded-xl flex items-center justify-center mr-3 mt-1">
|
333 |
+
<i class="fas fa-lightbulb text-yellow-600"></i>
|
334 |
+
</div>
|
335 |
+
<div>
|
336 |
+
<h3 class="font-semibold text-gray-800 mb-1">Smart Suggestion</h3>
|
337 |
+
<p class="text-gray-600 mb-3">We suggest testing a stronger call-to-action to increase conversions.</p>
|
338 |
+
<div class="bg-white border border-gray-200 rounded-xl p-4">
|
339 |
+
<p class="font-medium text-gray-800 mb-1">New Ad Variant:</p>
|
340 |
+
<p class="text-purple-600 font-medium">🌿 Buy 2 candles, get 1 free. Limited time!</p>
|
341 |
+
</div>
|
342 |
</div>
|
343 |
</div>
|
344 |
</div>
|
345 |
|
346 |
+
<div class="p-5 border-t border-gray-100 space-y-3">
|
347 |
+
<button onclick="acceptSuggestion()" class="w-full gradient-bg hover:opacity-90 text-white font-semibold py-4 px-4 rounded-xl shadow-md transition duration-300 flex items-center justify-center">
|
348 |
+
<i class="fas fa-check-circle mr-3"></i> Improve Now
|
349 |
+
</button>
|
350 |
+
<button class="w-full bg-white hover:bg-gray-50 text-gray-800 font-medium py-3 px-4 rounded-xl border border-gray-200 shadow-sm transition duration-300 flex items-center justify-center">
|
351 |
+
<i class="fas fa-clock mr-3"></i> Maybe Later
|
352 |
+
</button>
|
353 |
+
</div>
|
354 |
</div>
|
355 |
|
356 |
<!-- Dashboard (Step 5) -->
|
357 |
+
<div id="dashboardView" class="hidden slide-up bg-white rounded-2xl shadow-lg overflow-hidden">
|
358 |
+
<div class="p-5 bg-gradient-to-r from-purple-600 to-indigo-600 text-white">
|
359 |
+
<div class="flex items-center">
|
360 |
+
<div class="w-10 h-10 bg-white bg-opacity-20 rounded-xl flex items-center justify-center mr-3">
|
361 |
+
<i class="fas fa-tachometer-alt"></i>
|
362 |
+
</div>
|
363 |
+
<h2 class="text-lg font-semibold">Your Campaign Health</h2>
|
364 |
</div>
|
|
|
365 |
</div>
|
366 |
|
367 |
+
<div class="p-5 space-y-6">
|
368 |
+
<div class="flex items-start">
|
369 |
+
<div class="w-10 h-10 bg-purple-100 rounded-xl flex items-center justify-center mr-3 mt-1">
|
370 |
+
<i class="fas fa-bullseye text-purple-600"></i>
|
371 |
</div>
|
372 |
+
<div class="flex-1">
|
373 |
+
<h3 class="font-semibold text-gray-800 mb-2">Goal Progress</h3>
|
374 |
+
<p class="text-gray-600 mb-1">Reach 10 sales</p>
|
375 |
+
<div class="w-full bg-gray-200 rounded-full h-2.5">
|
376 |
+
<div class="bg-purple-600 h-2.5 rounded-full progress-bar" style="width: 50%"></div>
|
377 |
+
</div>
|
378 |
+
<p class="text-right text-sm text-gray-500 mt-1">5/10</p>
|
379 |
</div>
|
|
|
380 |
</div>
|
381 |
|
382 |
+
<div class="flex items-start">
|
383 |
+
<div class="w-10 h-10 bg-blue-100 rounded-xl flex items-center justify-center mr-3 mt-1">
|
384 |
+
<i class="fas fa-lightbulb text-blue-600"></i>
|
385 |
+
</div>
|
386 |
+
<div>
|
387 |
+
<h3 class="font-semibold text-gray-800 mb-1">Tip of the Week</h3>
|
388 |
+
<div class="bg-white p-4 rounded-xl border border-blue-100">
|
389 |
+
<p class="text-gray-700">Customers mostly buy on Sundays — would you like to boost your Sunday ads?</p>
|
390 |
+
</div>
|
391 |
</div>
|
|
|
|
|
|
|
|
|
392 |
</div>
|
393 |
|
394 |
+
<div class="flex items-start">
|
395 |
+
<div class="w-10 h-10 bg-green-100 rounded-xl flex items-center justify-center mr-3 mt-1">
|
396 |
+
<i class="fas fa-calendar text-green-600"></i>
|
397 |
</div>
|
398 |
+
<div class="flex-1">
|
399 |
+
<h3 class="font-semibold text-gray-800 mb-2">Schedule Adjustment</h3>
|
400 |
+
<p class="text-gray-600 mb-3">We can shift more of your budget to weekends when customers are most active.</p>
|
401 |
+
<div class="flex space-x-3">
|
402 |
+
<button onclick="acceptScheduleChange()" class="flex-1 bg-green-600 hover:bg-green-700 text-white font-semibold py-3 px-4 rounded-xl shadow-sm transition duration-300">
|
403 |
+
Accept
|
404 |
+
</button>
|
405 |
+
<button class="flex-1 bg-white hover:bg-gray-50 text-gray-800 font-medium py-3 px-4 rounded-xl border border-gray-200 shadow-sm transition duration-300">
|
406 |
+
Review
|
407 |
+
</button>
|
408 |
+
</div>
|
409 |
</div>
|
410 |
</div>
|
411 |
</div>
|
412 |
</div>
|
413 |
|
414 |
<!-- Next Campaign (Step 6) -->
|
415 |
+
<div id="nextCampaign" class="hidden slide-up bg-white rounded-2xl shadow-lg overflow-hidden">
|
416 |
+
<div class="p-5 bg-gradient-to-r from-purple-600 to-indigo-600 text-white">
|
417 |
+
<div class="flex items-center">
|
418 |
+
<div class="w-10 h-10 bg-white bg-opacity-20 rounded-xl flex items-center justify-center mr-3">
|
419 |
+
<i class="fas fa-arrow-up"></i>
|
420 |
+
</div>
|
421 |
+
<h2 class="text-lg font-semibold">Ready to Grow More?</h2>
|
422 |
</div>
|
|
|
423 |
</div>
|
424 |
|
425 |
+
<div class="p-5 space-y-6">
|
426 |
+
<p class="text-gray-700">Your first campaign is doing great! Let's set your next 2-week goal.</p>
|
427 |
|
428 |
+
<div class="space-y-4">
|
429 |
+
<div class="bg-white border border-gray-200 rounded-xl p-4 hover:border-purple-300 transition duration-300 cursor-pointer card-hover" onclick="selectGoal('returning')">
|
430 |
<div class="flex items-center">
|
431 |
+
<div class="w-8 h-8 bg-purple-100 rounded-lg flex items-center justify-center mr-3">
|
432 |
+
<i class="fas fa-redo text-purple-600 text-sm"></i>
|
433 |
</div>
|
434 |
+
<h3 class="font-semibold text-gray-800">Drive more returning customers</h3>
|
435 |
</div>
|
436 |
+
<p class="text-gray-600 text-sm mt-2 ml-11">Target people who visited before but didn't buy</p>
|
437 |
</div>
|
438 |
|
439 |
+
<div class="bg-white border border-gray-200 rounded-xl p-4 hover:border-purple-300 transition duration-300 cursor-pointer card-hover" onclick="selectGoal('bestseller')">
|
440 |
<div class="flex items-center">
|
441 |
+
<div class="w-8 h-8 bg-blue-100 rounded-lg flex items-center justify-center mr-3">
|
442 |
+
<i class="fas fa-star text-blue-600 text-sm"></i>
|
443 |
</div>
|
444 |
+
<h3 class="font-semibold text-gray-800">Promote your best-seller</h3>
|
445 |
</div>
|
446 |
+
<p class="text-gray-600 text-sm mt-2 ml-11">Boost sales of your most popular product</p>
|
447 |
</div>
|
448 |
|
449 |
+
<div class="bg-white border border-gray-200 rounded-xl p-4 hover:border-purple-300 transition duration-300 cursor-pointer card-hover" onclick="selectGoal('awareness')">
|
450 |
<div class="flex items-center">
|
451 |
+
<div class="w-8 h-8 bg-green-100 rounded-lg flex items-center justify-center mr-3">
|
452 |
+
<i class="fas fa-eye text-green-600 text-sm"></i>
|
453 |
</div>
|
454 |
+
<h3 class="font-semibold text-gray-800">Increase brand awareness</h3>
|
455 |
</div>
|
456 |
+
<p class="text-gray-600 text-sm mt-2 ml-11">Get more people to recognize your brand</p>
|
457 |
</div>
|
458 |
</div>
|
459 |
|
460 |
+
<div class="bg-yellow-50 border border-yellow-100 rounded-xl p-4">
|
461 |
<div class="flex items-start">
|
462 |
<div class="w-6 h-6 bg-yellow-100 rounded-full flex items-center justify-center mr-3 mt-1">
|
463 |
<i class="fas fa-lightbulb text-yellow-600 text-sm"></i>
|
|
|
470 |
</div>
|
471 |
</div>
|
472 |
|
473 |
+
<div class="p-5 border-t border-gray-100">
|
474 |
+
<button id="continueButton" class="w-full gradient-bg hover:opacity-90 text-white font-semibold py-4 px-4 rounded-xl shadow-md transition duration-300 flex items-center justify-center">
|
475 |
+
<i class="fas fa-arrow-right mr-3"></i> Continue with Returning Customers
|
476 |
+
</button>
|
477 |
+
</div>
|
478 |
</div>
|
479 |
</main>
|
480 |
|
481 |
<!-- Bottom Navigation -->
|
482 |
+
<nav class="fixed bottom-0 left-0 right-0 bg-white border-t border-gray-200 flex justify-around max-w-md mx-auto z-20 shadow-lg">
|
483 |
<button onclick="showDashboard()" class="p-4 text-gray-500 hover:text-purple-600 transition duration-300 flex flex-col items-center">
|
484 |
+
<i class="fas fa-home text-xl"></i>
|
485 |
<span class="text-xs mt-1">Home</span>
|
486 |
</button>
|
487 |
<button onclick="showCampaigns()" class="p-4 text-gray-500 hover:text-purple-600 transition duration-300 flex flex-col items-center">
|
488 |
+
<i class="fas fa-rocket text-xl"></i>
|
489 |
<span class="text-xs mt-1">Campaigns</span>
|
490 |
</button>
|
491 |
<button onclick="showReports()" class="p-4 text-gray-500 hover:text-purple-600 transition duration-300 flex flex-col items-center">
|
492 |
+
<i class="fas fa-chart-bar text-xl"></i>
|
493 |
<span class="text-xs mt-1">Reports</span>
|
494 |
</button>
|
495 |
<button onclick="showSettings()" class="p-4 text-gray-500 hover:text-purple-600 transition duration-300 flex flex-col items-center">
|
496 |
+
<i class="fas fa-cog text-xl"></i>
|
497 |
<span class="text-xs mt-1">Settings</span>
|
498 |
</button>
|
499 |
</nav>
|
|
|
550 |
inputContainer.classList.remove('hidden');
|
551 |
inputContainer.innerHTML = `
|
552 |
<div class="flex items-center">
|
553 |
+
<input type="text" id="userInput" class="flex-1 border border-gray-200 rounded-l-xl px-4 py-3 focus:outline-none focus:ring-2 focus:ring-purple-200 focus:border-transparent" placeholder="Type your answer...">
|
554 |
+
<button onclick="submitAnswer()" class="bg-purple-600 hover:bg-purple-700 text-white px-4 py-3 rounded-r-xl">
|
555 |
<i class="fas fa-paper-plane"></i>
|
556 |
</button>
|
557 |
</div>
|
|
|
566 |
|
567 |
options.forEach(option => {
|
568 |
optionsHTML += `
|
569 |
+
<button onclick="selectOption('${option.value}')" class="w-full bg-white hover:bg-gray-50 border border-gray-200 text-gray-800 font-medium py-3 px-4 rounded-xl text-left transition duration-300">
|
570 |
${option.emoji ? option.emoji + ' ' : ''}${option.text}
|
571 |
</button>
|
572 |
`;
|
|
|
650 |
|
651 |
// Simulate campaign approval after 3 seconds
|
652 |
setTimeout(() => {
|
653 |
+
document.querySelector('#campaignTracker span').classList.remove('bg-green-100', 'text-green-800');
|
654 |
+
document.querySelector('#campaignTracker span').classList.add('bg-blue-100', 'text-blue-800');
|
655 |
document.querySelector('#campaignTracker span').textContent = 'Live';
|
656 |
document.querySelector('#campaignTracker p:nth-of-type(2)').textContent = 'Campaign is now active and showing your ads!';
|
657 |
}, 3000);
|
|
|
671 |
// Show success message
|
672 |
const dashboardContent = document.querySelector('#dashboardView > div');
|
673 |
const successDiv = document.createElement('div');
|
674 |
+
successDiv.className = 'bg-green-50 border border-green-200 rounded-xl p-3 mb-4 flex items-center';
|
675 |
successDiv.innerHTML = `
|
676 |
<i class="fas fa-check-circle text-green-500 mr-2"></i>
|
677 |
<span class="text-green-800 text-sm">Schedule updated! More budget will go to weekends.</span>
|
|
|
691 |
// Highlight selected card
|
692 |
if (goal === 'returning') {
|
693 |
document.querySelector('#nextCampaign .bg-white:nth-child(1)').classList.add('border-purple-300', 'bg-purple-50');
|
694 |
+
continueButton.innerHTML = '<i class="fas fa-arrow-right mr-3"></i> Continue with Returning Customers';
|
695 |
} else if (goal === 'bestseller') {
|
696 |
document.querySelector('#nextCampaign .bg-white:nth-child(2)').classList.add('border-purple-300', 'bg-purple-50');
|
697 |
+
continueButton.innerHTML = '<i class="fas fa-arrow-right mr-3"></i> Continue with Best-Seller';
|
698 |
} else {
|
699 |
document.querySelector('#nextCampaign .bg-white:nth-child(3)').classList.add('border-purple-300', 'bg-purple-50');
|
700 |
+
continueButton.innerHTML = '<i class="fas fa-arrow-right mr-3"></i> Continue with Awareness';
|
701 |
}
|
702 |
}
|
703 |
|
prompts.txt
CHANGED
@@ -1 +1,2 @@
|
|
1 |
-
AdGenie: Make it possible for someone like Maria to launch, monitor, and improve Google Ads campaigns without needing to understand CPC, targeting settings, or Analytics dashboards. 🧭 Step-by-Step Workflow (With UI/UX Notes) 🟢 Step 1: Onboarding & Business Context (Day 0) 🔹 UI: Welcome Screen + Friendly Chatbot Avatar “Hi! I’m AdGenie, your personal ad assistant 👋” CTA: “Let’s get started” 🔹 Chatbot Questions (UI: large bubbles, single-tap answers where possible) “What is your business called?” → Text input “What do you sell?” → Short description + emoji prompt “What’s your main goal?” → Choose: [💵 More sales] [👀 Brand awareness] [📥 Newsletter signups] “Who are your typical customers?” → Age, region, interests (multiselect) ✅ Design Principle: Use progressive disclosure. Only one question at a time to reduce overwhelm. Use visuals, emojis, and light tone. 🟠 Step 2: AI Generates Initial Campaign (Day 0) 🔹 Summary Page (UI: Card Layout) 🎯 Campaign goal: “Get more website visits and sales” 🎨 3 ad headline suggestions (editable) 📍 Target: Women aged 25–45, Czech Republic 💰 Budget: 1000 CZK/month (editable slider) CTA: “Looks good! Launch campaign ✅” ✅ Design Tip: Avoid showing AdWords settings. Let AI pre-fill, but allow minor edits (budget, copy). 🟡 Step 3: Confirmation + Campaign Tracker (Day 0) 🔹 UI: Tracker Screen 📅 Campaign Timeline: “Running May 4–May 18” ⏳ Real-time status: “Campaign under review by Google” 🔄 Button: “Edit Ad Content” (until it’s active) ✅ UX Tip: Maintain trust by showing what's happening, even if user can’t influence it. 🟣 Step 4: Periodic Review Prompt (Day 14) 🔔 User gets email + in-app notification Subject: “Your AdGenie update is ready! 🧙♂️ See how your ads performed.” 🔹 UI: Report Card View (Mobile-first) 👁️ 1,560 views | ✅ 78 clicks | 🛒 5 sales (linked via GA4/ecommerce) 🚦 "Your campaign is performing well compared to similar businesses!" 🧠 "We suggest testing a stronger call-to-action.” 🔘 CTA: “Improve Now” → Leads to AI-generated new ad variant with preview: “🌿 Buy 2 candles, get 1 free. Limited time!” ✅ UX Flow: 1️⃣ Understand performance 2️⃣ See reason 3️⃣ Take action in 1–2 taps. 🔵 Step 5: Smart Goal Tracker (Ongoing) 🔹 Dashboard Tab: “Your Campaign Health” 📈 Goal Progress Bar: “Reach 10 sales” → [█████-----] 5/10 💡 Tip of the week: “Customers mostly buy on Sundays—boost Sunday ads?” 🔄 Schedule tweak: AI offers to shift budget more to weekends → 1-tap accept ✅ Design Insight: Visual goal progress tied to real business language (not ad jargon). 🔴 Step 6: Next Campaign Setup (Day 28) 🔔 Notification: “Want to grow more? Let’s set your next 2-week goal.” New goal prompt: “Drive more returning customers?” or “Promote your best-seller?” AdGenie uses past data to pre-suggest new strategy, audience, copy. ✅ UX Strategy: Continuous small wins → repeat engagement cycle. 🧾 Extras & Retention Features 💌 Email Digest: Bi-weekly summary + 1 suggested action 🎓 “Learn As You Go” Mode: Optional short tips under each metric (“What’s a bounce rate?”) 🔁 Autopilot Option: Let AdGenie auto-run minor tweaks (user can review via log) 💬 AI Q&A: Ask things like “Why did conversions drop this week?” – get simple answers 🧰 Tech + UI Design Stack (suggested) Frontend: React + Tailwind (mobile-first, card-based UI) Backend: Node.js or Python Flask for API glue AI layer: GPT-4 API + Ads API + GA4 Data storage: Firebase or Supabase for small teams Tracking Integration: Google Ads API + GA4 conversions import 🎯 Final UX Principles Recap Principle Implementation Speak human, not marketer “Let’s grow your sales” instead of “Optimize ROAS” Conversational onboarding Chat-first setup with emojis and image-based questions Action-oriented reviews Always include 1 smart CTA after data Visual simplicity Cards, progress bars, no tables or dropdown hell Trust-building transparency Explain delays, AI choices, and results in human terms
|
|
|
|
1 |
+
AdGenie: Make it possible for someone like Maria to launch, monitor, and improve Google Ads campaigns without needing to understand CPC, targeting settings, or Analytics dashboards. 🧭 Step-by-Step Workflow (With UI/UX Notes) 🟢 Step 1: Onboarding & Business Context (Day 0) 🔹 UI: Welcome Screen + Friendly Chatbot Avatar “Hi! I’m AdGenie, your personal ad assistant 👋” CTA: “Let’s get started” 🔹 Chatbot Questions (UI: large bubbles, single-tap answers where possible) “What is your business called?” → Text input “What do you sell?” → Short description + emoji prompt “What’s your main goal?” → Choose: [💵 More sales] [👀 Brand awareness] [📥 Newsletter signups] “Who are your typical customers?” → Age, region, interests (multiselect) ✅ Design Principle: Use progressive disclosure. Only one question at a time to reduce overwhelm. Use visuals, emojis, and light tone. 🟠 Step 2: AI Generates Initial Campaign (Day 0) 🔹 Summary Page (UI: Card Layout) 🎯 Campaign goal: “Get more website visits and sales” 🎨 3 ad headline suggestions (editable) 📍 Target: Women aged 25–45, Czech Republic 💰 Budget: 1000 CZK/month (editable slider) CTA: “Looks good! Launch campaign ✅” ✅ Design Tip: Avoid showing AdWords settings. Let AI pre-fill, but allow minor edits (budget, copy). 🟡 Step 3: Confirmation + Campaign Tracker (Day 0) 🔹 UI: Tracker Screen 📅 Campaign Timeline: “Running May 4–May 18” ⏳ Real-time status: “Campaign under review by Google” 🔄 Button: “Edit Ad Content” (until it’s active) ✅ UX Tip: Maintain trust by showing what's happening, even if user can’t influence it. 🟣 Step 4: Periodic Review Prompt (Day 14) 🔔 User gets email + in-app notification Subject: “Your AdGenie update is ready! 🧙♂️ See how your ads performed.” 🔹 UI: Report Card View (Mobile-first) 👁️ 1,560 views | ✅ 78 clicks | 🛒 5 sales (linked via GA4/ecommerce) 🚦 "Your campaign is performing well compared to similar businesses!" 🧠 "We suggest testing a stronger call-to-action.” 🔘 CTA: “Improve Now” → Leads to AI-generated new ad variant with preview: “🌿 Buy 2 candles, get 1 free. Limited time!” ✅ UX Flow: 1️⃣ Understand performance 2️⃣ See reason 3️⃣ Take action in 1–2 taps. 🔵 Step 5: Smart Goal Tracker (Ongoing) 🔹 Dashboard Tab: “Your Campaign Health” 📈 Goal Progress Bar: “Reach 10 sales” → [█████-----] 5/10 💡 Tip of the week: “Customers mostly buy on Sundays—boost Sunday ads?” 🔄 Schedule tweak: AI offers to shift budget more to weekends → 1-tap accept ✅ Design Insight: Visual goal progress tied to real business language (not ad jargon). 🔴 Step 6: Next Campaign Setup (Day 28) 🔔 Notification: “Want to grow more? Let’s set your next 2-week goal.” New goal prompt: “Drive more returning customers?” or “Promote your best-seller?” AdGenie uses past data to pre-suggest new strategy, audience, copy. ✅ UX Strategy: Continuous small wins → repeat engagement cycle. 🧾 Extras & Retention Features 💌 Email Digest: Bi-weekly summary + 1 suggested action 🎓 “Learn As You Go” Mode: Optional short tips under each metric (“What’s a bounce rate?”) 🔁 Autopilot Option: Let AdGenie auto-run minor tweaks (user can review via log) 💬 AI Q&A: Ask things like “Why did conversions drop this week?” – get simple answers 🧰 Tech + UI Design Stack (suggested) Frontend: React + Tailwind (mobile-first, card-based UI) Backend: Node.js or Python Flask for API glue AI layer: GPT-4 API + Ads API + GA4 Data storage: Firebase or Supabase for small teams Tracking Integration: Google Ads API + GA4 conversions import 🎯 Final UX Principles Recap Principle Implementation Speak human, not marketer “Let’s grow your sales” instead of “Optimize ROAS” Conversational onboarding Chat-first setup with emojis and image-based questions Action-oriented reviews Always include 1 smart CTA after data Visual simplicity Cards, progress bars, no tables or dropdown hell Trust-building transparency Explain delays, AI choices, and results in human terms
|
2 |
+
Now as virtual rock-start silicon valley UI designer, let him provide his magin on how the app should look like, A-Z.
|