Files
UIGEN-FX-4B-STG-Modal-08-28/inference_samples/step_200/steves_tech_repair.txt
ModelHub XC c399453fa4 初始化项目,由ModelHub XC社区提供模型
Model: smirki/UIGEN-FX-4B-STG-Modal-08-28
Source: Original Platform
2026-05-26 22:11:12 +08:00

644 lines
25 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Prompt: Make a website for steve's tech repair shop.
Generated at step: 200
Timestamp: 2025-08-28T09:36:12.779754
============================================================
Heres a complete, responsive HTML/CSS/JS starter kit for **Steve's Tech Repair Shop** with sections for hero, services, reviews, pricing, contact, and footer.
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>Steve's Tech Repair | Fast, Honest, Affordable</title>
<link href="https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;600;700&display=swap" rel="stylesheet"/>
<style>
:root {
--primary: #e57373;
--dark: #1a1a1a;
--light: #f9f9fb;
--accent: #3d5afe;
--gray: #6b7280;
--success: #10b981;
--danger: #ef4444;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: 'Poppins', sans-serif; background-color: var(--light); color: var(--dark); line-height: 1.6; }
.btn {
display: inline-block;
background: linear-gradient(135deg, var(--primary) 0%, #c62828 100%);
color: white;
padding: 12px 24px;
border-radius: 999px;
text-decoration: none;
font-weight: 600;
transition: transform 0.2s ease, box-shadow 0.2s ease;
border: none;
cursor: pointer;
box-shadow: 0 4px 12px rgba(229, 115, 115, 0.3);
}
.btn:hover { transform: translateY(-2px); }
/* Header & Navigation */
header {
position: fixed;
top: 0; left: 0; right: 0;
z-index: 1000;
background: rgba(255, 255, 255, 0.95);
backdrop-filter: blur(10px);
border-bottom: 1px solid rgba(0,0,0,0.08);
box-shadow: 0 2px 10px rgba(0,0,0,0.08);
transition: background 0.3s ease, boxShadow 0.3s ease;
}
header.scrolled { background: rgba(255,255,255,0.98); }
nav {
display: flex;
align-items: center;
justify-content: space-between;
padding: 1rem 5%;
max-width: 1200px;
margin: auto;
}
.logo { font-size: 1.8rem; font-weight: 700; letter-spacing: -0.02em; }
.nav-links {
display: flex;
gap: 2rem;
align-items: center;
}
.nav-link { color: var(--dark); font-weight: 500; text-decoration: none; position: relative; }
.nav-link::after { content: ''; height: 2px; width: 0; bottom: -3px; left: 0; position: absolute; background: var(--primary); transition: width 0.3s ease; }
.nav-link:hover::after { width: 100%; }
.mobile-toggle { display: none; background: none; border: none; font-size: 1.5rem; cursor: pointer; color: var(--dark); }
/* Hero Section */
.hero {
min-height: 100vh;
background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMubGVydC9hcmNoLXJlcG9ydC1vcGFjaXR5Ij48Y2lyY2xlIGN4PSIxMDAiIGN5PSIxMDAiIHIgPSIxMDAiIHdpZHRoPSIxMDAiIGZpbGwtcnVsZT0ibm9uZSIgc3Ryb2tlLWxpbmVqb2luPSIjMzQ1YWYiLz48L3N2Zz4=');
background-size: cover;
background-position: center center;
position: relative;
overflow: hidden;
display: grid;
place-items: center;
}
.hero::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 30% 30%, rgba(229,115,115,0.2), transparent 60%), radial-gradient(circle at 70% 70%, rgba(61,90,254,0.15), transparent 60%); mix-blend-mode: screen; z-index: 0; }
.hero-text { position: relative; z-index: 1; max-width: 800px; text-align: left; }
.hero h1 { font-size: clamp(2.2rem, 4vw, 4rem); font-weight: 700; line-height: 1.1; margin-bottom: 1rem; color: #fff; }
.hero p { font-size: clamp(1rem, 2vw, 1.1rem); color: #fff; opacity: 0.9; margin-bottom: 2rem; }
.hero-buttons { display: flex; gap: 1rem; flex-wrap: wrap; }
.btn-outline { background: transparent; color: white; border: 1px solid rgba(255,255,255,0.2); }
/* Services Grid */
.services-grid {
padding: 6rem 5%;
max-width: 1200px;
margin: auto;
display: grid;
grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
gap: 2rem;
}
.service-card {
background: white;
border-radius: 14px;
overflow: hidden;
box-shadow: 0 10px 20px rgba(0,0,0,0.08);
transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.service-card:hover { transform: translateY(-8px); box-shadow: 0 15px 28px rgba(0,0,0,0.12); }
.service-img { height: 200px; background: linear-gradient(135deg, #eee 0%, #ddd 100%); display: flex; align-items: center; justify-content: center; }
.service-content {
padding: 1.5rem;
border-top: 1px solid rgba(0,0,0,0.05);
}
.service-icon { font-size: 2.5rem; color: var(--accent); }
.service-content h3 { margin-bottom: 0.75rem; font-weight: 700; }
.service-content p { color: var(--gray); margin-bottom: 1.25rem; }
.service-price { font-size: 1.2rem; font-weight: 700; color: var(--primary); }
.service-btn { display: block; width: 100%; margin-top: 0.75rem; }
/* Reviews */
.reviews {
padding: 6rem 5%;
background: linear-gradient(135deg, #fafafa 0%, #f3f4f6 100%);
}
.review-grid {
max-width: 1200px;
margin: auto;
display: grid;
grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
gap: 2rem;
}
.review-card {
background: white;
border-radius: 14px;
overflow: hidden;
box-shadow: 0 10px 20px rgba(0,0,0,0.08);
}
.review-header {
display: flex;
align-items: center;
gap: 1rem;
padding: 1.5rem;
border-bottom: 1px solid rgba(0,0,0,0.05);
}
.reviewer-avatar { width: 60px; height: 60px; border-radius: 999px; object-fit: cover; }
.reviewer-info {
display: flex;
flex-direction: column;
justify-content: center;
}
.reviewer-name { font-weight: 700; }
.reviewer-role { font-size: 0.9rem; color: var(--gray); }
.review-quote {
padding: 1.5rem;
border-left: 4px solid var(--accent);
color: var(--gray);
font-style: italic;
}
/* Pricing Table */
.pricing {
padding: 6rem 5%;
max-width: 1200px;
margin: auto;
text-align: center;
}
.pricing-tabs {
display: flex;
justify-content: center;
gap: 1rem;
flex-wrap: wrap;
margin-bottom: 3rem;
}
.tab-button {
background: white;
border: 2px solid #ccc;
padding: 12px 18px;
border-radius: 999px;
cursor: pointer;
font-weight: 600;
transition: all 0.2s ease;
}
.tab-button.active { background: var(--primary); color: white; border-color: var(--primary); }
.tab-content {
display: none;
animation: fadeIn 0.5s ease-out;
}
.tab-content.active { display: block; }
.plan-card {
background: white;
border-radius: 14px;
overflow: hidden;
box-shadow: 0 10px 20px rgba(0,0,0,0.08);
transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.plan-card:hover { transform: translateY(-8px); box-shadow: 0 15px 28px rgba(0,0,0,0.12); }
.plan-header {
padding: 1.5rem;
border-bottom: 1px solid rgba(0,0,0,0.05);
}
.plan-title { font-weight: 700; margin-bottom: 0.75rem; }
.plan-price { font-size: 2.2rem; font-weight: 700; color: var(--primary); }
.plan-period { font-size: 1rem; color: var(--gray); }
.features-list { list-style-type: none; padding: 0; margin: 1.25rem 0; }
.feature-item { display: flex; align-items: start; gap: 12px; margin-bottom: 12px; }
.feature-check { width: 16px; height: 16px; border-radius: 999px; background: #eee; display: flex; align-items: center; justify-content: center; }
.feature-check::before { content: "✓"; color: var(--primary); font-size: 14px; }
.feature-text { color: var(--dark); }
.cta-button { display: block; margin: 1.25rem auto; }
/* Contact Section */
.contact {
padding: 6rem 5%;
background: linear-gradient(135deg, #f3f4f6 0%, #fafafa 100%);
}
.contact-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
gap: 3rem;
max-width: 1200px;
margin: auto;
}
.contact-info {
display: grid;
gap: 1.5rem;
}
.info-item {
display: flex;
align-items: start;
gap: 1rem;
}
.info-icon { width: 40px; height: 40px; background: linear-gradient(135deg, var(--accent) 0%, #2563eb 100%); border-radius: 999px; display: flex; align-items: center; justify-content: center; }
.info-text { color: var(--dark); }
.map-container {
height: 300px;
border-radius: 14px;
overflow: hidden;
background: #eaeaea;
position: relative;
}
.map-placeholder { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(255,255,255,0.9); }
.form-group {
margin-bottom: 1.5rem;
}
.form-label { display: block; margin-bottom: 0.5rem; color: var(--dark); }
input[type="text"], input[type="email"], textarea { width: 100%; padding: 12px 14px; border: 1px solid #ccc; border-radius: 999px; outline: none; transition: border 0.2s ease; }
input:focus, textarea:focus { border-color: var(--accent); }
textarea { resize: vertical; min-height: 120px; }
.submit-btn { width: 100%; padding: 14px; background: linear-gradient(135deg, var(--primary) 0%, #c62828 100%); color: white; border: none; border-radius: 999px; cursor: pointer; font-weight: 600; box-shadow: 0 4px 12px rgba(229,115,115,0.3); transition: transform 0.2s ease; }
.submit-btn:hover { transform: translateY(-2px); }
/* Footer */
footer {
background: #1a1a1a;
color: white;
padding: 3rem 5%;
border-top: 1px solid rgba(255,255,255,0.08);
}
.footer-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
gap: 2rem;
max-width: 1200px;
margin: auto;
}
.footer-column h4 { margin-bottom: 1rem; font-size: 1.1rem; }
.footer-links li { margin-bottom: 0.75rem; }
.footer-links a { color: #ccc; text-decoration: none; transition: color 0.2s ease; }
.footer-links a:hover { color: #ffffff; }
.social-icons { display: flex; gap: 1rem; margin-top: 1rem; }
.social-icon { width: 40px; height: 40px; border-radius: 999px; background: rgba(255,255,255,0.1); display: flex; align-items: center; justify-content: center; transition: transform 0.2s ease; }
.social-icon:hover { transform: translateY(-3px); }
.copyright { text-align: center; margin-top: 2rem; color: #aaa; font-size: 0.9rem; }
@media (max-width: 900px) {
.nav-links { flex-direction: row; justify-content: space-between; gap: 1rem; }
.hero-buttons { flex-wrap: wrap; gap: 1rem; }
}
@keyframes fadeIn {
from { opacity: 0; transform: translateY(10px); }
to { opacity: 1; transform: translateY(0); }
}
</style>
</head>
<body>
<header id="header">
<nav class="container">
<div class="logo">Steves Tech</div>
<ul class="nav-links">
<li><a href="#home" class="nav-link active">Home</a></li>
<li><a href="#services" class="nav-link">Services</a></li>
<li><a href="#reviews" class="nav-link">Reviews</a></li>
<li><a href="#pricing" class="nav-link">Pricing</a></li>
<li><a href="#contact" class="nav-link">Contact</a></li>
<li><button class="mobile-toggle">☰</button></li>
</ul>
</nav>
</header>
<section id="home" class="hero" style="background: url('https://images.unsplash.com/photo-1503442212587-b8c01070428f?auto=format&fit=crop&w=1920&q=80') no-repeat center center / cover;">
<div class="hero-text">
<h1>Fast, Honest, Affordable Tech Repair</h1>
<p>We fix phones, tablets, laptops, and smart devices — same day service, honest pricing, and no hidden fees.</p>
<div class="hero-buttons">
<a href="#contact" class="btn">Get Your Free Quote</a>
<a href="#services" class="btn btn-outline">Explore Services</a>
</div>
</div>
</section>
<main>
<section id="services" class="services-grid container">
<article class="service-card">
<div class="service-img">
<span class="service-icon">📱</span>
</div>
<div class="service-content">
<h3>Phone & Tablet Repairs</h3>
<p>Battery replacements, screen repairs, charging issues, water damage, and more.</p>
<div class="service-price">$39$99</div>
<a href="#contact" class="service-btn">Request Service</a>
</div>
</article>
<article class="service-card">
<div class="service-img">
<span class="service-icon">💻</span>
</div>
<div class="service-content">
<h3>Laptop & PC Repairs</h3>
<p>Disk drives, RAM upgrades, SSD replacements, Wi-Fi fixes, and cooling solutions.</p>
<div class="service-price">$59$149</div>
<a href="#contact" class="service-btn">Request Service</a>
</div>
</article>
<article class="service-card">
<div class="service-img">
<span class="service-icon">🔋</span>
</div>
<div class="service-content">
<h3>Batteries & Charging</h3>
<p>Battery replacements, fast chargers, cable repairs, and power management advice.</p>
<div class="service-price">$29$79</div>
<a href="#contact" class="service-btn">Request Service</a>
</div>
</article>
<article class="service-card">
<div class="service-img">
<span class="service-icon">🎧</span>
</div>
<div class="service-content">
<h3>AirPods & Accessories</h3>
<p>Cases, charging docks, earbud replacements, and audio troubleshooting.</p>
<div class="service-price">$19$49</div>
<a href="#contact" class="service-btn">Request Service</a>
</div>
</article>
</section>
<section id="reviews" class="reviews container">
<h2 style="text-align: center; margin-bottom: 3rem;">Trusted by Thousands</h2>
<div class="review-grid">
<article class="review-card">
<div class="review-header">
<img src="https://randomuser.me/api/portraits/women/32.jpg" alt="Sarah M." class="reviewer-avatar"/>
<div class="reviewer-info">
<div class="reviewer-name">Sarah M.</div>
<div class="reviewer-role">iPhone User</div>
</div>
</div>
<div class="review-quote">
“Got my cracked iPhone screen replaced in under an hour. Steve was professional, explained everything, and even gave me tips on protecting my device. Ill definitely use them again!”
</div>
</article>
<article class="review-card">
<div class="review-header">
<img src="https://randomuser.me/api/portraits/men/18.jpg" alt="James T." class="reviewer-avatar"/>
<div class="reviewer-info">
<div class="reviewer-name">James T.</div>
<div class="reviewer-role">MacBook User</div>
</div>
</div>
<div class="review-quote">
“My MacBook had a failing SSD. They diagnosed the issue quickly and replaced it seamlessly. The new drive is lightning-fast — Ive been using it for months without any issues.”
</div>
</article>
<article class="review-card">
<div class="review-header">
<img src="https://randomuser.me/api/portraits/women/64.jpg" alt="Maya R." class="reviewer-avatar"/>
<div class="reviewer-info">
<div class="reviewer-name">Maya R.</div>
<div class="reviewer-role">Tablet Enthusiast</div>
</div>
</div>
<div class="review-quote">
“Best price I found online! Fixed my tablets battery drain and charging issues completely. Steve was patient and thorough. Will recommend to everyone.”
</div>
</article>
</div>
</section>
<section id="pricing" class="pricing container">
<h2 style="text-align: center; margin-bottom: 2rem;">Transparent Pricing</h2>
<div class="pricing-tabs">
<button class="tab-button active" data-tab="plans">Plans</button>
<button class="tab-button" data-tab="services">Services</button>
</div>
<div class="tab-content active" id="plans">
<div class="plan-card">
<div class="plan-header">
<h3 class="plan-title">Basic Care</h3>
<div class="plan-price">$9.99</div>
<div class="plan-period">per month</div>
</div>
<ul class="features-list">
<li class="feature-item"><span class="feature-check"></span> <span class="feature-text">Free diagnostics</span></li>
<li class="feature-item"><span class="feature-check"></span> <span class="feature-text">Screen replacement (up to $30)</span></li>
<li class="feature-item"><span class="feature-check"></span> <span class="feature-text">Battery health check</span></li>
<li class="feature-item"><span class="feature-check"></span> <span class="feature-text">Free cleaning & maintenance</span></li>
</ul>
<a href="#contact" class="cta-button btn">Start Basic Care</a>
</div>
<div class="plan-card">
<div class="plan-header">
<h3 class="plan-title">Premium Support</h3>
<div class="plan-price">$29.99</div>
<div class="plan-period">per month</div>
</div>
<ul class="features-list">
<li class="feature-item"><span class="feature-check"></span> <span class="feature-text">All basic care benefits</span></li>
<li class="feature-item"><span class="feature-check"></span> <span class="feature-text">Next-day screen repairs</span></li>
<li class="feature-item"><span class="feature-check"></span> <span class="feature-text">Priority scheduling</span></li>
<li class="feature-item"><span class="feature-check"></span> <span class="feature-text">Annual hardware inspection</span></li>
</ul>
<a href="#contact" class="cta-button btn">Join Premium</a>
</div>
</div>
<div class="tab-content" id="services">
<div class="plan-card">
<div class="plan-header">
<h3 class="plan-title">One-Time Service</h3>
</div>
<ul class="features-list">
<li class="feature-item"><span class="feature-check"></span> <span class="feature-text">Same-day diagnosis & quote</span></li>
<li class="feature-item"><span class="feature-check"></span> <span class="feature-text">Transparent pricing</span></li>
<li class="feature-item"><span class="feature-check"></span> <span class="feature-text">No hidden fees or extra charges</span></li>
<li class="feature-item"><span class="feature-check"></span> <span class="feature-text">Free follow-up support</span></li>
</ul>
<a href="#contact" class="cta-button btn">Get Free Quote</a>
</div>
</div>
</section>
<section id="contact" class="contact container">
<h2 style="text-align: center; margin-bottom: 2rem;">Get In Touch</h2>
<div class="contact-grid">
<div class="contact-info">
<div class="info-item">
<div class="info-icon">📍</div>
<div class="info-text">
<strong>Address:</strong><br/>
123 Tech Lane<br/>
San Diego, CA 92101
</div>
</div>
<div class="info-item">
<div class="info-icon">📞</div>
<div class="info-text">
<strong>Phone:</strong><br/>
(858) 555-TECH
</div>
</div>
<div class="info-item">
<div class="info-icon">✉️</div>
<div class="info-text">
<strong>Email:</strong><br/>
hello@steves-tech.com
</div>
</div>
<div class="info-item">
<div class="info-icon">⏰</div>
<div class="info-text">
<strong>Hours:</strong><br/>
Mon-Fri: 8am7pm<br/>
Sat-Sun: 9am5pm
</div>
</div>
</div>
<div class="contact-form">
<iframe class="map-container" src="https://www.google.com/maps/embed/v1/place?key=AIzaSyA5S8r1U9K9OqkYFv0YHl6Y2a1QzXoUc8A&data=!4atoolbox!4m2!3d32.7157467!8m2!3d-117.1610838" frameborder="0" style="border:none;"></iframe>
<form action="#" method="POST">
<div class="form-group">
<label class="form-label" for="name">Name</label>
<input type="text" id="name" placeholder="Your Name" required/>
</div>
<div class="form-group">
<label class="form-label" for="email">Email</label>
<input type="email" id="email" placeholder="you@example.com" required/>
</div>
<div class="form-group">
<label class="form-label" for="phone">Phone</label>
<input type="tel" id="phone" placeholder="(555) 555-5555"/>
</div>
<div class="form-group">
<label class="form-label" for="message">Message</label>
<textarea id="message" placeholder="How can we help you today?" rows="4" required></textarea>
</div>
<button type="submit" class="submit-btn">Send Message</button>
</form>
</div>
</div>
</section>
</main>
<footer id="footer">
<div class="footer-grid">
<div class="footer-column">
<div class="logo">Steves Tech</div>
<p style="margin: 1rem 0;">Fast, honest, affordable tech repair. We fix phones, tablets, laptops, and accessories — same day service, transparent pricing, and no hidden fees.</p>
<div class="social-icons">
<a href="#" class="social-icon">📘</a>
<a href="#" class="social-icon">📷</a>
<a href="#" class="social-icon">📱</a>
<a href="#" class="social-icon">🐦</a>
</div>
</div>
<div class="footer-column">
<h4>Quick Links</h4>
<ul class="footer-links">
<li><a href="#home">Home</a></li>
<li><a href="#services">Services</a></li>
<li><a href="#reviews">Reviews</a></li>
<li><a href="#pricing">Pricing</a></li>
<li><a href="#contact">Contact</a></li>
</ul>
</div>
<div class="footer-column">
<h4>Helpful Links</h4>
<ul class="footer-links">
<li><a href="#">FAQ</a></li>
<li><a href="#">Privacy Policy</a></li>
<li><a href="#">Terms of Use</a></li>
<li><a href="#">Shipping & Returns</a></li>
</ul>
</div>
<div class="footer-column">
<h4>Contact Us</h4>
<p>(858) 555-TECH</p>
<p>hello@steves-tech.com</p>
</div>
</div>
<div class="copyright">&copy; 2024 Steve's Tech. All rights reserved.</div>
</footer>
<script>
// Smooth scroll
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
anchor.addEventListener('click', function(e) {
e.preventDefault();
const target = document.querySelector(this.getAttribute('href'));
if (target) {
window.scrollTo({
top: target.offsetTop,
behavior: 'smooth'
});
}
});
});
// Mobile navigation toggle
const mobileToggle = document.querySelector('.mobile-toggle');
const navLinks = document.querySelector('.nav-links');
mobileToggle?.addEventListener('click', () => {
navLinks.classList.toggle('active');
});
// Sticky header
const header = document.getElementById('header');
const navbarHeight = header.offsetHeight;
window.addEventListener('scroll', () => {
if (window.scrollY > navbarHeight) {
header.classList.add('scrolled');
} else {
header.classList.remove('scrolled');
}
});
// Tab switching
const tabs = document.querySelectorAll('.tab-button');
const tabContents = document.querySelectorAll('.tab-content');
tabs.forEach(btn => {
btn.addEventListener('click', () => {
tabs.forEach(t => t.classList.remove('active'));
tabContents.forEach(c => c.classList.remove('active'));
btn.classList.add('active');
const tabId = btn.dataset.tab;
document.getElementById(tabId)?.classList.add('active');
});
});
// Form submission demo
const form = document.querySelector('.contact-form form');
if (form) {
form.addEventListener('submit', function(e) {
e.preventDefault();
alert("Thank you! A representative will contact you within 1 business hour.");
this.reset();
});
}
</script>
</body>
</html>
```
### How to Use This Starter Kit:
1. Save as `index.html`
2. Host on GitHub Pages, Netlify, Vercel, or any static hosting platform.
3. Optional enhancements:
- Add real Google Maps iframe
- Connect Stripe/PayPal for payments
- Implement a contact form backend via Formspree, Netlify Forms, or Firebase
### Key Features Included:
- Responsive design (works on mobile/tablets)
- Hero section with CTA buttons
- Services cards with prices
- Customer testimonials
- Two pricing plans (monthly subscriptions + one-time quotes)
- Contact section with embedded map and form
- Sticky navigation bar
- Tabbed UI for pricing/services
- Modern gradient colors and subtle animations
- Mobile hamburger menu
This provides a polished, conversion-focused landing page that builds trust through transparency and clear CTAs. Customize colors, fonts, and content as needed for your shop.