CoolFace
Apppublic

3emibrahim/debugging-testing2

sourceHugging Faceupdated 1y agoView on Hugging Face
0likes
index.html839 linesDownload Raw Back to frontend
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>AIToolkit - Three Powerful AI Tools</title>
7    <style>
8      :root {
9        --primary: #4f46e5;
10        --primary-dark: #4338ca;
11        --secondary: #10b981;
12        --accent: #f97316;
13        --light: #f3f4f6;
14        --dark: #1f2937;
15        --gray: #9ca3af;
16      }
17
18      * {
19        margin: 0;
20        padding: 0;
21        box-sizing: border-box;
22        font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
23      }
24
25      body {
26        background-color: #f9fafb;
27        color: var(--dark);
28        line-height: 1.6;
29      }
30
31      header {
32        background-color: white;
33        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
34        padding: 1rem 2rem;
35        position: sticky;
36        top: 0;
37        z-index: 10;
38      }
39
40      nav {
41        display: flex;
42        justify-content: space-between;
43        align-items: center;
44        max-width: 1200px;
45        margin: 0 auto;
46      }
47
48      .logo {
49        font-size: 1.5rem;
50        font-weight: 700;
51        color: var(--primary);
52        display: flex;
53        align-items: center;
54        gap: 0.5rem;
55      }
56
57      .nav-links {
58        display: flex;
59        gap: 2rem;
60      }
61
62      .nav-links a {
63        text-decoration: none;
64        color: var(--dark);
65        font-weight: 500;
66        transition: color 0.2s;
67      }
68
69      .nav-links a:hover {
70        color: var(--primary);
71      }
72
73      .cta-button {
74        background-color: var(--primary);
75        color: white;
76        padding: 0.5rem 1rem;
77        border-radius: 0.375rem;
78        font-weight: 500;
79        text-decoration: none;
80        transition: background-color 0.2s;
81      }
82
83      .cta-button:hover {
84        background-color: var(--primary-dark);
85      }
86
87      main {
88        max-width: 1200px;
89        margin: 0 auto;
90        padding: 2rem;
91      }
92
93      .hero {
94        text-align: center;
95        padding: 6rem 2rem;
96        background: linear-gradient(135deg, #f6f8fe 0%, #e9f1ff 100%);
97        border-radius: 16px;
98        margin-bottom: 3rem;
99        position: relative;
100        overflow: hidden;
101        display: flex;
102        flex-direction: column;
103        align-items: center;
104      }
105
106      .hero-content {
107        max-width: 800px;
108        z-index: 2;
109      }
110
111      .hero h1 {
112        font-size: 3.2rem;
113        font-weight: 800;
114        margin-bottom: 1.5rem;
115        color: var(--dark);
116        line-height: 1.2;
117      }
118
119      .highlight {
120        color: var(--primary);
121        position: relative;
122      }
123
124      .highlight::after {
125        content: "";
126        position: absolute;
127        bottom: -5px;
128        left: 0;
129        width: 100%;
130        height: 4px;
131        background-color: var(--secondary);
132        border-radius: 2px;
133      }
134
135      .hero p {
136        font-size: 1.4rem;
137        color: #4b5563;
138        max-width: 750px;
139        margin: 0 auto 2.5rem;
140      }
141
142      .cta-container {
143        display: flex;
144        gap: 1rem;
145        justify-content: center;
146      }
147
148      .cta-button {
149        background-color: var(--primary);
150        color: white;
151        padding: 0.9rem 2rem;
152        border-radius: 0.5rem;
153        font-weight: 600;
154        font-size: 1.1rem;
155        text-decoration: none;
156        transition: all 0.3s ease;
157        box-shadow: 0 4px 12px rgba(79, 70, 229, 0.3);
158      }
159
160      .cta-button:hover {
161        background-color: var(--primary-dark);
162        transform: translateY(-3px);
163        box-shadow: 0 6px 16px rgba(79, 70, 229, 0.4);
164      }
165
166      .secondary-link {
167        color: var(--primary);
168        text-decoration: none;
169        font-weight: 600;
170        padding: 0.9rem 1.5rem;
171        border: 2px solid var(--primary);
172        border-radius: 0.5rem;
173        transition: all 0.3s ease;
174      }
175
176      .secondary-link:hover {
177        background-color: rgba(79, 70, 229, 0.05);
178      }
179
180      .hero-visual {
181        position: absolute;
182        width: 100%;
183        height: 100%;
184        top: 0;
185        left: 0;
186        pointer-events: none;
187      }
188
189      .ai-icon {
190        position: absolute;
191        width: 60px;
192        height: 60px;
193        border-radius: 50%;
194        display: flex;
195        align-items: center;
196        justify-content: center;
197        color: white;
198        font-size: 1.6rem;
199        box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1);
200      }
201
202      .ai-icon-1 {
203        background-color: var(--primary);
204        top: 20%;
205        left: 15%;
206        animation: float 6s ease-in-out infinite;
207      }
208
209      .ai-icon-2 {
210        background-color: var(--secondary);
211        top: 25%;
212        right: 15%;
213        animation: float 8s ease-in-out infinite 1s;
214      }
215
216      .ai-icon-3 {
217        background-color: var(--accent);
218        bottom: 20%;
219        right: 25%;
220        animation: float 7s ease-in-out infinite 0.5s;
221      }
222
223      .animate-title {
224        animation: fadeInUp 1s ease-out;
225      }
226
227      @keyframes float {
228        0% {
229          transform: translateY(0px);
230        }
231        50% {
232          transform: translateY(-15px);
233        }
234        100% {
235          transform: translateY(0px);
236        }
237      }
238
239      @keyframes fadeInUp {
240        from {
241          opacity: 0;
242          transform: translateY(20px);
243        }
244        to {
245          opacity: 1;
246          transform: translateY(0);
247        }
248      }
249
250      @media (max-width: 768px) {
251        .hero h1 {
252          font-size: 2.4rem;
253        }
254
255        .hero p {
256          font-size: 1.1rem;
257        }
258
259        .ai-icon {
260          width: 45px;
261          height: 45px;
262        }
263      }
264
265      .tools-container {
266        display: grid;
267        grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
268        gap: 2.5rem;
269        max-width: 1200px;
270        margin: 4rem auto;
271        padding: 0 1rem;
272      }
273
274      .tool-card {
275        background-color: white;
276        border-radius: 1rem;
277        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05);
278        width: 100%;
279        overflow: hidden;
280        transition: transform 0.4s ease, box-shadow 0.4s ease;
281        border: 1px solid rgba(0, 0, 0, 0.04);
282      }
283
284      .tool-card:hover {
285        transform: translateY(-8px);
286        box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
287      }
288
289      .tool-header {
290        padding: 2rem 1.75rem 1.5rem;
291        display: flex;
292        align-items: center;
293        gap: 1.25rem;
294        border-bottom: 1px solid rgba(0, 0, 0, 0.03);
295      }
296
297      .tool-icon {
298        width: 64px;
299        height: 64px;
300        border-radius: 16px;
301        display: flex;
302        align-items: center;
303        justify-content: center;
304        color: white;
305        font-size: 1.75rem;
306        box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1);
307        position: relative;
308        overflow: hidden;
309      }
310
311      .tool-icon::after {
312        content: "";
313        position: absolute;
314        top: 0;
315        left: 0;
316        right: 0;
317        bottom: 0;
318        background: linear-gradient(
319          135deg,
320          rgba(255, 255, 255, 0.2) 0%,
321          rgba(255, 255, 255, 0) 100%
322        );
323        border-radius: inherit;
324      }
325
326      .text-gen-icon {
327        background: linear-gradient(135deg, var(--primary) 0%, #6366f1 100%);
328      }
329
330      .image-gen-icon {
331        background: linear-gradient(135deg, var(--secondary) 0%, #059669 100%);
332      }
333
334      .audio-trans-icon {
335        background: linear-gradient(135deg, var(--accent) 0%, #ea580c 100%);
336      }
337
338      .tool-title {
339        flex: 1;
340      }
341
342      .tool-title h2 {
343        font-size: 1.5rem;
344        margin-bottom: 0.5rem;
345        font-weight: 700;
346        color: var(--dark);
347      }
348
349      .tool-title p {
350        color: var(--gray);
351        font-size: 0.95rem;
352        line-height: 1.5;
353      }
354
355      .tool-body {
356        padding: 2rem 1.75rem;
357      }
358
359      .input-container {
360        margin-bottom: 1.5rem;
361      }
362
363      .input-container label {
364        display: block;
365        margin-bottom: 0.75rem;
366        font-weight: 600;
367        font-size: 0.95rem;
368        color: var(--dark);
369      }
370
371      textarea,
372      input {
373        width: 100%;
374        padding: 1rem;
375        border: 1px solid #e5e7eb;
376        border-radius: 0.75rem;
377        font-size: 0.95rem;
378        transition: border-color 0.2s, box-shadow 0.2s;
379        resize: none;
380      }
381
382      textarea:focus,
383      input:focus {
384        outline: none;
385        border-color: var(--primary);
386        box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.1);
387      }
388
389      .file-input-container {
390        border: 2px dashed #e5e7eb;
391        border-radius: 0.75rem;
392        padding: 2rem 1.5rem;
393        text-align: center;
394        cursor: pointer;
395        margin-bottom: 1.5rem;
396        transition: all 0.3s ease;
397        background-color: rgba(243, 244, 246, 0.5);
398      }
399
400      .file-input-container:hover {
401        border-color: var(--primary);
402        background-color: rgba(79, 70, 229, 0.05);
403      }
404
405      .file-input-container svg {
406        margin-bottom: 1rem;
407        color: var(--gray);
408        transition: color 0.3s;
409      }
410
411      .file-input-container:hover svg {
412        color: var(--primary);
413      }
414
415      .file-input-container p {
416        margin-top: 0.5rem;
417        color: var(--gray);
418        font-size: 0.95rem;
419      }
420
421      .tool-button {
422        width: 100%;
423        padding: 1rem;
424        border: none;
425        border-radius: 0.75rem;
426        font-weight: 600;
427        font-size: 1rem;
428        color: white;
429        cursor: pointer;
430        transition: all 0.3s ease;
431        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
432        position: relative;
433        overflow: hidden;
434      }
435
436      .tool-button::after {
437        content: "";
438        position: absolute;
439        top: 0;
440        left: 0;
441        right: 0;
442        bottom: 0;
443        background: linear-gradient(
444          135deg,
445          rgba(255, 255, 255, 0.2) 0%,
446          rgba(255, 255, 255, 0) 100%
447        );
448        opacity: 0;
449        transition: opacity 0.3s;
450      }
451
452      .tool-button:hover {
453        transform: translateY(-3px);
454        box-shadow: 0 6px 15px rgba(0, 0, 0, 0.15);
455      }
456
457      .tool-button:hover::after {
458        opacity: 1;
459      }
460
461      .tool-button:active {
462        transform: translateY(-1px);
463      }
464
465      .text-gen-button {
466        background: linear-gradient(135deg, var(--primary) 0%, #6366f1 100%);
467      }
468
469      .image-gen-button {
470        background: linear-gradient(135deg, var(--secondary) 0%, #059669 100%);
471      }
472
473      .audio-trans-button {
474        background: linear-gradient(135deg, var(--accent) 0%, #ea580c 100%);
475      }
476
477      .output-container {
478        margin-top: 2rem;
479        border: 1px solid #e5e7eb;
480        border-radius: 0.75rem;
481        padding: 1.5rem;
482        background-color: #f9fafb;
483        min-height: 120px;
484        transition: all 0.3s ease;
485      }
486
487      .output-container:hover {
488        border-color: var(--gray);
489        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.03);
490      }
491
492      .features-section {
493        background-color: var(--light);
494        padding: 4rem 2rem;
495        text-align: center;
496        margin: 3rem 0;
497      }
498
499      .features-section h2 {
500        font-size: 2rem;
501        margin-bottom: 2rem;
502      }
503
504      .features-grid {
505        display: grid;
506        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
507        gap: 2rem;
508        max-width: 1200px;
509        margin: 0 auto;
510      }
511
512      .feature-card {
513        background-color: white;
514        padding: 2rem;
515        border-radius: 0.5rem;
516        box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
517      }
518
519      .feature-icon {
520        width: 60px;
521        height: 60px;
522        border-radius: 50%;
523        margin: 0 auto 1rem;
524        display: flex;
525        align-items: center;
526        justify-content: center;
527        font-size: 1.5rem;
528        color: white;
529      }
530
531      .feature-card h3 {
532        margin-bottom: 1rem;
533      }
534
535      footer {
536        background-color: var(--dark);
537        color: white;
538        padding: 2rem;
539        text-align: center;
540      }
541
542      .footer-content {
543        max-width: 1200px;
544        margin: 0 auto;
545        display: flex;
546        flex-wrap: wrap;
547        justify-content: space-between;
548        gap: 2rem;
549      }
550
551      .footer-section {
552        flex: 1;
553        min-width: 200px;
554      }
555
556      .footer-section h3 {
557        margin-bottom: 1rem;
558        font-size: 1.25rem;
559      }
560
561      .footer-section a {
562        display: block;
563        color: var(--gray);
564        text-decoration: none;
565        margin-bottom: 0.5rem;
566        transition: color 0.2s;
567      }
568
569      .footer-section a:hover {
570        color: white;
571      }
572
573      .copyright {
574        margin-top: 2rem;
575        padding-top: 1rem;
576        border-top: 1px solid #374151;
577        color: var(--gray);
578      }
579
580      @media (max-width: 768px) {
581        .tools-container {
582          flex-direction: column;
583          align-items: center;
584        }
585
586        .nav-links {
587          display: none;
588        }
589      }
590    </style>
591  </head>
592  <body>
593    <header>
594      <nav>
595        <div class="logo">
596          <span>AIToolkit</span>
597        </div>
598        <div class="nav-links">
599          <a href="/">Home</a>
600          <a href="/features">Features</a>
601          <a href="/contact">Contact us</a>
602          <a href="/about">About</a>
603        </div>
604      </nav>
605    </header>
606
607    <main>
608      <section class="hero">
609        <div class="hero-content">
610          <h1 class="animate-title">
611            Three Powerful AI Tools
612            <span class="highlight">in One Platform</span>
613          </h1>
614          <p>
615            Generate text, create images, and transcribe audio with our
616            cutting-edge AI technology.
617          </p>
618          <div class="cta-container">
619            <a href="#" class="cta-button">Get Started</a>
620            <a href="#" class="secondary-link">See Demo</a>
621          </div>
622        </div>
623        <div class="hero-visual">
624          <div class="ai-icon ai-icon-1"><i class="fas fa-robot"></i></div>
625          <div class="ai-icon ai-icon-2"><i class="fas fa-brain"></i></div>
626          <div class="ai-icon ai-icon-3"><i class="fas fa-microchip"></i></div>
627        </div>
628      </section>
629
630      <div class="tools-container">
631        <!-- Text Generation Tool -->
632        <div class="tool-card">
633          <div class="tool-header">
634            <div class="tool-icon text-gen-icon">
635              <i class="fas fa-comments"></i>
636            </div>
637            <div class="tool-title">
638              <h2>Image & Document Chat</h2>
639              <p>Interactive AI-powered conversations with your files</p>
640            </div>
641          </div>
642          <div class="tool-body">
643            <button
644              class="tool-button text-gen-button"
645              onclick="window.location.href='/text-generator'"
646            >
647              Try now !
648            </button>
649          </div>
650        </div>
651
652        <!-- Image Generation Tool -->
653        <div class="tool-card">
654          <div class="tool-header">
655            <div class="tool-icon image-gen-icon">
656              <i class="fas fa-chart-pie"></i>
657            </div>
658            <div class="tool-title">
659              <h2>Data Visualization</h2>
660              <p>Transform your ideas into stunning visuals</p>
661            </div>
662          </div>
663          <div class="tool-body">
664            <button class="tool-button image-gen-button">Try now !</button>
665          </div>
666        </div>
667
668        <!-- Audio Transcription Tool -->
669        <div class="tool-card">
670          <div class="tool-header">
671            <div class="tool-icon audio-trans-icon">
672              <i class="fas fa-language"></i>
673            </div>
674            <div class="tool-title">
675              <h2>Document Translation</h2>
676              <p>Document Translation to any language.</p>
677            </div>
678          </div>
679          <div class="tool-body">
680            <button class="tool-button audio-trans-button">Try now !</button>
681          </div>
682        </div>
683      </div>
684    </main>
685
686    <footer>
687      <div class="footer-content">
688        <div class="footer-section">
689          <h3>AIToolkit</h3>
690          <p>Empowering creativity and productivity with advanced AI tools.</p>
691        </div>
692        <div class="footer-section">
693          <h3>Quick Links</h3>
694          <a href="/index">Home</a>
695          <a href="/features.html">Features</a>
696          <a href="#">Pricing</a>
697          <a href="/about">About Us</a>
698        </div>
699        <div class="footer-section">
700          <h3>Resources</h3>
701          <a href="#">Documentation</a>
702          <a href="#">Tutorials</a>
703          <a href="#">Blog</a>
704          <a href="#">API</a>
705        </div>
706        <div class="footer-section">
707          <h3>Support</h3>
708          <a href="/contact">Contact Us</a>
709          <a href="#">FAQs</a>
710          <a href="#">Privacy Policy</a>
711          <a href="#">Terms of Service</a>
712        </div>
713      </div>
714      <div class="copyright">
715        <p>&copy; 2025 AIToolkit. All rights reserved.</p>
716      </div>
717    </footer>
718
719    <script>
720      // Basic JavaScript to make the file upload area interactive
721      const fileUploadArea = document.getElementById("file-upload-area");
722      const fileInput = document.getElementById("audio-upload");
723
724      fileUploadArea.addEventListener("click", () => {
725        fileInput.click();
726      });
727
728      fileInput.addEventListener("change", () => {
729        if (fileInput.files.length > 0) {
730          fileUploadArea.style.borderColor = "var(--accent)";
731          fileUploadArea.querySelector(
732            "p"
733          ).textContent = `File selected: ${fileInput.files[0].name}`;
734        }
735      });
736
737      // Prevent default drag behaviors
738      ["dragenter", "dragover", "dragleave", "drop"].forEach((eventName) => {
739        fileUploadArea.addEventListener(eventName, preventDefaults, false);
740        document.body.addEventListener(eventName, preventDefaults, false);
741      });
742
743      // Highlight drop area when item is dragged over it
744      ["dragenter", "dragover"].forEach((eventName) => {
745        fileUploadArea.addEventListener(eventName, highlight, false);
746      });
747
748      ["dragleave", "drop"].forEach((eventName) => {
749        fileUploadArea.addEventListener(eventName, unhighlight, false);
750      });
751
752      // Handle dropped files
753      fileUploadArea.addEventListener("drop", handleDrop, false);
754
755      function preventDefaults(e) {
756        e.preventDefault();
757        e.stopPropagation();
758      }
759
760      function highlight() {
761        fileUploadArea.style.borderColor = "var(--accent)";
762      }
763
764      function unhighlight() {
765        fileUploadArea.style.borderColor = "#e5e7eb";
766      }
767
768      function handleDrop(e) {
769        const dt = e.dataTransfer;
770        const files = dt.files;
771
772        if (files.length > 0) {
773          fileInput.files = files;
774          fileUploadArea.querySelector(
775            "p"
776          ).textContent = `File selected: ${files[0].name}`;
777        }
778      }
779
780      // Simple demo functionality for the buttons
781      document
782        .querySelector(".text-gen-button")
783        .addEventListener("click", function () {
784          const textPrompt = document.getElementById("text-prompt").value;
785          if (textPrompt.trim() !== "") {
786            const outputContainer = this.nextElementSibling;
787            outputContainer.innerHTML = "<p>Processing your request...</p>";
788
789            // Simulate API call with timeout
790            setTimeout(() => {
791              outputContainer.innerHTML =
792                "<p>Once upon a time in the vast expanse of space, Captain Aria discovered a planet unlike any other. Its atmosphere shimmered with particles that seemed to respond to human emotion...</p>";
793            }, 1500);
794          }
795        });
796
797      document
798        .querySelector(".image-gen-button")
799        .addEventListener("click", function () {
800          const imagePrompt = document.getElementById("image-prompt").value;
801          if (imagePrompt.trim() !== "") {
802            const outputContainer = this.nextElementSibling;
803            outputContainer.innerHTML = "<p>Generating your image...</p>";
804
805            // Simulate API call with timeout
806            setTimeout(() => {
807              outputContainer.querySelector("p").style.display = "none";
808              outputContainer.querySelector("img").style.display = "block";
809            }, 2000);
810          }
811        });
812
813      document
814        .querySelector(".audio-trans-button")
815        .addEventListener("click", function () {
816          if (fileInput.files.length > 0) {
817            const outputContainer = this.nextElementSibling;
818            outputContainer.innerHTML = "<p>Transcribing your audio...</p>";
819
820            // Simulate API call with timeout
821            setTimeout(() => {
822              outputContainer.innerHTML =
823                "<p>Thank you for using our AI transcription service. This is a sample of what your transcribed text would look like. Our AI model can accurately detect speakers, punctuation, and even handle background noise.</p>";
824            }, 2500);
825          } else {
826            alert("Please select an audio file first");
827          }
828        });
829    </script>
830    <link
831      rel="stylesheet"
832      href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css"
833      integrity="sha512-1ycn6IcaQQ40/MKBW2W4Rhis/DbILU74C1vSrLJxCq57o941Ym01SwNsOMqvEBFlcgUa6xLiPY/NS5R+E6ztJQ=="
834      crossorigin="anonymous"
835      referrerpolicy="no-referrer"
836    />
837  </body>
838</html>
839