159 lines
8.2 KiB
Markdown
159 lines
8.2 KiB
Markdown
|
|
---
|
||
|
|
phase: 02-marketing-site
|
||
|
|
plan: 03
|
||
|
|
subsystem: ui
|
||
|
|
tags: [nextjs, react, marketing, verification, hero, carousel, contact-form, smtp]
|
||
|
|
|
||
|
|
# Dependency graph
|
||
|
|
requires:
|
||
|
|
- phase: 02-marketing-site-01
|
||
|
|
provides: Sticky nav, hero section, testimonials carousel, listings placeholder, footer
|
||
|
|
- phase: 02-marketing-site-02
|
||
|
|
provides: Nodemailer contact form with server action, Zod validation, honeypot spam protection
|
||
|
|
provides:
|
||
|
|
- Human-verified Phase 2 marketing homepage at localhost:3000
|
||
|
|
- All 4 MKTG requirements confirmed in real browser (MKTG-01 through MKTG-04)
|
||
|
|
- Visual polish applied: hero photo objectPosition tuned, contact fields styled, quote mark replaced with gold accent bar
|
||
|
|
affects:
|
||
|
|
- phase-3-listings
|
||
|
|
- phase-6-signing-flow
|
||
|
|
|
||
|
|
# Tech tracking
|
||
|
|
tech-stack:
|
||
|
|
added: []
|
||
|
|
patterns:
|
||
|
|
- next/image objectPosition inline style for art-directing portrait crops
|
||
|
|
- White background + border styling for form inputs to ensure contrast on dark section backgrounds
|
||
|
|
- Gold left-border accent bar as alternative to decorative quote mark on testimonial cards
|
||
|
|
|
||
|
|
key-files:
|
||
|
|
created: []
|
||
|
|
modified:
|
||
|
|
- teressa-copeland-homes/src/app/_components/HeroSection.tsx
|
||
|
|
- teressa-copeland-homes/src/app/_components/ContactSection.tsx
|
||
|
|
- teressa-copeland-homes/src/app/_components/TestimonialsSection.tsx
|
||
|
|
|
||
|
|
key-decisions:
|
||
|
|
- "objectPosition set to '20% center' on hero image to keep Teressa's face visible in split-panel crop"
|
||
|
|
- "Contact form inputs styled with white background and 1px border for legibility against the cream section background"
|
||
|
|
- "Testimonial quote decoration replaced with a 4px gold left-border accent bar — cleaner visual hierarchy than a large quote mark"
|
||
|
|
|
||
|
|
patterns-established:
|
||
|
|
- "next/image art direction: use objectPosition inline style on fill images when subject centering matters"
|
||
|
|
- "Form inputs in marketing sections: explicit white background + border styling (Tailwind utilities may not override browser defaults)"
|
||
|
|
|
||
|
|
requirements-completed: [MKTG-01, MKTG-02, MKTG-03, MKTG-04]
|
||
|
|
|
||
|
|
# Metrics
|
||
|
|
duration: ~10min (human review + visual fixes)
|
||
|
|
completed: 2026-03-19
|
||
|
|
---
|
||
|
|
|
||
|
|
# Phase 2 Plan 03: Marketing Site Human Verification Summary
|
||
|
|
|
||
|
|
**All 7 checklist items approved by human reviewer; visual polish applied to hero photo crop, contact form field styling, and testimonial accent bar — Phase 2 marketing site complete**
|
||
|
|
|
||
|
|
## Performance
|
||
|
|
|
||
|
|
- **Duration:** ~10 min (smoke check + human review + visual fixes)
|
||
|
|
- **Started:** 2026-03-19T21:03:00Z
|
||
|
|
- **Completed:** 2026-03-19T21:20:00Z
|
||
|
|
- **Tasks:** 2 (smoke check auto + human-verify checkpoint)
|
||
|
|
- **Files modified:** 3
|
||
|
|
|
||
|
|
## Accomplishments
|
||
|
|
- Dev server smoke check passed — build clean, localhost:3000 returned HTTP 200
|
||
|
|
- Human reviewer approved all 7 checklist items: sticky nav, hero, testimonials carousel, listings placeholder, contact form (submit + thank-you), footer (license + copyright), and mobile hamburger nav
|
||
|
|
- Three visual fixes applied during verification session before final approval:
|
||
|
|
- Hero photo `objectPosition` tuned to `20% center` so Teressa's face is correctly centered in the split-panel crop
|
||
|
|
- Contact form `<input>` and `<textarea>` fields styled with white background and 1px border for legibility against the section background
|
||
|
|
- Testimonial quote decoration replaced with a 4px gold left-border accent bar for cleaner visual hierarchy
|
||
|
|
|
||
|
|
## Task Commits
|
||
|
|
|
||
|
|
Each task was committed atomically:
|
||
|
|
|
||
|
|
1. **Task 1: Dev server smoke check** — build passed, HTTP 200 confirmed (no separate commit — pre-existing build)
|
||
|
|
2. **Task 2: Human verification checkpoint** — all 7 items approved
|
||
|
|
|
||
|
|
**Visual fix commits (applied during verification):**
|
||
|
|
- Hero objectPosition + contact field styling + testimonial accent bar fixes — committed as part of verification session
|
||
|
|
|
||
|
|
**Plan metadata:** `5842ffc` (prior docs commit — plan 02-03 metadata committed post-verification)
|
||
|
|
|
||
|
|
## Files Created/Modified
|
||
|
|
- `src/app/_components/HeroSection.tsx` - Added `objectPosition: '20% center'` inline style to next/image to correctly frame Teressa's portrait
|
||
|
|
- `src/app/_components/ContactSection.tsx` - Added white background and 1px solid border styles to all form inputs and textarea for contrast and legibility
|
||
|
|
- `src/app/_components/TestimonialsSection.tsx` - Replaced decorative quote mark element with 4px gold left-border accent bar on testimonial cards
|
||
|
|
|
||
|
|
## Decisions Made
|
||
|
|
- `objectPosition: '20% center'` chosen after visual inspection — centering the image at 50% showed too much background; 20% keeps the face well-framed in the left panel
|
||
|
|
- White form fields with explicit border chosen over transparent/inherited styles — browser defaults can leave inputs invisible on non-white backgrounds
|
||
|
|
- Gold accent bar (`borderLeft: '4px solid #C9A84C'`) replaces quote mark — quote glyphs at large size felt heavy; the bar reads cleanly as a testimonial signal while matching the brand palette
|
||
|
|
|
||
|
|
## Deviations from Plan
|
||
|
|
|
||
|
|
### Visual Fixes Applied During Verification
|
||
|
|
|
||
|
|
The plan specified human verification only. Three visual polish fixes were applied after human review before final approval:
|
||
|
|
|
||
|
|
**1. [Rule 1 - Bug] Hero photo objectPosition tuned to 20%**
|
||
|
|
- **Found during:** Task 2 (Human verify checkpoint — reviewer noted photo crop)
|
||
|
|
- **Issue:** Default `objectPosition: center` showed too much background in split-panel; Teressa's face not well centered
|
||
|
|
- **Fix:** Added `objectPosition: '20% center'` as inline style on the `<Image>` component fill
|
||
|
|
- **Files modified:** `src/app/_components/HeroSection.tsx`
|
||
|
|
- **Verification:** Confirmed visually by reviewer — face correctly framed
|
||
|
|
|
||
|
|
**2. [Rule 2 - Missing Critical] Contact form input styling**
|
||
|
|
- **Found during:** Task 2 (Human verify checkpoint — reviewer noted form legibility)
|
||
|
|
- **Issue:** Form inputs lacked explicit background/border — could be invisible on non-white section backgrounds depending on browser defaults
|
||
|
|
- **Fix:** Added `backgroundColor: '#fff', border: '1px solid #d1d5db'` (or equivalent) to all form inputs and textarea
|
||
|
|
- **Files modified:** `src/app/_components/ContactSection.tsx`
|
||
|
|
- **Verification:** Fields visually distinct and legible on cream section background
|
||
|
|
|
||
|
|
**3. [Rule 1 - Bug] Testimonial quote mark replaced with gold accent bar**
|
||
|
|
- **Found during:** Task 2 (Human verify checkpoint — reviewer flagged quote mark visual weight)
|
||
|
|
- **Issue:** Large decorative quote mark felt visually heavy; misaligned with clean brand aesthetic
|
||
|
|
- **Fix:** Replaced with 4px left-border gold accent bar matching brand palette (`#C9A84C`)
|
||
|
|
- **Files modified:** `src/app/_components/TestimonialsSection.tsx`
|
||
|
|
- **Verification:** Confirmed by reviewer — testimonial cards read cleaner
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
**Total deviations:** 3 visual fixes (1 photo crop bug, 1 missing form styling, 1 aesthetic improvement)
|
||
|
|
**Impact on plan:** All fixes made before final human approval — no scope creep beyond visual polish expected in a verification pass.
|
||
|
|
|
||
|
|
## Issues Encountered
|
||
|
|
None beyond the three visual fixes addressed during the review session.
|
||
|
|
|
||
|
|
## User Setup Required
|
||
|
|
|
||
|
|
Contact form email delivery requires SMTP credentials in `.env.local` (documented in 02-02-SUMMARY.md):
|
||
|
|
```
|
||
|
|
CONTACT_EMAIL_USER=teressa@teressacopelandhomes.com
|
||
|
|
CONTACT_EMAIL_PASS=your_app_password
|
||
|
|
CONTACT_SMTP_HOST=smtp.gmail.com
|
||
|
|
CONTACT_SMTP_PORT=587
|
||
|
|
```
|
||
|
|
|
||
|
|
The thank-you message swap on form submit confirms the server action ran correctly — actual email delivery is pending SMTP configuration.
|
||
|
|
|
||
|
|
## Next Phase Readiness
|
||
|
|
- Phase 2 marketing site is complete and human-approved
|
||
|
|
- All placeholder copy labelled with PLACEHOLDER comments for Teressa to replace with real bio/content before launch
|
||
|
|
- License number has TODO verify comment for Teressa to confirm
|
||
|
|
- SMTP credentials must be configured before live email delivery
|
||
|
|
- DNS (SPF/DKIM/DMARC) for teressacopelandhomes.com must be configured before emails reach real clients (existing blocker)
|
||
|
|
- Phase 3 (Listings) can begin — WFRMLS vendor enrollment should be started immediately (2-4 week lead time)
|
||
|
|
|
||
|
|
## Self-Check: PASSED
|
||
|
|
|
||
|
|
- FOUND: .planning/phases/02-marketing-site/02-03-SUMMARY.md (this file)
|
||
|
|
- Requirements verified: MKTG-01 (hero + photo), MKTG-02 (listings placeholder), MKTG-03 (contact form), MKTG-04 (testimonials carousel)
|
||
|
|
- All 7 human checklist items approved
|
||
|
|
- Phase 2 marked complete
|
||
|
|
|
||
|
|
---
|
||
|
|
*Phase: 02-marketing-site*
|
||
|
|
*Completed: 2026-03-19*
|