commit 53c12b82a1e7b0556d25984133d5810a8c249af4
Author: root <root@hub.scroll.pub> Date: 2024-12-28 00:34:10 +0000 Subject: Initial commit diff --git a/body.html b/body.html new file mode 100644 index 0000000..08f318c --- /dev/null +++ b/body.html @@ -0,0 +1,81 @@ +<header> + <nav> + <div class="logo">RandomBox</div> + <div class="nav-links"> + <a href="#home">Home</a> + <a href="#products">Products</a> + <a href="#subscription">Subscribe</a> + <a href="#about">About</a> + </div> + <button class="mobile-menu" aria-label="Toggle menu">☰</button> + </nav> +</header> + +<main> + <section id="hero"> + <h1>Every Box is an Adventure</h1> + <p>Experience the thrill of mystery shopping</p> + <button class="cta-button">Get Your Box</button> + </section> + + <section id="products"> + <h2>Today's Mystery Items</h2> + <div class="product-grid"> + <div class="product-card"> + <div class="mystery-box">?</div> + <h3>Basic Box</h3> + <p>A surprise item worth $25-50</p> + <button class="buy-button">$29.99</button> + </div> + <div class="product-card"> + <div class="mystery-box">??</div> + <h3>Premium Box</h3> + <p>Two surprise items worth $75-100</p> + <button class="buy-button">$59.99</button> + </div> + <div class="product-card"> + <div class="mystery-box">???</div> + <h3>Deluxe Box</h3> + <p>Three premium surprises worth $150+</p> + <button class="buy-button">$99.99</button> + </div> + </div> + </section> + + <section id="features"> + <h2>Why Choose RandomBox?</h2> + <div class="features-grid"> + <div class="feature"> + <div class="feature-icon">🎁</div> + <h3>Curated Surprises</h3> + <p>Hand-picked items you'll love</p> + </div> + <div class="feature"> + <div class="feature-icon">🚚</div> + <h3>Fast Delivery</h3> + <p>Free shipping worldwide</p> + </div> + <div class="feature"> + <div class="feature-icon">💝</div> + <h3>Satisfaction Guaranteed</h3> + <p>Love it or return it</p> + </div> + </div> + </section> +</main> + +<footer> + <div class="footer-content"> + <div class="footer-section"> + <h4>Contact Us</h4> + <p>support@randombox.scroll.pub</p> + </div> + <div class="footer-section"> + <h4>Follow Us</h4> + <div class="social-links"> + <a href="#" aria-label="Twitter">Twitter</a> + <a href="#" aria-label="Instagram">Instagram</a> + </div> + </div> + </div> +</footer> diff --git a/index.scroll b/index.scroll new file mode 100644 index 0000000..0b10784 --- /dev/null +++ b/index.scroll @@ -0,0 +1,13 @@ +buildHtml +baseUrl https://randombox.scroll.pub +metaTags + description "Discover the joy of surprise shopping! RandomBox delivers exciting mystery items right to your door." + keywords "random items, mystery box, surprise shopping, unique gifts, monthly subscription" + author "RandomBox" + ogTitle "RandomBox - Your Daily Dose of Surprise Shopping" + ogDescription "Get excited with RandomBox - where every purchase is an adventure!" +editButton /edit.html +title RandomBox - Surprise Shopping Made Fun +style.css +body.html +script.js diff --git a/prompt.json b/prompt.json new file mode 100644 index 0000000..9543ffd --- /dev/null +++ b/prompt.json @@ -0,0 +1,20 @@ +{ + "id": "msg_01KiUa9xzXtHkgN75D7jtEGa", + "type": "message", + "role": "assistant", + "model": "claude-3-5-sonnet-20241022", + "content": [ + { + "type": "text", + "text": "Let me create a fun and quirky SaaS platform that sells random items called \"RandomBox\" - an online store where users never know what they'll get!\n\n---domain---\nrandombox.scroll.pub\n\n---index.scroll---\nbuildHtml\nbaseUrl https://randombox.scroll.pub\nmetaTags\n description \"Discover the joy of surprise shopping! RandomBox delivers exciting mystery items right to your door.\"\n keywords \"random items, mystery box, surprise shopping, unique gifts, monthly subscription\"\n author \"RandomBox\"\n ogTitle \"RandomBox - Your Daily Dose of Surprise Shopping\"\n ogDescription \"Get excited with RandomBox - where every purchase is an adventure!\"\neditButton /edit.html\ntitle RandomBox - Surprise Shopping Made Fun\nstyle.css\nbody.html\nscript.js\n\n---body.html---\n<header>\n <nav>\n <div class=\"logo\">RandomBox</div>\n <div class=\"nav-links\">\n <a href=\"#home\">Home</a>\n <a href=\"#products\">Products</a>\n <a href=\"#subscription\">Subscribe</a>\n <a href=\"#about\">About</a>\n </div>\n <button class=\"mobile-menu\" aria-label=\"Toggle menu\">☰</button>\n </nav>\n</header>\n\n<main>\n <section id=\"hero\">\n <h1>Every Box is an Adventure</h1>\n <p>Experience the thrill of mystery shopping</p>\n <button class=\"cta-button\">Get Your Box</button>\n </section>\n\n <section id=\"products\">\n <h2>Today's Mystery Items</h2>\n <div class=\"product-grid\">\n <div class=\"product-card\">\n <div class=\"mystery-box\">?</div>\n <h3>Basic Box</h3>\n <p>A surprise item worth $25-50</p>\n <button class=\"buy-button\">$29.99</button>\n </div>\n <div class=\"product-card\">\n <div class=\"mystery-box\">??</div>\n <h3>Premium Box</h3>\n <p>Two surprise items worth $75-100</p>\n <button class=\"buy-button\">$59.99</button>\n </div>\n <div class=\"product-card\">\n <div class=\"mystery-box\">???</div>\n <h3>Deluxe Box</h3>\n <p>Three premium surprises worth $150+</p>\n <button class=\"buy-button\">$99.99</button>\n </div>\n </div>\n </section>\n\n <section id=\"features\">\n <h2>Why Choose RandomBox?</h2>\n <div class=\"features-grid\">\n <div class=\"feature\">\n <div class=\"feature-icon\">🎁</div>\n <h3>Curated Surprises</h3>\n <p>Hand-picked items you'll love</p>\n </div>\n <div class=\"feature\">\n <div class=\"feature-icon\">🚚</div>\n <h3>Fast Delivery</h3>\n <p>Free shipping worldwide</p>\n </div>\n <div class=\"feature\">\n <div class=\"feature-icon\">💝</div>\n <h3>Satisfaction Guaranteed</h3>\n <p>Love it or return it</p>\n </div>\n </div>\n </section>\n</main>\n\n<footer>\n <div class=\"footer-content\">\n <div class=\"footer-section\">\n <h4>Contact Us</h4>\n <p>support@randombox.scroll.pub</p>\n </div>\n <div class=\"footer-section\">\n <h4>Follow Us</h4>\n <div class=\"social-links\">\n <a href=\"#\" aria-label=\"Twitter\">Twitter</a>\n <a href=\"#\" aria-label=\"Instagram\">Instagram</a>\n </div>\n </div>\n </div>\n</footer>\n\n---style.css---\n:root {\n --primary-color: #6c63ff;\n --secondary-color: #4CAF50;\n --text-color: #333;\n --background-color: #f9f9f9;\n --card-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);\n}\n\n* {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n}\n\nbody {\n font-family: 'Segoe UI', system-ui, sans-serif;\n line-height: 1.6;\n color: var(--text-color);\n background-color: var(--background-color);\n}\n\nnav {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 1rem 5%;\n background: white;\n box-shadow: var(--card-shadow);\n position: fixed;\n width: 100%;\n z-index: 1000;\n}\n\n.logo {\n font-size: 1.5rem;\n font-weight: bold;\n color: var(--primary-color);\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.mobile-menu {\n display: none;\n}\n\n#hero {\n height: 100vh;\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, #6c63ff0d 0%, #4CAF5010 100%);\n}\n\nh1 {\n font-size: 3.5rem;\n margin-bottom: 1rem;\n background: linear-gradient(45deg, var(--primary-color), var(--secondary-color));\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n}\n\n.cta-button {\n padding: 1rem 2rem;\n font-size: 1.2rem;\n background: var(--primary-color);\n color: white;\n border: none;\n border-radius: 50px;\n cursor: pointer;\n transition: transform 0.3s ease;\n}\n\n.cta-button:hover {\n transform: translateY(-2px);\n}\n\n.product-grid {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));\n gap: 2rem;\n padding: 2rem 5%;\n}\n\n.product-card {\n background: white;\n padding: 2rem;\n border-radius: 15px;\n text-align: center;\n box-shadow: var(--card-shadow);\n transition: transform 0.3s ease;\n}\n\n.product-card:hover {\n transform: translateY(-5px);\n}\n\n.mystery-box {\n width: 100px;\n height: 100px;\n margin: 0 auto 1rem;\n background: var(--primary-color);\n color: white;\n font-size: 2rem;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 15px;\n animation: float 3s ease-in-out infinite;\n}\n\n@keyframes float {\n 0%, 100% { transform: translateY(0); }\n 50% { transform: translateY(-10px); }\n}\n\n.features-grid {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n gap: 2rem;\n padding: 2rem 5%;\n}\n\n.feature {\n text-align: center;\n padding: 2rem;\n}\n\n.feature-icon {\n font-size: 3rem;\n margin-bottom: 1rem;\n}\n\nfooter {\n background: white;\n padding: 2rem 5%;\n margin-top: 4rem;\n}\n\n.footer-content {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n gap: 2rem;\n}\n\n@media (max-width: 768px) {\n .nav-links {\n display: none;\n }\n\n .mobile-menu {\n display: block;\n }\n\n h1 {\n font-size: 2.5rem;\n }\n\n .product-grid {\n grid-template-columns: 1fr;\n }\n}\n\n---script.js---\ndocument.addEventListener('DOMContentLoaded', () => {\n // Mobile menu toggle\n const mobileMenu = document.querySelector('.mobile-menu');\n const navLinks = document.querySelector('.nav-links');\n\n mobileMenu.addEventListener('click', () => {\n navLinks.style.display = navLinks.style.display === 'flex' ? 'none' : 'flex';\n });\n\n // Smooth scroll for navigation links\n document.querySelectorAll('a[href^=\"#\"]').forEach(anchor => {\n anchor.addEventListener('click', function (e) {\n e.preventDefault();\n document.querySelector(this.getAttribute('href')).scrollIntoView({\n behavior: 'smooth'\n });\n });\n });\n\n // Add to cart animation\n const buyButtons = document.querySelectorAll('.buy-button');\n buyButtons.forEach(button => {\n button.addEventListener('click', () => {\n button.innerHTML = '✓ Added!';\n button.style.background = 'var(--secondary-color)';\n setTimeout(() => {\n button.innerHTML = button.dataset.price || '$29.99';\n button.style.background = '';\n }, 2000);\n });\n });\n\n // Intersection Observer for fade-in animations\n const observer = new IntersectionObserver((entries) => {\n entries.forEach(entry => {\n if (entry.isIntersecting) {\n entry.target.classList.add('visible');\n }\n });\n });\n\n document.querySelectorAll('.product-card, .feature').forEach((el) => observer.observe(el));\n});\n\n---end---" + } + ], + "stop_reason": "end_turn", + "stop_sequence": null, + "usage": { + "input_tokens": 278, + "cache_creation_input_tokens": 0, + "cache_read_input_tokens": 0, + "output_tokens": 2626 + } +} \ No newline at end of file diff --git a/readme.scroll b/readme.scroll new file mode 100644 index 0000000..786e41b --- /dev/null +++ b/readme.scroll @@ -0,0 +1,2 @@ +# randombox.scroll.pub +Website generated by Claude from prompt: Create a saas that sells random items \ No newline at end of file diff --git a/script.js b/script.js new file mode 100644 index 0000000..be3dff1 --- /dev/null +++ b/script.js @@ -0,0 +1,43 @@ +document.addEventListener('DOMContentLoaded', () => { + // Mobile menu toggle + const mobileMenu = document.querySelector('.mobile-menu'); + const navLinks = document.querySelector('.nav-links'); + + mobileMenu.addEventListener('click', () => { + navLinks.style.display = navLinks.style.display === 'flex' ? 'none' : 'flex'; + }); + + // Smooth scroll for navigation links + document.querySelectorAll('a[href^="#"]').forEach(anchor => { + anchor.addEventListener('click', function (e) { + e.preventDefault(); + document.querySelector(this.getAttribute('href')).scrollIntoView({ + behavior: 'smooth' + }); + }); + }); + + // Add to cart animation + const buyButtons = document.querySelectorAll('.buy-button'); + buyButtons.forEach(button => { + button.addEventListener('click', () => { + button.innerHTML = '✓ Added!'; + button.style.background = 'var(--secondary-color)'; + setTimeout(() => { + button.innerHTML = button.dataset.price || '$29.99'; + button.style.background = ''; + }, 2000); + }); + }); + + // Intersection Observer for fade-in animations + const observer = new IntersectionObserver((entries) => { + entries.forEach(entry => { + if (entry.isIntersecting) { + entry.target.classList.add('visible'); + } + }); + }); + + document.querySelectorAll('.product-card, .feature').forEach((el) => observer.observe(el)); +}); diff --git a/style.css b/style.css new file mode 100644 index 0000000..efed0ff --- /dev/null +++ b/style.css @@ -0,0 +1,173 @@ +:root { + --primary-color: #6c63ff; + --secondary-color: #4CAF50; + --text-color: #333; + --background-color: #f9f9f9; + --card-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); +} + +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +body { + font-family: 'Segoe UI', system-ui, sans-serif; + line-height: 1.6; + color: var(--text-color); + background-color: var(--background-color); +} + +nav { + display: flex; + justify-content: space-between; + align-items: center; + padding: 1rem 5%; + background: white; + box-shadow: var(--card-shadow); + position: fixed; + width: 100%; + z-index: 1000; +} + +.logo { + font-size: 1.5rem; + font-weight: bold; + color: var(--primary-color); +} + +.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); +} + +.mobile-menu { + display: none; +} + +#hero { + height: 100vh; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + text-align: center; + padding: 2rem; + background: linear-gradient(135deg, #6c63ff0d 0%, #4CAF5010 100%); +} + +h1 { + font-size: 3.5rem; + margin-bottom: 1rem; + background: linear-gradient(45deg, var(--primary-color), var(--secondary-color)); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; +} + +.cta-button { + padding: 1rem 2rem; + font-size: 1.2rem; + background: var(--primary-color); + color: white; + border: none; + border-radius: 50px; + cursor: pointer; + transition: transform 0.3s ease; +} + +.cta-button:hover { + transform: translateY(-2px); +} + +.product-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); + gap: 2rem; + padding: 2rem 5%; +} + +.product-card { + background: white; + padding: 2rem; + border-radius: 15px; + text-align: center; + box-shadow: var(--card-shadow); + transition: transform 0.3s ease; +} + +.product-card:hover { + transform: translateY(-5px); +} + +.mystery-box { + width: 100px; + height: 100px; + margin: 0 auto 1rem; + background: var(--primary-color); + color: white; + font-size: 2rem; + display: flex; + align-items: center; + justify-content: center; + border-radius: 15px; + animation: float 3s ease-in-out infinite; +} + +@keyframes float { + 0%, 100% { transform: translateY(0); } + 50% { transform: translateY(-10px); } +} + +.features-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); + gap: 2rem; + padding: 2rem 5%; +} + +.feature { + text-align: center; + padding: 2rem; +} + +.feature-icon { + font-size: 3rem; + margin-bottom: 1rem; +} + +footer { + background: white; + padding: 2rem 5%; + margin-top: 4rem; +} + +.footer-content { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); + gap: 2rem; +} + +@media (max-width: 768px) { + .nav-links { + display: none; + } + + .mobile-menu { + display: block; + } + + h1 { + font-size: 2.5rem; + } + + .product-grid { + grid-template-columns: 1fr; + } +}