further fixes

This commit is contained in:
2026-06-13 15:00:40 -05:00
parent dfd5e744a4
commit 45422753a3
10 changed files with 180 additions and 20 deletions

View File

@@ -3,10 +3,11 @@ import type { FormEventHandler } from "react";
type AssessmentSectionProps = {
formErrors: { name: string; email: string };
formStatus: string;
isSubmitting: boolean;
onAssessmentSubmit: FormEventHandler<HTMLFormElement>;
};
export default function AssessmentSection({ formErrors, formStatus, onAssessmentSubmit }: AssessmentSectionProps) {
export default function AssessmentSection({ formErrors, formStatus, isSubmitting, onAssessmentSubmit }: AssessmentSectionProps) {
return (
<section className="content-section assessment-section" id="assessment" aria-labelledby="assessment-title">
<div className="assessment-bg" aria-hidden="true"></div>
@@ -56,9 +57,14 @@ export default function AssessmentSection({ formErrors, formStatus, onAssessment
<label htmlFor="message">What should we review?</label>
<textarea id="message" name="message" rows={4} placeholder="Domain, mailbox count, migration timing, device setup..."></textarea>
</div>
<button className="button button-primary button-large" type="submit">
Request email assessment
<span aria-hidden="true"></span>
<button
className="button button-primary button-large"
type="submit"
disabled={isSubmitting}
aria-busy={isSubmitting}
>
{isSubmitting ? "Sending…" : "Request email assessment"}
<span aria-hidden="true">{isSubmitting ? "" : "→"}</span>
</button>
<p className="form-trust-line">We reply within one business day. We don&rsquo;t share your details.</p>
<p className="form-status" role="status" aria-live="polite">{formStatus}</p>
@@ -67,7 +73,7 @@ export default function AssessmentSection({ formErrors, formStatus, onAssessment
<div className="assessment-copy">
<p className="eyebrow">Start here</p>
<h2 id="assessment-title">Lets review your email setup.</h2>
<h2 id="assessment-title">Let&rsquo;s review your email setup.</h2>
<p>
Tell us about your domain, mailbox count, current provider, and support needs. We will reply with clear next steps for hosting, DNS, migration, and device setup.
</p>

View File

@@ -1,6 +1,6 @@
export default function ProblemSection() {
return (
<section className="content-section problem-section" aria-labelledby="problem-title">
<section className="content-section problem-section" id="why" aria-labelledby="problem-title">
<div className="section-heading">
<p className="eyebrow">Why it matters</p>
<h2 id="problem-title">Email problems rarely look technical at first.</h2>

View File

@@ -26,11 +26,10 @@ export default function SiteFooter() {
<nav className="footer-links" aria-label="Footer navigation">
<h2>Explore</h2>
<ul>
<li><a href="#services">Services</a></li>
<li><a href="#infrastructure">Infrastructure</a></li>
<li><a href="#why">Why email matters</a></li>
<li><a href="#pricing-detail">Pricing</a></li>
<li><a href="#migration-detail">Migration</a></li>
<li><a href="#faq">FAQ</a></li>
<li><a href="#assessment">Get assessment</a></li>
</ul>
</nav>
@@ -47,7 +46,6 @@ export default function SiteFooter() {
<div className="footer-bottom">
<p>Bay Area Email Services, part of Bay Area IT. All rights reserved.</p>
<div>
<a href="#assessment">Support</a>
<a href="#top" className="back-to-top">
Back to top
<svg viewBox="0 0 24 24" aria-hidden="true">

View File

@@ -43,12 +43,10 @@ export default function SiteHeader({ menuOpen, theme, onMenuToggle, onThemeToggl
</button>
<nav id="nav-menu" className={`nav-menu${menuOpen ? " is-open" : ""}`} onClick={onNavClick}>
<a href="#services">Services</a>
<a href="#infrastructure">Infrastructure</a>
<a href="#pricing">Pricing</a>
<a href="#migration">Migration</a>
<a href="#faq">Resources</a>
<a href="#assessment">Support</a>
<a href="#why">Why email matters</a>
<a href="#pricing-detail">Pricing</a>
<a href="#faq">FAQ</a>
<a href="#assessment">Get assessment</a>
</nav>
<div className="header-actions">