commit bad9a00af6b496568a91c1af2f0f5599685868c0
Author: root <root@hub.scroll.pub> Date: 2024-12-27 07:37:09 +0000 Subject: Initial commit diff --git a/body.html b/body.html new file mode 100644 index 0000000..8995a68 --- /dev/null +++ b/body.html @@ -0,0 +1,88 @@ +<header> + <nav> + <div class="logo">JoinSpace</div> + <div class="nav-links"> + <a href="#features">Features</a> + <a href="#plans">Plans</a> + <a href="#apply">Apply</a> + </div> + </nav> +</header> + +<main> + <section class="hero"> + <h1>Your New Creative Workspace</h1> + <p>Join our thriving community of professionals, entrepreneurs, and creators.</p> + </section> + + <section id="features" class="features"> + <h2>Why Choose Us</h2> + <div class="feature-grid"> + <div class="feature-card"> + <span class="icon">🌐</span> + <h3>High-Speed Internet</h3> + <p>Gigabit fiber connection</p> + </div> + <div class="feature-card"> + <span class="icon">☕</span> + <h3>Free Coffee & Tea</h3> + <p>Premium beverages all day</p> + </div> + <div class="feature-card"> + <span class="icon">🤝</span> + <h3>Meeting Rooms</h3> + <p>Professional spaces to collaborate</p> + </div> + <div class="feature-card"> + <span class="icon">🎯</span> + <h3>24/7 Access</h3> + <p>Work on your schedule</p> + </div> + </div> + </section> + + <section id="apply" class="application"> + <h2>Apply Now</h2> + <form id="applicationForm" class="application-form"> + <div class="form-group"> + <label for="name">Full Name</label> + <input type="text" id="name" required> + </div> + <div class="form-group"> + <label for="email">Email Address</label> + <input type="email" id="email" required> + </div> + <div class="form-group"> + <label for="phone">Phone Number</label> + <input type="tel" id="phone" required> + </div> + <div class="form-group"> + <label for="membership">Preferred Membership</label> + <select id="membership" required> + <option value="">Select a plan</option> + <option value="hot-desk">Hot Desk</option> + <option value="dedicated">Dedicated Desk</option> + <option value="private">Private Office</option> + </select> + </div> + <div class="form-group"> + <label for="message">Tell us about yourself</label> + <textarea id="message" rows="4"></textarea> + </div> + <button type="submit">Submit Application</button> + </form> + </section> +</main> + +<footer> + <div class="footer-content"> + <div class="footer-info"> + <h4>Location</h4> + <p>123 Innovation Street<br>Tech City, TC 12345</p> + </div> + <div class="footer-info"> + <h4>Contact</h4> + <p>hello@joinspace.scroll.pub<br>+1 (555) 123-4567</p> + </div> + </div> +</footer> diff --git a/index.scroll b/index.scroll new file mode 100644 index 0000000..976d743 --- /dev/null +++ b/index.scroll @@ -0,0 +1,10 @@ +buildHtml +baseUrl https://joinspace.scroll.pub +metaTags + description "Apply to join our vibrant coworking community. Flexible workspace solutions for professionals." + keywords "coworking space, workspace application, office space, professional community" +editButton /edit.html +title Join Our Coworking Space +style.css +body.html +script.js diff --git a/readme.scroll b/readme.scroll new file mode 100644 index 0000000..9401f97 --- /dev/null +++ b/readme.scroll @@ -0,0 +1,2 @@ +# joinspace.scroll.pub +Website generated by Claude from prompt: I want a website that people who intend to join our coworking space can apply using. Be creative \ No newline at end of file diff --git a/script.js b/script.js new file mode 100644 index 0000000..1c83375 --- /dev/null +++ b/script.js @@ -0,0 +1,74 @@ +document.addEventListener('DOMContentLoaded', () => { + // Smooth scrolling for navigation links + document.querySelectorAll('a[href^="#"]').forEach(anchor => { + anchor.addEventListener('click', function (e) { + e.preventDefault(); + document.querySelector(this.getAttribute('href')).scrollIntoView({ + behavior: 'smooth' + }); + }); + }); + + // Form handling + const form = document.getElementById('applicationForm'); + + form.addEventListener('submit', (e) => { + e.preventDefault(); + + // Collect form data + const formData = { + name: document.getElementById('name').value, + email: document.getElementById('email').value, + phone: document.getElementById('phone').value, + membership: document.getElementById('membership').value, + message: document.getElementById('message').value + }; + + // Validate form data + if (!validateForm(formData)) { + return; + } + + // Show success message + alert('Thank you for your application! We will contact you soon.'); + form.reset(); + }); +}); + +function validateForm(data) { + // Basic email validation + const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; + if (!emailRegex.test(data.email)) { + alert('Please enter a valid email address'); + return false; + } + + // Basic phone validation + const phoneRegex = /^\+?[\d\s-]{10,}$/; + if (!phoneRegex.test(data.phone)) { + alert('Please enter a valid phone number'); + return false; + } + + return true; +} + +// Add smooth reveal animations on scroll +const observerOptions = { + threshold: 0.1 +}; + +const observer = new IntersectionObserver((entries) => { + entries.forEach(entry => { + if (entry.isIntersecting) { + entry.target.style.opacity = '1'; + entry.target.style.transform = 'translateY(0)'; + } + }); +}, observerOptions); + +document.querySelectorAll('.feature-card').forEach(card => { + card.style.opacity = '0'; + card.style.transform = 'translateY(20px)'; + observer.observe(card); +}); diff --git a/style.css b/style.css new file mode 100644 index 0000000..e5d878c --- /dev/null +++ b/style.css @@ -0,0 +1,190 @@ +:root { + --primary-color: #2a6fff; + --secondary-color: #f5f7ff; + --text-color: #333; + --spacing: 2rem; + --border-radius: 12px; +} + +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +body { + font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; + line-height: 1.6; + color: var(--text-color); +} + +/* Header & Navigation */ +header { + background: white; + box-shadow: 0 2px 10px rgba(0,0,0,0.1); + position: fixed; + width: 100%; + top: 0; + z-index: 100; +} + +nav { + max-width: 1200px; + margin: 0 auto; + padding: 1rem var(--spacing); + display: flex; + justify-content: space-between; + align-items: center; +} + +.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; +} + +.nav-links a:hover { + color: var(--primary-color); +} + +/* Hero Section */ +.hero { + height: 80vh; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + text-align: center; + background: linear-gradient(135deg, var(--secondary-color), white); + padding: var(--spacing); + margin-top: 60px; +} + +.hero h1 { + font-size: 3.5rem; + margin-bottom: 1rem; + background: linear-gradient(45deg, var(--primary-color), #7c4dff); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; +} + +/* Features Section */ +.features { + padding: var(--spacing); + background: white; +} + +.feature-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); + gap: var(--spacing); + margin-top: var(--spacing); +} + +.feature-card { + background: var(--secondary-color); + padding: var(--spacing); + border-radius: var(--border-radius); + text-align: center; + transition: transform 0.3s; +} + +.feature-card:hover { + transform: translateY(-5px); +} + +.icon { + font-size: 2.5rem; + margin-bottom: 1rem; +} + +/* Application Form */ +.application { + padding: var(--spacing); + background: var(--secondary-color); +} + +.application-form { + max-width: 600px; + margin: 2rem auto; + background: white; + padding: var(--spacing); + border-radius: var(--border-radius); + box-shadow: 0 4px 6px rgba(0,0,0,0.1); +} + +.form-group { + margin-bottom: 1.5rem; +} + +label { + display: block; + margin-bottom: 0.5rem; + font-weight: 500; +} + +input, select, textarea { + width: 100%; + padding: 0.8rem; + border: 2px solid #eee; + border-radius: var(--border-radius); + transition: border-color 0.3s; +} + +input:focus, select:focus, textarea:focus { + border-color: var(--primary-color); + outline: none; +} + +button { + background: var(--primary-color); + color: white; + padding: 1rem 2rem; + border: none; + border-radius: var(--border-radius); + cursor: pointer; + width: 100%; + font-size: 1.1rem; + transition: background-color 0.3s; +} + +button:hover { + background: #1a5ae0; +} + +/* Footer */ +footer { + background: var(--text-color); + color: white; + padding: var(--spacing); +} + +.footer-content { + max-width: 1200px; + margin: 0 auto; + display: grid; + grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); + gap: var(--spacing); +} + +/* Responsive Design */ +@media (max-width: 768px) { + .hero h1 { + font-size: 2.5rem; + } + + .nav-links { + display: none; + } + + .application-form { + padding: 1rem; + } +}