// Section components for Prospec & Design site // (LogoMark is defined in logo-mark.jsx and attached to window) // === NAV === const Nav = ({ lang, setLang, t }) => ( P&D PROSPEC & DESIGN REMODELING · AUSTIN TX {t.nav.about} {t.nav.services} {t.nav.projects} {t.nav.blog} {t.nav.quote} setLang('en')}>EN setLang('es')}>ES (737) 354-7787 ); // === HERO === const Hero = ({ t }) => ( {t.hero.eyebrow} {t.hero.title_pre} {t.hero.title_accent} {t.hero.title_post} {t.hero.sub} {t.hero.cta_primary} {t.hero.cta_secondary} {t.hero.stat1_num} {t.hero.stat1_label} {t.hero.stat2_num} {t.hero.stat2_label} {t.hero.stat3_num} {t.hero.stat3_label} {t.hero.badge_title} {t.hero.badge_sub} ); // === SERVICES === const Services = ({ t }) => { const icons = [Icon.Construction, Icon.Remodeling, Icon.Carpentry, Icon.Finish]; return ( {t.services.eyebrow} {t.services.title_pre} {t.services.title_accent} {t.services.title_post} {t.services.sub} {t.services.items.map((item, i) => { const IconComp = icons[i]; return ( {item.title} {item.desc} {t.services.learn_more} ); })} ); }; // === ABOUT === const About = ({ t }) => ( {t.about.tag_num} {t.about.tag_label.toUpperCase()} {t.about.eyebrow} {t.about.title_pre} {t.about.title_accent} {t.about.p1} {t.about.p2} {t.about.bullets.map((b, i) => ( {b} ))} ); // === WHY === const Why = ({ t }) => ( {t.why.eyebrow} {t.why.title_pre} {t.why.title_accent} {t.why.sub} {t.why.cta} {t.why.items.map((item, i) => ( 0{i + 1} {item.title} {item.desc} ))} ); // === PROJECTS === const Projects = ({ t }) => { const imgs = [ 'https://images.unsplash.com/photo-1556909114-f6e7ad7d3136?w=700&q=80&auto=format&fit=crop', 'https://images.unsplash.com/photo-1552321554-5fefe8c9ef14?w=700&q=80&auto=format&fit=crop', 'https://images.unsplash.com/photo-1586023492125-27b2c045efd7?w=700&q=80&auto=format&fit=crop', 'https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?w=700&q=80&auto=format&fit=crop', 'https://images.unsplash.com/photo-1556909190-eccf4a8bf97a?w=700&q=80&auto=format&fit=crop', 'https://images.unsplash.com/photo-1620626011761-996317b8d101?w=700&q=80&auto=format&fit=crop', 'https://images.unsplash.com/photo-1600566753190-17f0baa2a6c3?w=700&q=80&auto=format&fit=crop', 'https://images.unsplash.com/photo-1600585154526-990dced4db0d?w=700&q=80&auto=format&fit=crop', ]; const tallIdx = [0, 5]; return ( {t.projects.eyebrow} {t.projects.title_pre} {t.projects.title_accent} {t.projects.cta} {t.projects.items.map((item, i) => ( {item.tag} {item.title} ))} ); }; // === SERVICE AREA === const Area = ({ t }) => ( {t.area.eyebrow} {t.area.title_pre} {t.area.title_accent} {t.area.sub} {t.area.cities.map((city, i) => ( {city} ))} ); // === Austin map illustration (stylized) === const AustinMap = ({ cities }) => { // Approximate relative positions (stylized) for the 10 cities const points = [ { x: 50, y: 50, name: 'Austin', big: true }, { x: 30, y: 45, name: 'Lakeway' }, { x: 36, y: 42, name: 'Westlake' }, { x: 25, y: 50, name: 'Bee Cave' }, { x: 45, y: 22, name: 'Cedar Park' }, { x: 60, y: 18, name: 'Round Rock' }, { x: 65, y: 30, name: 'Pflugerville' }, { x: 50, y: 78, name: 'Buda' }, { x: 55, y: 88, name: 'Kyle' }, { x: 25, y: 75, name: 'Dripping Springs' }, ]; return ( {/* stylized Texas-ish curved boundary */} {/* connector lines */} {points.slice(1).map((p, i) => ( ))} {points.map((p, i) => ( {p.big && } {p.name} ))} ); }; // === CONTACT === const Contact = ({ t, lang }) => ( {t.contact.eyebrow} {t.contact.title_pre} {t.contact.title_accent} {t.contact.sub} { e.preventDefault(); alert(t.contact.form.submit + ' ✓'); }}> {t.contact.form.name} {t.contact.form.phone} {t.contact.form.email} {t.contact.form.type} {t.contact.form.type_options.map((o, i) => {o})} {t.contact.form.message} {t.contact.form.submit} {t.contact.info.addr_lbl} {t.contact.info.addr_val} {t.contact.info.phone_lbl} {t.contact.info.phone_val} {t.contact.info.email_lbl} help@prospecdesign.com — {lang === 'en' ? 'Customer support' : 'Soporte al cliente'} hello@prospecdesign.com — {lang === 'en' ? 'General inquiries' : 'Consultas generales'} info@prospecdesign.com — {lang === 'en' ? 'Information' : 'Información'} lissy@prospecdesign.com — {lang === 'en' ? 'Partnerships' : 'Soporte para alianzas'} wellyton@prospecdesign.com — {lang === 'en' ? 'Technical support' : 'Soporte técnico'} {t.contact.info.hours_lbl} {t.contact.info.hours_val} ); // === FOOTER === const Footer = ({ t }) => ( ); Object.assign(window, { Nav, Hero, Services, About, Why, Projects, Area, Contact, Footer });
{t.hero.sub}
{t.services.sub}
{item.desc}
{t.about.p1}
{t.about.p2}
{t.why.sub}
{t.area.sub}
{t.contact.sub}