PageSourceSearch

https://www.top-appliance-repair.com/assets/contact-BoiU2CP7.js

js top-appliance-repair.com collected 2026-09-28 10:25:25 UTC 6,204 bytes, 1 lines download raw bytes

1import{D as e,dt as t,h as n,lt as r}from"./locations-CFpd98IZ.js";import{c as i,d as a,t as o}from"./Layout-BamGCpDg.js";import{a as s,i as c,n as l,r as u,t as d}from"./select-Em4Y1P8u.js";import{d as f,f as p,g as m,h,u as g}from"./business-CkkHuDhA.js";import{l as _}from"./index-DtW_YJlw.js";import{t as v}from"./CTABanner-SZi-tf-A.js";import{t as y}from"./client-kVxm9rYK.js";import{n as b,t as x}from"./card-CM2rpZn4.js";import{n as S,r as C,t as w}from"./label-CpJHsWZL.js";var T=t(r(),1),E=e(),D=()=>{let[e,t]=(0,T.useState)(!1),[r,D]=(0,T.useState)(``);return(0,E.jsxs)(o,{children:[(0,E.jsxs)(n,{children:[(0,E.jsx)(`title`,{children:`Contact Us – Bay Area Appliance Repair | Top Appliance Repair`}),(0,E.jsx)(`meta`,{name:`description`,content:`Contact Top Appliance Repair for fast Bay Area appliance service. Call (510) 930-0404 or fill out our form. Same-day appointments available.`}),(0,E.jsx)(`link`,{rel:`canonical`,href:`${g}/contact`}),(0,E.jsx)(`meta`,{property:`og:title`,content:`Contact Us – Bay Area Appliance Repair | Top Appliance Repair`}),(0,E.jsx)(`meta`,{property:`og:description`,content:`Contact Top Appliance Repair for fast Bay Area appliance service. Call (510) 930-0404 or fill out our form. Same-day appointments available.`}),(0,E.jsx)(`meta`,{property:`og:type`,content:`website`}),(0,E.jsx)(`meta`,{property:`og:url`,content:`${g}/contact`}),(0,E.jsx)(`meta`,{property:`og:image`,content:f}),(0,E.jsx)(`meta`,{name:`robots`,content:`index,follow,max-image-preview:large`}),(0,E.jsx)(`meta`,{name:`twitter:card`,content:`summary_large_image`}),(0,E.jsx)(`meta`,{name:`twitter:title`,content:`Contact Us – Bay Area Appliance Repair | Top Appliance Repair`}),(0,E.jsx)(`meta`,{name:`twitter:description`,content:`Contact Top Appliance Repair for fast Bay Area appliance service. Call (510) 930-0404 or fill out our form. Same-day appointments available.`}),(0,E.jsx)(`meta`,{name:`twitter:image`,content:f})]}),(0,E.jsx)(`section`,{className:`bg-[#1C1C1C] text-white py-20 md:py-24`,children:(0,E.jsxs)(`div`,{className:`container max-w-2xl`,children:[(0,E.jsxs)(`h1`,{className:`text-4xl md:text-5xl font-bold mb-4`,children:[`Contact `,(0,E.jsx)(`span`,{className:`text-accent`,children:`Us`})]}),(0,E.jsx)(`p`,{className:`text-lg text-white/70`,children:`Have a question? We're here to help. Fill out the form or give us a call.`})]})}),(0,E.jsx)(`section`,{className:`py-20 md:py-24`,children:(0,E.jsx)(`div`,{className:`container`,children:(0,E.jsxs)(`div`,{className:`grid grid-cols-1 lg:grid-cols-3 gap-8`,children:[(0,E.jsx)(`div`,{className:`lg:col-span-2`,children:(0,E.jsx)(x,{children:(0,E.jsx)(b,{className:`p-8`,children:(0,E.jsxs)(`form`,{onSubmit:async e=>{e.preventDefault(),t(!0);let n=e.currentTarget,i=new FormData(n),{error:a}=await y.from(`contact_submissions`).insert({name:i.get(`name`).trim(),email:i.get(`email`).trim(),phone:i.get(`phone`)?.trim()||null,appliance_type:r||null,message:i.get(`message`).trim()});if(t(!1),a){_.error(`Failed to send message. Please try again.`);return}_.success(`Message sent! We'll get back to you within 24 hours.`),n.reset(),D(``)},className:`space-y-5`,children:[(0,E.jsxs)(`div`,{className:`grid grid-cols-1 sm:grid-cols-2 gap-4`,children:[(0,E.jsxs)(`div`,{className:`space-y-2`,children:[(0,E.jsx)(w,{htmlFor:`name`,className:`text-base`,children:`Name *`}),(0,E.jsx)(C,{id:`name`,name:`name`,required:!0,maxLength:100,placeholder:`Your name`,className:`h-12 text-base`})]}),(0,E.jsxs)(`div`,{className:`space-y-2`,children:[(0,E.jsx)(w,{htmlFor:`email`,className:`text-base`,children:`Email *`}),(0,E.jsx)(C,{id:`email`,name:`email`,type:`email`,required:!0,maxLength:255,placeholder:`[email protected]`,className:`h-12 text-base`})]})]}),(0,E.jsxs)(`div`,{className:`grid grid-cols-1 sm:grid-cols-2 gap-4`,children:[(0,E.jsxs)(`div`,{className:`space-y-2`,children:[(0,E.jsx)(w,{htmlFor:`phone`,className:`text-base`,children:`Phone`}),(0,E.jsx)(C,{id:`phone`,name:`phone`,type:`tel`,maxLength:20,placeholder:`(510) 930-0404`,className:`h-12 text-base`})]}),(0,E.jsxs)(`div`,{className:`space-y-2`,children:[(0,E.jsx)(w,{htmlFor:`appliance`,className:`text-base`,children:`Appliance Type`}),(0,E.jsxs)(d,{value:r,onValueChange:D,children:[(0,E.jsx)(c,{className:`h-12 text-base`,children:(0,E.jsx)(s,{placeholder:`Select appliance`})}),(0,E.jsxs)(l,{children:[(0,E.jsx)(u,{value:`refrigerator`,children:`Refrigerator`}),(0,E.jsx)(u,{value:`dishwasher`,children:`Dishwasher`}),(0,E.jsx)(u,{value:`range`,children:`Range & Stove`}),(0,E.jsx)(u,{value:`dryer`,children:`Dryer`}),(0,E.jsx)(u,{value:`washer`,children:`Washing Machine`}),(0,E.jsx)(u,{value:`cooktop`,children:`Cooktop`}),(0,E.jsx)(u,{value:`other`,children:`Other`})]})]})]})]}),(0,E.jsxs)(`div`,{className:`space-y-2`,children:[(0,E.jsx)(w,{htmlFor:`message`,className:`text-base`,children:`Message *`}),(0,E.jsx)(S,{id:`message`,name:`message`,required:!0,maxLength:1e3,rows:5,placeholder:`Describe your issue...`,className:`text-base`})]}),(0,E.jsx)(p,{type:`submit`,size:`lg`,className:`w-full h-14`,disabled:e,children:e?`Sending...`:`Send Message`})]})})})}),(0,E.jsx)(`div`,{className:`space-y-4`,children:(0,E.jsx)(x,{children:(0,E.jsxs)(b,{className:`pt-6 space-y-4`,children:[(0,E.jsx)(`h3`,{className:`font-bold text-lg`,children:`Get In Touch`}),(0,E.jsxs)(`div`,{className:`space-y-3 text-base`,children:[(0,E.jsxs)(`a`,{href:`tel:+15109300404`,className:`flex items-center gap-3 hover:text-accent transition-colors`,children:[(0,E.jsx)(h,{className:`h-4 w-4 text-accent`}),` (510) 930-0404`]}),(0,E.jsxs)(`a`,{href:`mailto:[email protected]`,className:`flex items-center gap-3 hover:text-accent transition-colors`,children:[(0,E.jsx)(m,{className:`h-4 w-4 text-accent`}),` [email protected]`]}),(0,E.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,E.jsx)(i,{className:`h-4 w-4 text-accent shrink-0`}),` In-home service across the San Francisco Bay Area — no walk-in location.`]}),(0,E.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,E.jsx)(a,{className:`h-4 w-4 text-accent shrink-0`}),` Mon-Fri: 9am - 6pm | Sat-Sun: Closed`]})]})]})})})]})})}),(0,E.jsx)(v,{})]})};export{D as component};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.