Spaces:
Running
Running
Aggiungi qualche animazione al sito miglioralo in generale fai in modo che la gente non lo trovi soltanto utile ma anche bello da navigare.. non dargli il solito aspetto noioso
Browse files- index.html +175 -44
index.html
CHANGED
|
@@ -8,24 +8,49 @@
|
|
| 8 |
<script src="https://unpkg.com/feather-icons"></script>
|
| 9 |
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
|
| 10 |
<style>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 11 |
.gradient-bg {
|
| 12 |
background: linear-gradient(135deg, #6e8efb 0%, #a777e3 100%);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 13 |
}
|
| 14 |
.prompt-card {
|
| 15 |
-
transition: all 0.
|
| 16 |
box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
|
|
|
|
|
|
|
| 17 |
}
|
| 18 |
.prompt-card:hover {
|
| 19 |
-
transform: translateY(-
|
| 20 |
-
box-shadow: 0
|
| 21 |
}
|
| 22 |
.typewriter {
|
| 23 |
border-right: 3px solid;
|
| 24 |
white-space: nowrap;
|
| 25 |
overflow: hidden;
|
| 26 |
-
animation:
|
|
|
|
|
|
|
|
|
|
| 27 |
}
|
| 28 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 29 |
from { width: 0 }
|
| 30 |
to { width: 100% }
|
| 31 |
}
|
|
@@ -33,17 +58,71 @@
|
|
| 33 |
from, to { border-color: transparent }
|
| 34 |
50% { border-color: #6e8efb }
|
| 35 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 36 |
</style>
|
| 37 |
</head>
|
| 38 |
<body class="min-h-screen bg-gray-50">
|
| 39 |
<!-- Hero Section -->
|
| 40 |
<div class="gradient-bg text-white py-20 px-4">
|
| 41 |
<div class="container mx-auto max-w-6xl text-center">
|
| 42 |
-
<h1 class="text-4xl md:text-6xl font-bold mb-6">
|
| 43 |
-
|
|
|
|
|
|
|
| 44 |
<div class="flex justify-center">
|
| 45 |
-
<button id="startBtn" class="bg-white text-purple-600 font-bold py-3 px-8 rounded-full text-lg hover:bg-purple-100 transition duration-300 flex items-center">
|
| 46 |
-
|
| 47 |
</button>
|
| 48 |
</div>
|
| 49 |
</div>
|
|
@@ -86,8 +165,8 @@
|
|
| 86 |
<div id="resultSection" class="hidden mt-8">
|
| 87 |
<h3 class="text-xl font-bold text-gray-800 mb-4">✨ Your Perfect Prompt:</h3>
|
| 88 |
<div class="bg-gray-50 p-6 rounded-lg mb-6">
|
| 89 |
-
|
| 90 |
-
|
| 91 |
<i data-feather="copy" class="mr-2"></i> Copy Prompt
|
| 92 |
</button>
|
| 93 |
</div>
|
|
@@ -140,46 +219,85 @@
|
|
| 140 |
</div>
|
| 141 |
</div>
|
| 142 |
</div>
|
| 143 |
-
|
| 144 |
<!-- Footer -->
|
| 145 |
-
<footer class="bg-gray-
|
| 146 |
-
<div class="
|
|
|
|
|
|
|
|
|
|
|
|
|
| 147 |
<div class="flex flex-col md:flex-row justify-between items-center">
|
| 148 |
<div class="mb-6 md:mb-0">
|
| 149 |
<h3 class="text-2xl font-bold mb-2">PromptGenius Wizard</h3>
|
| 150 |
<p class="text-gray-300">Crafting perfect AI prompts since 2023</p>
|
| 151 |
</div>
|
| 152 |
<div class="flex space-x-6">
|
| 153 |
-
|
| 154 |
-
|
| 155 |
-
|
| 156 |
-
|
| 157 |
-
|
| 158 |
-
|
| 159 |
-
|
| 160 |
-
|
| 161 |
-
|
| 162 |
-
|
| 163 |
</div>
|
| 164 |
-
<div class="border-t border-gray-
|
| 165 |
-
<p>© 2023 PromptGenius Wizard. All prompts are free to use.</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 166 |
</div>
|
| 167 |
-
|
| 168 |
</footer>
|
| 169 |
-
|
| 170 |
<script>
|
| 171 |
// Initialize Feather Icons
|
| 172 |
feather.replace();
|
| 173 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 174 |
// Show assistant section when start button is clicked
|
| 175 |
document.getElementById('startBtn').addEventListener('click', function() {
|
| 176 |
-
|
| 177 |
-
|
| 178 |
-
|
| 179 |
-
|
| 180 |
-
|
| 181 |
});
|
| 182 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 183 |
|
| 184 |
// Prompt generation based on category
|
| 185 |
const promptButtons = document.querySelectorAll('.prompt-btn');
|
|
@@ -247,17 +365,30 @@
|
|
| 247 |
tools = 'ChatGPT\nPerplexity AI\nElicit (for research)\nNotion (for organization)';
|
| 248 |
break;
|
| 249 |
}
|
|
|
|
|
|
|
| 250 |
|
| 251 |
-
|
| 252 |
-
|
| 253 |
-
|
| 254 |
-
|
| 255 |
-
|
| 256 |
-
|
| 257 |
-
|
| 258 |
-
|
| 259 |
-
|
| 260 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 261 |
</script>
|
| 262 |
</body>
|
| 263 |
</html>
|
|
|
|
| 8 |
<script src="https://unpkg.com/feather-icons"></script>
|
| 9 |
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
|
| 10 |
<style>
|
| 11 |
+
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;600;700&display=swap');
|
| 12 |
+
|
| 13 |
+
body {
|
| 14 |
+
font-family: 'Poppins', sans-serif;
|
| 15 |
+
scroll-behavior: smooth;
|
| 16 |
+
}
|
| 17 |
+
|
| 18 |
.gradient-bg {
|
| 19 |
background: linear-gradient(135deg, #6e8efb 0%, #a777e3 100%);
|
| 20 |
+
animation: gradientShift 15s ease infinite;
|
| 21 |
+
background-size: 200% 200%;
|
| 22 |
+
}
|
| 23 |
+
|
| 24 |
+
@keyframes gradientShift {
|
| 25 |
+
0% { background-position: 0% 50%; }
|
| 26 |
+
50% { background-position: 100% 50%; }
|
| 27 |
+
100% { background-position: 0% 50%; }
|
| 28 |
}
|
| 29 |
.prompt-card {
|
| 30 |
+
transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
|
| 31 |
box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
|
| 32 |
+
transform: perspective(1000px) rotateX(0deg);
|
| 33 |
+
backface-visibility: hidden;
|
| 34 |
}
|
| 35 |
.prompt-card:hover {
|
| 36 |
+
transform: perspective(1000px) rotateX(5deg) translateY(-10px);
|
| 37 |
+
box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
|
| 38 |
}
|
| 39 |
.typewriter {
|
| 40 |
border-right: 3px solid;
|
| 41 |
white-space: nowrap;
|
| 42 |
overflow: hidden;
|
| 43 |
+
animation:
|
| 44 |
+
typing 3s steps(40, end),
|
| 45 |
+
blink-caret .75s step-end infinite,
|
| 46 |
+
fadeIn 1s ease-in-out;
|
| 47 |
}
|
| 48 |
+
|
| 49 |
+
@keyframes fadeIn {
|
| 50 |
+
from { opacity: 0; transform: translateY(10px); }
|
| 51 |
+
to { opacity: 1; transform: translateY(0); }
|
| 52 |
+
}
|
| 53 |
+
@keyframes typing {
|
| 54 |
from { width: 0 }
|
| 55 |
to { width: 100% }
|
| 56 |
}
|
|
|
|
| 58 |
from, to { border-color: transparent }
|
| 59 |
50% { border-color: #6e8efb }
|
| 60 |
}
|
| 61 |
+
.floating {
|
| 62 |
+
animation: floating 3s ease-in-out infinite;
|
| 63 |
+
}
|
| 64 |
+
|
| 65 |
+
@keyframes floating {
|
| 66 |
+
0% { transform: translateY(0px); }
|
| 67 |
+
50% { transform: translateY(-10px); }
|
| 68 |
+
100% { transform: translateY(0px); }
|
| 69 |
+
}
|
| 70 |
+
|
| 71 |
+
.btn-glow {
|
| 72 |
+
position: relative;
|
| 73 |
+
overflow: hidden;
|
| 74 |
+
}
|
| 75 |
+
|
| 76 |
+
.btn-glow::after {
|
| 77 |
+
content: '';
|
| 78 |
+
position: absolute;
|
| 79 |
+
top: -50%;
|
| 80 |
+
left: -50%;
|
| 81 |
+
width: 200%;
|
| 82 |
+
height: 200%;
|
| 83 |
+
background: radial-gradient(circle, rgba(255,255,255,0.8) 0%, rgba(255,255,255,0) 70%);
|
| 84 |
+
transform: translate(25%, 25%);
|
| 85 |
+
opacity: 0;
|
| 86 |
+
transition: opacity 0.3s ease;
|
| 87 |
+
}
|
| 88 |
+
|
| 89 |
+
.btn-glow:hover::after {
|
| 90 |
+
opacity: 0.6;
|
| 91 |
+
}
|
| 92 |
+
|
| 93 |
+
.text-gradient {
|
| 94 |
+
background: linear-gradient(90deg, #6e8efb, #a777e3);
|
| 95 |
+
-webkit-background-clip: text;
|
| 96 |
+
background-clip: text;
|
| 97 |
+
color: transparent;
|
| 98 |
+
display: inline;
|
| 99 |
+
}
|
| 100 |
+
|
| 101 |
+
.result-appear {
|
| 102 |
+
animation: appear 0.8s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
|
| 103 |
+
opacity: 0;
|
| 104 |
+
transform: translateY(20px);
|
| 105 |
+
}
|
| 106 |
+
|
| 107 |
+
@keyframes appear {
|
| 108 |
+
to {
|
| 109 |
+
opacity: 1;
|
| 110 |
+
transform: translateY(0);
|
| 111 |
+
}
|
| 112 |
+
}
|
| 113 |
</style>
|
| 114 |
</head>
|
| 115 |
<body class="min-h-screen bg-gray-50">
|
| 116 |
<!-- Hero Section -->
|
| 117 |
<div class="gradient-bg text-white py-20 px-4">
|
| 118 |
<div class="container mx-auto max-w-6xl text-center">
|
| 119 |
+
<h1 class="text-4xl md:text-6xl font-bold mb-6">
|
| 120 |
+
<span class="text-gradient floating inline-block">PromptGenius Wizard</span>
|
| 121 |
+
</h1>
|
| 122 |
+
<p class="text-xl md:text-2xl mb-8 typewriter">The magical tool to craft perfect AI prompts ✨</p>
|
| 123 |
<div class="flex justify-center">
|
| 124 |
+
<button id="startBtn" class="bg-white text-purple-600 font-bold py-3 px-8 rounded-full text-lg hover:bg-purple-100 transition duration-300 flex items-center btn-glow shadow-lg">
|
| 125 |
+
<i data-feather="wand" class="mr-2"></i> Start the Magic
|
| 126 |
</button>
|
| 127 |
</div>
|
| 128 |
</div>
|
|
|
|
| 165 |
<div id="resultSection" class="hidden mt-8">
|
| 166 |
<h3 class="text-xl font-bold text-gray-800 mb-4">✨ Your Perfect Prompt:</h3>
|
| 167 |
<div class="bg-gray-50 p-6 rounded-lg mb-6">
|
| 168 |
+
<div id="generatedPrompt" class="text-gray-700 font-medium text-lg leading-relaxed"></div>
|
| 169 |
+
<button id="copyPromptBtn" class="mt-4 bg-gray-200 hover:bg-gray-300 text-gray-800 py-2 px-4 rounded-lg transition duration-300 flex items-center">
|
| 170 |
<i data-feather="copy" class="mr-2"></i> Copy Prompt
|
| 171 |
</button>
|
| 172 |
</div>
|
|
|
|
| 219 |
</div>
|
| 220 |
</div>
|
| 221 |
</div>
|
|
|
|
| 222 |
<!-- Footer -->
|
| 223 |
+
<footer class="bg-gray-900 text-white py-12 px-4 relative overflow-hidden">
|
| 224 |
+
<div class="absolute top-0 left-0 w-full h-full opacity-10">
|
| 225 |
+
<div class="absolute top-1/4 left-1/4 w-64 h-64 rounded-full bg-purple-500 mix-blend-screen filter blur-3xl animate-pulse"></div>
|
| 226 |
+
<div class="absolute top-3/4 right-1/4 w-64 h-64 rounded-full bg-blue-500 mix-blend-screen filter blur-3xl animate-pulse delay-500"></div>
|
| 227 |
+
</div>
|
| 228 |
+
<div class="container mx-auto max-w-6xl">
|
| 229 |
<div class="flex flex-col md:flex-row justify-between items-center">
|
| 230 |
<div class="mb-6 md:mb-0">
|
| 231 |
<h3 class="text-2xl font-bold mb-2">PromptGenius Wizard</h3>
|
| 232 |
<p class="text-gray-300">Crafting perfect AI prompts since 2023</p>
|
| 233 |
</div>
|
| 234 |
<div class="flex space-x-6">
|
| 235 |
+
<a href="#" class="text-gray-300 hover:text-white transition duration-300 hover:-translate-y-1 transform">
|
| 236 |
+
<i data-feather="github" class="w-6 h-6 hover:text-purple-400"></i>
|
| 237 |
+
</a>
|
| 238 |
+
<a href="#" class="text-gray-300 hover:text-white transition duration-300 hover:-translate-y-1 transform">
|
| 239 |
+
<i data-feather="twitter" class="w-6 h-6 hover:text-blue-400"></i>
|
| 240 |
+
</a>
|
| 241 |
+
<a href="#" class="text-gray-300 hover:text-white transition duration-300 hover:-translate-y-1 transform">
|
| 242 |
+
<i data-feather="mail" class="w-6 h-6 hover:text-pink-400"></i>
|
| 243 |
+
</a>
|
| 244 |
+
</div>
|
| 245 |
</div>
|
| 246 |
+
<div class="border-t border-gray-800 mt-8 pt-8 text-center text-gray-400 relative z-10">
|
| 247 |
+
<p class="text-sm">© 2023 PromptGenius Wizard. All prompts are free to use.</p>
|
| 248 |
+
<div class="mt-2">
|
| 249 |
+
<span class="inline-block w-2 h-2 rounded-full bg-purple-500 animate-pulse"></span>
|
| 250 |
+
<span class="inline-block w-2 h-2 rounded-full bg-purple-500 animate-pulse delay-100 mx-1"></span>
|
| 251 |
+
<span class="inline-block w-2 h-2 rounded-full bg-purple-500 animate-pulse delay-200"></span>
|
| 252 |
+
</div>
|
| 253 |
</div>
|
| 254 |
+
</div>
|
| 255 |
</footer>
|
| 256 |
+
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.11.4/gsap.min.js"></script>
|
| 257 |
<script>
|
| 258 |
// Initialize Feather Icons
|
| 259 |
feather.replace();
|
| 260 |
|
| 261 |
+
// Animate elements on page load
|
| 262 |
+
document.addEventListener('DOMContentLoaded', () => {
|
| 263 |
+
gsap.from('.prompt-card', {
|
| 264 |
+
duration: 0.8,
|
| 265 |
+
y: 30,
|
| 266 |
+
opacity: 0,
|
| 267 |
+
stagger: 0.15,
|
| 268 |
+
ease: 'back.out(1.2)'
|
| 269 |
+
});
|
| 270 |
+
|
| 271 |
+
gsap.from('#startBtn', {
|
| 272 |
+
duration: 1,
|
| 273 |
+
y: 20,
|
| 274 |
+
opacity: 0,
|
| 275 |
+
delay: 0.5,
|
| 276 |
+
ease: 'elastic.out(1, 0.5)'
|
| 277 |
+
});
|
| 278 |
+
});
|
| 279 |
// Show assistant section when start button is clicked
|
| 280 |
document.getElementById('startBtn').addEventListener('click', function() {
|
| 281 |
+
gsap.to(this, {
|
| 282 |
+
duration: 0.5,
|
| 283 |
+
opacity: 0,
|
| 284 |
+
y: -20,
|
| 285 |
+
onComplete: () => this.classList.add('hidden')
|
| 286 |
});
|
| 287 |
+
|
| 288 |
+
gsap.from('#assistantSection', {
|
| 289 |
+
duration: 1,
|
| 290 |
+
y: 50,
|
| 291 |
+
opacity: 0,
|
| 292 |
+
ease: 'back.out(1.2)',
|
| 293 |
+
onStart: () => document.getElementById('assistantSection').classList.remove('hidden')
|
| 294 |
+
});
|
| 295 |
+
gsap.to(window, {
|
| 296 |
+
duration: 1.2,
|
| 297 |
+
scrollTo: '#assistantSection',
|
| 298 |
+
ease: 'power3.inOut'
|
| 299 |
+
});
|
| 300 |
+
});
|
| 301 |
|
| 302 |
// Prompt generation based on category
|
| 303 |
const promptButtons = document.querySelectorAll('.prompt-btn');
|
|
|
|
| 365 |
tools = 'ChatGPT\nPerplexity AI\nElicit (for research)\nNotion (for organization)';
|
| 366 |
break;
|
| 367 |
}
|
| 368 |
+
const resultSection = document.getElementById('resultSection');
|
| 369 |
+
resultSection.classList.add('result-appear');
|
| 370 |
|
| 371 |
+
setTimeout(() => {
|
| 372 |
+
document.getElementById('generatedPrompt').textContent = prompt;
|
| 373 |
+
document.getElementById('recommendedSettings').innerHTML = settings.replace(/\n/g, '<br>');
|
| 374 |
+
document.getElementById('suggestedTools').innerHTML = tools.replace(/\n/g, '<br>');
|
| 375 |
+
|
| 376 |
+
resultSection.classList.remove('hidden');
|
| 377 |
+
gsap.from('.result-appear > *', {
|
| 378 |
+
duration: 0.6,
|
| 379 |
+
y: 20,
|
| 380 |
+
opacity: 0,
|
| 381 |
+
stagger: 0.1,
|
| 382 |
+
ease: 'back.out(1.2)'
|
| 383 |
+
});
|
| 384 |
+
|
| 385 |
+
gsap.to(window, {
|
| 386 |
+
duration: 1,
|
| 387 |
+
scrollTo: '#resultSection',
|
| 388 |
+
ease: 'power2.inOut'
|
| 389 |
+
});
|
| 390 |
+
}, 300);
|
| 391 |
+
}
|
| 392 |
</script>
|
| 393 |
</body>
|
| 394 |
</html>
|