commit 6284025637f02a15a05a04bfe33b8c2006d1e0af
Author: root <root@hub.scroll.pub> Date: 2024-12-28 03:41:03 +0000 Subject: Initial commit diff --git a/body.html b/body.html new file mode 100644 index 0000000..b01b5f3 --- /dev/null +++ b/body.html @@ -0,0 +1,92 @@ +<header> + <nav> + <div class="logo">PitchChain</div> + <div class="nav-links"> + <a href="#features">Features</a> + <a href="#how-it-works">How It Works</a> + <a href="#demo">Demo</a> + <a href="#contact" class="cta-button">Get Started</a> + </div> + </nav> +</header> + +<main> + <section class="hero"> + <h1>Create Stunning Pitch Decks with AI</h1> + <p>Leverage the power of artificial intelligence and blockchain technology to create compelling pitch decks for your Telegram mini apps</p> + <button class="primary-button">Start Building Now</button> + </section> + + <section id="features" class="features"> + <h2>Key Features</h2> + <div class="feature-grid"> + <div class="feature-card"> + <div class="icon">🤖</div> + <h3>AI-Powered</h3> + <p>Smart content suggestions and automatic formatting</p> + </div> + <div class="feature-card"> + <div class="icon">⛓️</div> + <h3>Blockchain Integration</h3> + <p>Secure storage and verification of your pitch deck</p> + </div> + <div class="feature-card"> + <div class="icon">📱</div> + <h3>Telegram Ready</h3> + <p>Seamless integration with Telegram mini apps</p> + </div> + <div class="feature-card"> + <div class="icon">🎨</div> + <h3>Beautiful Templates</h3> + <p>Professional designs for any use case</p> + </div> + </div> + </section> + + <section id="how-it-works" class="how-it-works"> + <h2>How It Works</h2> + <div class="steps"> + <div class="step"> + <div class="step-number">1</div> + <h3>Input Your Content</h3> + <p>Share your ideas and let AI enhance them</p> + </div> + <div class="step"> + <div class="step-number">2</div> + <h3>Choose Template</h3> + <p>Select from our curated collection</p> + </div> + <div class="step"> + <div class="step-number">3</div> + <h3>Generate & Edit</h3> + <p>Review and customize your deck</p> + </div> + </div> + </section> + + <section id="demo" class="demo"> + <h2>See It In Action</h2> + <div class="demo-container"> + <div class="demo-preview"></div> + </div> + </section> + + <section id="contact" class="contact"> + <h2>Ready to Start?</h2> + <form id="contact-form"> + <input type="email" placeholder="Enter your email" required> + <button type="submit" class="primary-button">Get Early Access</button> + </form> + </section> +</main> + +<footer> + <div class="footer-content"> + <div class="logo">PitchChain</div> + <div class="footer-links"> + <a href="#privacy">Privacy Policy</a> + <a href="#terms">Terms of Service</a> + <a href="#contact">Contact</a> + </div> + </div> +</footer> diff --git a/index.scroll b/index.scroll new file mode 100644 index 0000000..715173a --- /dev/null +++ b/index.scroll @@ -0,0 +1,8 @@ +buildHtml +baseUrl https://pitchchain.scroll.pub +metaTags +editButton /edit.html +title PitchChain - AI-Powered Blockchain Pitch Decks +style.css +body.html +script.js diff --git a/prompt.json b/prompt.json new file mode 100644 index 0000000..d8893fa --- /dev/null +++ b/prompt.json @@ -0,0 +1,20 @@ +{ + "id": "msg_01YGXTg3ZHkpYQktFxVkZXzL", + "type": "message", + "role": "assistant", + "model": "claude-3-5-sonnet-20241022", + "content": [ + { + "type": "text", + "text": "Let me create a website for an AI-powered blockchain SNS pitchdeck builder for Telegram mini apps.\n\n---domain---\npitchchain.scroll.pub\n\n---index.scroll---\nbuildHtml\nbaseUrl https://pitchchain.scroll.pub\nmetaTags\neditButton /edit.html\ntitle PitchChain - AI-Powered Blockchain Pitch Decks\nstyle.css\nbody.html\nscript.js\n\n---body.html---\n<header>\n <nav>\n <div class=\"logo\">PitchChain</div>\n <div class=\"nav-links\">\n <a href=\"#features\">Features</a>\n <a href=\"#how-it-works\">How It Works</a>\n <a href=\"#demo\">Demo</a>\n <a href=\"#contact\" class=\"cta-button\">Get Started</a>\n </div>\n </nav>\n</header>\n\n<main>\n <section class=\"hero\">\n <h1>Create Stunning Pitch Decks with AI</h1>\n <p>Leverage the power of artificial intelligence and blockchain technology to create compelling pitch decks for your Telegram mini apps</p>\n <button class=\"primary-button\">Start Building Now</button>\n </section>\n\n <section id=\"features\" class=\"features\">\n <h2>Key Features</h2>\n <div class=\"feature-grid\">\n <div class=\"feature-card\">\n <div class=\"icon\">🤖</div>\n <h3>AI-Powered</h3>\n <p>Smart content suggestions and automatic formatting</p>\n </div>\n <div class=\"feature-card\">\n <div class=\"icon\">⛓️</div>\n <h3>Blockchain Integration</h3>\n <p>Secure storage and verification of your pitch deck</p>\n </div>\n <div class=\"feature-card\">\n <div class=\"icon\">📱</div>\n <h3>Telegram Ready</h3>\n <p>Seamless integration with Telegram mini apps</p>\n </div>\n <div class=\"feature-card\">\n <div class=\"icon\">🎨</div>\n <h3>Beautiful Templates</h3>\n <p>Professional designs for any use case</p>\n </div>\n </div>\n </section>\n\n <section id=\"how-it-works\" class=\"how-it-works\">\n <h2>How It Works</h2>\n <div class=\"steps\">\n <div class=\"step\">\n <div class=\"step-number\">1</div>\n <h3>Input Your Content</h3>\n <p>Share your ideas and let AI enhance them</p>\n </div>\n <div class=\"step\">\n <div class=\"step-number\">2</div>\n <h3>Choose Template</h3>\n <p>Select from our curated collection</p>\n </div>\n <div class=\"step\">\n <div class=\"step-number\">3</div>\n <h3>Generate & Edit</h3>\n <p>Review and customize your deck</p>\n </div>\n </div>\n </section>\n\n <section id=\"demo\" class=\"demo\">\n <h2>See It In Action</h2>\n <div class=\"demo-container\">\n <div class=\"demo-preview\"></div>\n </div>\n </section>\n\n <section id=\"contact\" class=\"contact\">\n <h2>Ready to Start?</h2>\n <form id=\"contact-form\">\n <input type=\"email\" placeholder=\"Enter your email\" required>\n <button type=\"submit\" class=\"primary-button\">Get Early Access</button>\n </form>\n </section>\n</main>\n\n<footer>\n <div class=\"footer-content\">\n <div class=\"logo\">PitchChain</div>\n <div class=\"footer-links\">\n <a href=\"#privacy\">Privacy Policy</a>\n <a href=\"#terms\">Terms of Service</a>\n <a href=\"#contact\">Contact</a>\n </div>\n </div>\n</footer>\n\n---style.css---\n:root {\n --primary-color: #6366f1;\n --secondary-color: #818cf8;\n --text-color: #1f2937;\n --bg-color: #ffffff;\n --accent-color: #4f46e5;\n}\n\n* {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n}\n\nbody {\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n color: var(--text-color);\n line-height: 1.6;\n}\n\nheader {\n position: fixed;\n width: 100%;\n background: rgba(255, 255, 255, 0.9);\n backdrop-filter: blur(10px);\n z-index: 1000;\n box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);\n}\n\nnav {\n max-width: 1200px;\n margin: 0 auto;\n padding: 1rem 2rem;\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n\n.logo {\n font-size: 1.5rem;\n font-weight: 700;\n background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n}\n\n.nav-links a {\n margin-left: 2rem;\n text-decoration: none;\n color: var(--text-color);\n transition: color 0.3s ease;\n}\n\n.nav-links a:hover {\n color: var(--primary-color);\n}\n\n.cta-button {\n background: var(--primary-color);\n color: white !important;\n padding: 0.5rem 1rem;\n border-radius: 0.5rem;\n transition: background-color 0.3s ease;\n}\n\n.cta-button:hover {\n background: var(--accent-color);\n}\n\nmain {\n padding-top: 4rem;\n}\n\n.hero {\n min-height: 90vh;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n text-align: center;\n padding: 2rem;\n background: linear-gradient(135deg, #f0f4ff, #e5e7ff);\n}\n\n.hero h1 {\n font-size: 3.5rem;\n margin-bottom: 1.5rem;\n background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n}\n\n.hero p {\n font-size: 1.25rem;\n max-width: 600px;\n margin-bottom: 2rem;\n}\n\n.primary-button {\n background: var(--primary-color);\n color: white;\n border: none;\n padding: 1rem 2rem;\n border-radius: 0.5rem;\n font-size: 1.1rem;\n cursor: pointer;\n transition: transform 0.3s ease, background-color 0.3s ease;\n}\n\n.primary-button:hover {\n background: var(--accent-color);\n transform: translateY(-2px);\n}\n\nsection {\n padding: 5rem 2rem;\n}\n\n.feature-grid {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));\n gap: 2rem;\n max-width: 1200px;\n margin: 0 auto;\n}\n\n.feature-card {\n background: white;\n padding: 2rem;\n border-radius: 1rem;\n box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);\n transition: transform 0.3s ease;\n}\n\n.feature-card:hover {\n transform: translateY(-5px);\n}\n\n.icon {\n font-size: 2.5rem;\n margin-bottom: 1rem;\n}\n\nh2 {\n text-align: center;\n font-size: 2.5rem;\n margin-bottom: 3rem;\n color: var(--primary-color);\n}\n\n.steps {\n display: flex;\n justify-content: space-around;\n max-width: 1200px;\n margin: 0 auto;\n flex-wrap: wrap;\n gap: 2rem;\n}\n\n.step {\n text-align: center;\n flex: 1;\n min-width: 250px;\n}\n\n.step-number {\n width: 3rem;\n height: 3rem;\n background: var(--primary-color);\n color: white;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n margin: 0 auto 1rem;\n font-size: 1.5rem;\n font-weight: bold;\n}\n\n.demo-container {\n max-width: 1200px;\n margin: 0 auto;\n aspect-ratio: 16/9;\n background: #f1f5f9;\n border-radius: 1rem;\n overflow: hidden;\n}\n\n.contact {\n background: linear-gradient(135deg, #f0f4ff, #e5e7ff);\n text-align: center;\n}\n\nform {\n max-width: 500px;\n margin: 0 auto;\n display: flex;\n gap: 1rem;\n}\n\ninput[type=\"email\"] {\n flex: 1;\n padding: 1rem;\n border: 2px solid transparent;\n border-radius: 0.5rem;\n font-size: 1rem;\n transition: border-color 0.3s ease;\n}\n\ninput[type=\"email\"]:focus {\n outline: none;\n border-color: var(--primary-color);\n}\n\nfooter {\n background: var(--text-color);\n color: white;\n padding: 2rem;\n}\n\n.footer-content {\n max-width: 1200px;\n margin: 0 auto;\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n\n.footer-links a {\n color: white;\n text-decoration: none;\n margin-left: 2rem;\n opacity: 0.8;\n transition: opacity 0.3s ease;\n}\n\n.footer-links a:hover {\n opacity: 1;\n}\n\n@media (max-width: 768px) {\n .nav-links {\n display: none;\n }\n \n .hero h1 {\n font-size: 2.5rem;\n }\n \n form {\n flex-direction: column;\n }\n \n .footer-content {\n flex-direction: column;\n gap: 1rem;\n text-align: center;\n }\n \n .footer-links a {\n margin: 0 1rem;\n }\n}\n\n---script.js---\ndocument.addEventListener('DOMContentLoaded', () => {\n // Smooth scroll for navigation links\n document.querySelectorAll('a[href^=\"#\"]').forEach(anchor => {\n anchor.addEventListener('click', function (e) {\n e.preventDefault();\n const target = document.querySelector(this.getAttribute('href'));\n if (target) {\n target.scrollIntoView({\n behavior: 'smooth',\n block: 'start'\n });\n }\n });\n });\n\n // Form submission handler\n const form = document.getElementById('contact-form');\n if (form) {\n form.addEventListener('submit', (e) => {\n e.preventDefault();\n const email = form.querySelector('input[type=\"email\"]').value;\n \n // Simulate form submission\n const button = form.querySelector('button');\n const originalText = button.textContent;\n button.textContent = 'Processing...';\n button.disabled = true;\n\n setTimeout(() => {\n alert(`Thank you! We'll contact you at ${email} soon.`);\n form.reset();\n button.textContent = originalText;\n button.disabled = false;\n }, 1500);\n });\n }\n\n // Add scroll-based animations\n const animateOnScroll = () => {\n const elements = document.querySelectorAll('.feature-card, .step, .demo-container');\n \n elements.forEach(element => {\n const elementTop = element.getBoundingClientRect().top;\n const elementBottom = element.getBoundingClientRect().bottom;\n \n if (elementTop < window.innerHeight && elementBottom > 0) {\n element.style.opacity = '1';\n element.style.transform = 'translateY(0)';\n }\n });\n };\n\n // Initialize animations\n document.querySelectorAll('.feature-card, .step, .demo-container').forEach(element => {\n element.style.opacity = '0';\n element.style.transform = 'translateY(20px)';\n element.style.transition = 'opacity 0.6s ease, transform 0.6s ease';\n });\n\n // Add scroll listener for animations\n window.addEventListener('scroll', animateOnScroll);\n animateOnScroll(); // Initial check\n});\n\n---end---\n\nThis website features:\n1. Modern, clean design with gradient accents\n2. Smooth scroll animations\n3. Responsive layout that works on all devices\n4. Interactive elements with hover effects\n5. Form handling with feedback\n6. Scroll-based animations for elements\n7. Accessibility-friendly semantic HTML\n8. Performance-optimized CSS animations\n9. Mobile-first approach\n10. Clear information hierarchy and user flow\n\nThe design uses a professional color scheme with gradients and subtle animations to create an engaging experience while maintaining simplicity and usability." + } + ], + "stop_reason": "end_turn", + "stop_sequence": null, + "usage": { + "input_tokens": 285, + "cache_creation_input_tokens": 0, + "cache_read_input_tokens": 0, + "output_tokens": 3593 + } +} \ No newline at end of file diff --git a/readme.scroll b/readme.scroll new file mode 100644 index 0000000..b4b0cfc --- /dev/null +++ b/readme.scroll @@ -0,0 +1,2 @@ +# pitchchain.scroll.pub +Website generated by Claude from prompt: create a pitchdeck with AI + blockchain sns on telegram mini app \ No newline at end of file diff --git a/script.js b/script.js new file mode 100644 index 0000000..ac37340 --- /dev/null +++ b/script.js @@ -0,0 +1,63 @@ +document.addEventListener('DOMContentLoaded', () => { + // Smooth scroll for navigation links + document.querySelectorAll('a[href^="#"]').forEach(anchor => { + anchor.addEventListener('click', function (e) { + e.preventDefault(); + const target = document.querySelector(this.getAttribute('href')); + if (target) { + target.scrollIntoView({ + behavior: 'smooth', + block: 'start' + }); + } + }); + }); + + // Form submission handler + const form = document.getElementById('contact-form'); + if (form) { + form.addEventListener('submit', (e) => { + e.preventDefault(); + const email = form.querySelector('input[type="email"]').value; + + // Simulate form submission + const button = form.querySelector('button'); + const originalText = button.textContent; + button.textContent = 'Processing...'; + button.disabled = true; + + setTimeout(() => { + alert(`Thank you! We'll contact you at ${email} soon.`); + form.reset(); + button.textContent = originalText; + button.disabled = false; + }, 1500); + }); + } + + // Add scroll-based animations + const animateOnScroll = () => { + const elements = document.querySelectorAll('.feature-card, .step, .demo-container'); + + elements.forEach(element => { + const elementTop = element.getBoundingClientRect().top; + const elementBottom = element.getBoundingClientRect().bottom; + + if (elementTop < window.innerHeight && elementBottom > 0) { + element.style.opacity = '1'; + element.style.transform = 'translateY(0)'; + } + }); + }; + + // Initialize animations + document.querySelectorAll('.feature-card, .step, .demo-container').forEach(element => { + element.style.opacity = '0'; + element.style.transform = 'translateY(20px)'; + element.style.transition = 'opacity 0.6s ease, transform 0.6s ease'; + }); + + // Add scroll listener for animations + window.addEventListener('scroll', animateOnScroll); + animateOnScroll(); // Initial check +}); diff --git a/style.css b/style.css new file mode 100644 index 0000000..c449584 --- /dev/null +++ b/style.css @@ -0,0 +1,263 @@ +:root { + --primary-color: #6366f1; + --secondary-color: #818cf8; + --text-color: #1f2937; + --bg-color: #ffffff; + --accent-color: #4f46e5; +} + +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +body { + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; + color: var(--text-color); + line-height: 1.6; +} + +header { + position: fixed; + width: 100%; + background: rgba(255, 255, 255, 0.9); + backdrop-filter: blur(10px); + z-index: 1000; + box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); +} + +nav { + max-width: 1200px; + margin: 0 auto; + padding: 1rem 2rem; + display: flex; + justify-content: space-between; + align-items: center; +} + +.logo { + font-size: 1.5rem; + font-weight: 700; + background: linear-gradient(135deg, var(--primary-color), var(--secondary-color)); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; +} + +.nav-links a { + margin-left: 2rem; + text-decoration: none; + color: var(--text-color); + transition: color 0.3s ease; +} + +.nav-links a:hover { + color: var(--primary-color); +} + +.cta-button { + background: var(--primary-color); + color: white !important; + padding: 0.5rem 1rem; + border-radius: 0.5rem; + transition: background-color 0.3s ease; +} + +.cta-button:hover { + background: var(--accent-color); +} + +main { + padding-top: 4rem; +} + +.hero { + min-height: 90vh; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + text-align: center; + padding: 2rem; + background: linear-gradient(135deg, #f0f4ff, #e5e7ff); +} + +.hero h1 { + font-size: 3.5rem; + margin-bottom: 1.5rem; + background: linear-gradient(135deg, var(--primary-color), var(--secondary-color)); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; +} + +.hero p { + font-size: 1.25rem; + max-width: 600px; + margin-bottom: 2rem; +} + +.primary-button { + background: var(--primary-color); + color: white; + border: none; + padding: 1rem 2rem; + border-radius: 0.5rem; + font-size: 1.1rem; + cursor: pointer; + transition: transform 0.3s ease, background-color 0.3s ease; +} + +.primary-button:hover { + background: var(--accent-color); + transform: translateY(-2px); +} + +section { + padding: 5rem 2rem; +} + +.feature-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); + gap: 2rem; + max-width: 1200px; + margin: 0 auto; +} + +.feature-card { + background: white; + padding: 2rem; + border-radius: 1rem; + box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); + transition: transform 0.3s ease; +} + +.feature-card:hover { + transform: translateY(-5px); +} + +.icon { + font-size: 2.5rem; + margin-bottom: 1rem; +} + +h2 { + text-align: center; + font-size: 2.5rem; + margin-bottom: 3rem; + color: var(--primary-color); +} + +.steps { + display: flex; + justify-content: space-around; + max-width: 1200px; + margin: 0 auto; + flex-wrap: wrap; + gap: 2rem; +} + +.step { + text-align: center; + flex: 1; + min-width: 250px; +} + +.step-number { + width: 3rem; + height: 3rem; + background: var(--primary-color); + color: white; + border-radius: 50%; + display: flex; + align-items: center; + justify-content: center; + margin: 0 auto 1rem; + font-size: 1.5rem; + font-weight: bold; +} + +.demo-container { + max-width: 1200px; + margin: 0 auto; + aspect-ratio: 16/9; + background: #f1f5f9; + border-radius: 1rem; + overflow: hidden; +} + +.contact { + background: linear-gradient(135deg, #f0f4ff, #e5e7ff); + text-align: center; +} + +form { + max-width: 500px; + margin: 0 auto; + display: flex; + gap: 1rem; +} + +input[type="email"] { + flex: 1; + padding: 1rem; + border: 2px solid transparent; + border-radius: 0.5rem; + font-size: 1rem; + transition: border-color 0.3s ease; +} + +input[type="email"]:focus { + outline: none; + border-color: var(--primary-color); +} + +footer { + background: var(--text-color); + color: white; + padding: 2rem; +} + +.footer-content { + max-width: 1200px; + margin: 0 auto; + display: flex; + justify-content: space-between; + align-items: center; +} + +.footer-links a { + color: white; + text-decoration: none; + margin-left: 2rem; + opacity: 0.8; + transition: opacity 0.3s ease; +} + +.footer-links a:hover { + opacity: 1; +} + +@media (max-width: 768px) { + .nav-links { + display: none; + } + + .hero h1 { + font-size: 2.5rem; + } + + form { + flex-direction: column; + } + + .footer-content { + flex-direction: column; + gap: 1rem; + text-align: center; + } + + .footer-links a { + margin: 0 1rem; + } +}