docs(02-03): complete human verification — phase 2 approved
- All 7 checklist items approved by human reviewer - Visual fixes applied: hero objectPosition 20%, contact form white inputs, testimonial gold accent bar - Phase 2 marketing site marked complete (MKTG-01 through MKTG-04 satisfied) - STATE.md updated: phase 2 complete, 6/6 plans done, progress 40%
This commit is contained in:
@@ -1,9 +1,20 @@
|
||||
'use client'
|
||||
import { useActionState } from 'react'
|
||||
import React, { useActionState } from 'react'
|
||||
import { submitContact, type ContactState } from '@/lib/contact-action'
|
||||
|
||||
const initialState: ContactState = { status: 'idle' }
|
||||
|
||||
const fieldStyle: React.CSSProperties = {
|
||||
padding: '0.75rem 1rem',
|
||||
border: '1px solid #c5bfb5',
|
||||
borderRadius: '4px',
|
||||
backgroundColor: '#fff',
|
||||
color: '#1B2B4B',
|
||||
fontSize: '1rem',
|
||||
width: '100%',
|
||||
boxSizing: 'border-box',
|
||||
}
|
||||
|
||||
export function ContactSection() {
|
||||
const [state, action, pending] = useActionState(submitContact, initialState)
|
||||
|
||||
@@ -42,10 +53,10 @@ export function ContactSection() {
|
||||
aria-hidden="true"
|
||||
/>
|
||||
|
||||
<input name="name" type="text" required placeholder="Your full name" />
|
||||
<input name="email" type="email" required placeholder="Email address" />
|
||||
<input name="phone" type="tel" required placeholder="Phone number" />
|
||||
<textarea name="message" required placeholder="How can Teressa help you?" rows={5} />
|
||||
<input name="name" type="text" required placeholder="Your full name" style={fieldStyle} />
|
||||
<input name="email" type="email" required placeholder="Email address" style={fieldStyle} />
|
||||
<input name="phone" type="tel" required placeholder="Phone number" style={fieldStyle} />
|
||||
<textarea name="message" required placeholder="How can Teressa help you?" rows={5} style={fieldStyle} />
|
||||
|
||||
{state.status === 'error' && (
|
||||
<p role="alert" style={{ color: '#c62828' }}>
|
||||
|
||||
@@ -9,7 +9,7 @@ export default function HeroSection() {
|
||||
src="/red.jpg"
|
||||
alt="Teressa Copeland"
|
||||
fill
|
||||
style={{ objectFit: 'cover', objectPosition: 'center top' }}
|
||||
style={{ objectFit: 'cover', objectPosition: 'center 20%' }}
|
||||
priority
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -69,10 +69,8 @@ export default function TestimonialsSection() {
|
||||
onMouseEnter={() => setPaused(true)}
|
||||
onMouseLeave={() => setPaused(false)}
|
||||
>
|
||||
{/* Decorative gold quote mark */}
|
||||
<div className="testimonials-quote-mark" aria-hidden="true">
|
||||
“
|
||||
</div>
|
||||
{/* Decorative gold accent bar */}
|
||||
<div className="testimonials-quote-mark" aria-hidden="true" />
|
||||
|
||||
<blockquote className="testimonials-blockquote">
|
||||
<p className="testimonials-quote">{current.quote}</p>
|
||||
@@ -121,12 +119,10 @@ export default function TestimonialsSection() {
|
||||
text-align: center;
|
||||
}
|
||||
.testimonials-quote-mark {
|
||||
font-size: 6rem;
|
||||
line-height: 1;
|
||||
color: #C9A84C;
|
||||
font-family: Georgia, serif;
|
||||
margin-bottom: -1rem;
|
||||
user-select: none;
|
||||
width: 48px;
|
||||
height: 3px;
|
||||
background-color: #C9A84C;
|
||||
margin: 0 auto 1.5rem;
|
||||
}
|
||||
.testimonials-blockquote {
|
||||
max-width: 700px;
|
||||
|
||||
Reference in New Issue
Block a user