commit aedaddaceb4f0b45171e0241526670cdbc6ea246
Author: root <root@hub.scroll.pub> Date: 2025-01-16 22:39:31 +0000 Subject: Initial commit diff --git a/index.scroll b/index.scroll new file mode 100644 index 0000000..b4fda03 --- /dev/null +++ b/index.scroll @@ -0,0 +1,108 @@ +buildHtml +baseUrl https://bballframe.scroll.pub +metaTags +editButton /edit.html +title BballFrame - Basketball Training Framework +style.css +header + class hero + nav + div BballFrame + class logo + div + class nav-links + a Training + href #training + a Drills + href #drills + a Progress + href #progress + a Start + class cta-button + href #start + div + class hero-content + h1 Master Your Basketball Game + p Develop pro-level skills with our structured training framework + a Start Training + class primary-button + href #start +main + section + id training + class training-grid + h2 Core Training Areas + div + class training-cards + div + class card + div 🏃 + class icon + h3 Agility + p Enhance your footwork and court movement + div + class card + div 🏀 + class icon + h3 Ball Handling + p Master dribbling and ball control + div + class card + div 🎯 + class icon + h3 Shooting + p Perfect your shooting form and accuracy + div + class card + div 💪 + class icon + h3 Strength + p Build basketball-specific strength + section + id drills + class drill-section + h2 Featured Drills + div + class drill-container + div + class drill-card + h3 Crossover Series + p Progressive drills for tight handles + div + class difficulty + span Advanced + div + class drill-card + h3 Shot Form Builder + p Perfect your shooting mechanics + div + class difficulty + span Intermediate + div + class drill-card + h3 Defensive Slides + p Master defensive positioning + div + class difficulty + span Beginner + section + id progress + class progress-tracker + h2 Track Your Progress + div + class tracker-container + canvas + id skillChart +footer + div + class footer-content + div + class footer-links + a Programs + href #programs + a Community + href #community + a Support + href #support + p Built by athletes, for athletes +script.js \ No newline at end of file diff --git a/prompt.json b/prompt.json new file mode 100644 index 0000000..f506625 --- /dev/null +++ b/prompt.json @@ -0,0 +1,20 @@ +{ + "id": "msg_01KPZiw9ovh1qeuyM2aRubCU", + "type": "message", + "role": "assistant", + "model": "claude-3-5-sonnet-20241022", + "content": [ + { + "type": "text", + "text": "Let me create a basketball-themed website using Scroll.\n\n---domain---\nbballframe.scroll.pub\n---index.scroll---\nbuildHtml\nbaseUrl https://bballframe.scroll.pub\nmetaTags\neditButton /edit.html\ntitle BballFrame - Basketball Training Framework\nstyle.css\nheader\n class hero\n nav\n div BballFrame\n class logo\n div\n class nav-links\n a Training\n href #training\n a Drills\n href #drills\n a Progress\n href #progress\n a Start\n class cta-button\n href #start\n div\n class hero-content\n h1 Master Your Basketball Game\n p Develop pro-level skills with our structured training framework\n a Start Training\n class primary-button\n href #start\nmain\n section\n id training\n class training-grid\n h2 Core Training Areas\n div\n class training-cards\n div\n class card\n div 🏃\n class icon\n h3 Agility\n p Enhance your footwork and court movement\n div\n class card\n div 🏀\n class icon\n h3 Ball Handling\n p Master dribbling and ball control\n div\n class card\n div 🎯\n class icon\n h3 Shooting\n p Perfect your shooting form and accuracy\n div\n class card\n div 💪\n class icon\n h3 Strength\n p Build basketball-specific strength\n section\n id drills\n class drill-section\n h2 Featured Drills\n div\n class drill-container\n div\n class drill-card\n h3 Crossover Series\n p Progressive drills for tight handles\n div\n class difficulty\n span Advanced\n div\n class drill-card\n h3 Shot Form Builder\n p Perfect your shooting mechanics\n div\n class difficulty\n span Intermediate\n div\n class drill-card\n h3 Defensive Slides\n p Master defensive positioning\n div\n class difficulty\n span Beginner\n section\n id progress\n class progress-tracker\n h2 Track Your Progress\n div\n class tracker-container\n canvas\n id skillChart\nfooter\n div\n class footer-content\n div\n class footer-links\n a Programs\n href #programs\n a Community\n href #community\n a Support\n href #support\n p Built by athletes, for athletes\nscript.js\n---style.css---\n:root {\n --primary: #FF6B00;\n --secondary: #2D3142;\n --accent: #4F5D75;\n --background: #FFFFFF;\n --text: #2D3142;\n}\n\n* {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n}\n\nbody {\n font-family: 'Inter', system-ui, sans-serif;\n line-height: 1.6;\n color: var(--text);\n background: var(--background);\n}\n\n.hero {\n background: linear-gradient(135deg, var(--secondary), var(--accent));\n color: white;\n padding: 2rem;\n min-height: 80vh;\n display: flex;\n flex-direction: column;\n}\n\nnav {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 1rem 0;\n}\n\n.logo {\n font-size: 1.5rem;\n font-weight: bold;\n background: linear-gradient(45deg, var(--primary), #FFA07A);\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n}\n\n.nav-links {\n display: flex;\n gap: 2rem;\n}\n\n.nav-links a {\n color: white;\n text-decoration: none;\n transition: color 0.3s ease;\n}\n\n.cta-button {\n background: var(--primary);\n padding: 0.5rem 1.5rem;\n border-radius: 25px;\n font-weight: 600;\n}\n\n.hero-content {\n flex: 1;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n text-align: center;\n gap: 2rem;\n}\n\nh1 {\n font-size: 3.5rem;\n line-height: 1.2;\n margin-bottom: 1rem;\n}\n\n.primary-button {\n background: var(--primary);\n color: white;\n padding: 1rem 2rem;\n border-radius: 30px;\n text-decoration: none;\n font-weight: 600;\n transition: transform 0.3s ease;\n}\n\n.primary-button:hover {\n transform: translateY(-2px);\n}\n\n.training-grid {\n padding: 5rem 2rem;\n}\n\n.training-cards {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));\n gap: 2rem;\n margin-top: 3rem;\n}\n\n.card {\n background: white;\n padding: 2rem;\n border-radius: 15px;\n box-shadow: 0 10px 30px rgba(0,0,0,0.1);\n transition: transform 0.3s ease;\n}\n\n.card:hover {\n transform: translateY(-5px);\n}\n\n.icon {\n font-size: 2rem;\n margin-bottom: 1rem;\n}\n\n.drill-section {\n background: #f8f9fa;\n padding: 5rem 2rem;\n}\n\n.drill-container {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));\n gap: 2rem;\n margin-top: 3rem;\n}\n\n.drill-card {\n background: white;\n padding: 2rem;\n border-radius: 15px;\n box-shadow: 0 5px 15px rgba(0,0,0,0.05);\n}\n\n.difficulty {\n margin-top: 1rem;\n padding: 0.5rem;\n border-radius: 20px;\n background: #e9ecef;\n display: inline-block;\n}\n\n@media (max-width: 768px) {\n .nav-links {\n display: none;\n }\n \n h1 {\n font-size: 2.5rem;\n }\n \n .training-cards {\n grid-template-columns: 1fr;\n }\n}\n---script.js---\ndocument.addEventListener('DOMContentLoaded', function() {\n // Initialize skill chart\n const ctx = document.getElementById('skillChart').getContext('2d');\n const skillChart = new Chart(ctx, {\n type: 'radar',\n data: {\n labels: ['Agility', 'Ball Handling', 'Shooting', 'Strength', 'Defense'],\n datasets: [{\n label: 'Your Skills',\n data: [65, 75, 70, 80, 60],\n backgroundColor: 'rgba(255, 107, 0, 0.2)',\n borderColor: 'rgba(255, 107, 0, 1)',\n pointBackgroundColor: 'rgba(255, 107, 0, 1)'\n }]\n },\n options: {\n scale: {\n ticks: {\n beginAtZero: true,\n max: 100\n }\n }\n }\n });\n\n // Smooth scroll for navigation\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 // Animation on scroll\n const observer = new IntersectionObserver((entries) => {\n entries.forEach(entry => {\n if (entry.isIntersecting) {\n entry.target.classList.add('fade-in');\n }\n });\n });\n\n document.querySelectorAll('.card, .drill-card').forEach((el) => observer.observe(el));\n});\n---end---\n\nThis creates a modern, responsive basketball training website with smooth animations, interactive elements, and a clean design. The color scheme uses orange as the primary color to represent basketball, with a professional dark secondary color palette. The site includes sections for training areas, drills, and progress tracking with a radar chart for skill visualization. The design is mobile-responsive and follows accessibility guidelines with semantic HTML and proper contrast ratios." + } + ], + "stop_reason": "end_turn", + "stop_sequence": null, + "usage": { + "input_tokens": 819, + "cache_creation_input_tokens": 0, + "cache_read_input_tokens": 0, + "output_tokens": 2208 + } +} \ No newline at end of file diff --git a/readme.scroll b/readme.scroll new file mode 100644 index 0000000..5820b2a --- /dev/null +++ b/readme.scroll @@ -0,0 +1,3 @@ +# bballframe.scroll.pub + +website generated by Claude from prompt: bballframe \ No newline at end of file diff --git a/script.js b/script.js new file mode 100644 index 0000000..113127d --- /dev/null +++ b/script.js @@ -0,0 +1,46 @@ +document.addEventListener('DOMContentLoaded', function() { + // Initialize skill chart + const ctx = document.getElementById('skillChart').getContext('2d'); + const skillChart = new Chart(ctx, { + type: 'radar', + data: { + labels: ['Agility', 'Ball Handling', 'Shooting', 'Strength', 'Defense'], + datasets: [{ + label: 'Your Skills', + data: [65, 75, 70, 80, 60], + backgroundColor: 'rgba(255, 107, 0, 0.2)', + borderColor: 'rgba(255, 107, 0, 1)', + pointBackgroundColor: 'rgba(255, 107, 0, 1)' + }] + }, + options: { + scale: { + ticks: { + beginAtZero: true, + max: 100 + } + } + } + }); + + // Smooth scroll for navigation + document.querySelectorAll('a[href^="#"]').forEach(anchor => { + anchor.addEventListener('click', function(e) { + e.preventDefault(); + document.querySelector(this.getAttribute('href')).scrollIntoView({ + behavior: 'smooth' + }); + }); + }); + + // Animation on scroll + const observer = new IntersectionObserver((entries) => { + entries.forEach(entry => { + if (entry.isIntersecting) { + entry.target.classList.add('fade-in'); + } + }); + }); + + document.querySelectorAll('.card, .drill-card').forEach((el) => observer.observe(el)); +}); \ No newline at end of file diff --git a/style.css b/style.css new file mode 100644 index 0000000..328aaa0 --- /dev/null +++ b/style.css @@ -0,0 +1,161 @@ +:root { + --primary: #FF6B00; + --secondary: #2D3142; + --accent: #4F5D75; + --background: #FFFFFF; + --text: #2D3142; +} + +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +body { + font-family: 'Inter', system-ui, sans-serif; + line-height: 1.6; + color: var(--text); + background: var(--background); +} + +.hero { + background: linear-gradient(135deg, var(--secondary), var(--accent)); + color: white; + padding: 2rem; + min-height: 80vh; + display: flex; + flex-direction: column; +} + +nav { + display: flex; + justify-content: space-between; + align-items: center; + padding: 1rem 0; +} + +.logo { + font-size: 1.5rem; + font-weight: bold; + background: linear-gradient(45deg, var(--primary), #FFA07A); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; +} + +.nav-links { + display: flex; + gap: 2rem; +} + +.nav-links a { + color: white; + text-decoration: none; + transition: color 0.3s ease; +} + +.cta-button { + background: var(--primary); + padding: 0.5rem 1.5rem; + border-radius: 25px; + font-weight: 600; +} + +.hero-content { + flex: 1; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + text-align: center; + gap: 2rem; +} + +h1 { + font-size: 3.5rem; + line-height: 1.2; + margin-bottom: 1rem; +} + +.primary-button { + background: var(--primary); + color: white; + padding: 1rem 2rem; + border-radius: 30px; + text-decoration: none; + font-weight: 600; + transition: transform 0.3s ease; +} + +.primary-button:hover { + transform: translateY(-2px); +} + +.training-grid { + padding: 5rem 2rem; +} + +.training-cards { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); + gap: 2rem; + margin-top: 3rem; +} + +.card { + background: white; + padding: 2rem; + border-radius: 15px; + box-shadow: 0 10px 30px rgba(0,0,0,0.1); + transition: transform 0.3s ease; +} + +.card:hover { + transform: translateY(-5px); +} + +.icon { + font-size: 2rem; + margin-bottom: 1rem; +} + +.drill-section { + background: #f8f9fa; + padding: 5rem 2rem; +} + +.drill-container { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); + gap: 2rem; + margin-top: 3rem; +} + +.drill-card { + background: white; + padding: 2rem; + border-radius: 15px; + box-shadow: 0 5px 15px rgba(0,0,0,0.05); +} + +.difficulty { + margin-top: 1rem; + padding: 0.5rem; + border-radius: 20px; + background: #e9ecef; + display: inline-block; +} + +@media (max-width: 768px) { + .nav-links { + display: none; + } + + h1 { + font-size: 2.5rem; + } + + .training-cards { + grid-template-columns: 1fr; + } +} \ No newline at end of file