55 lines
3.6 KiB
Markdown
55 lines
3.6 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to the Apex Turf landing page.
|
|
|
|
## [1.0.0] — 2026-08-24
|
|
|
|
### Added
|
|
- Initial build of the `dist/` landing page (`index.html`, `css/styles.css`, `js/main.js`) from the three
|
|
reference mockups in `website-ideas/` and the copy/structure in `pdfs/`.
|
|
- Full-bleed diagonal split hero: fixed Residential/Landscaping pane (lion) + auto-rotating Sport Turf pane
|
|
cycling Pádel (shark) → Football (panther) → Golf (eagle), with manual tabs and pause-on-hover/focus.
|
|
- Sticky header with scroll-spy nav highlighting and mobile hamburger menu.
|
|
- Value pillars section, 4-card specialties quick-nav grid, and four alternating-layout detail sections
|
|
(Landscaping / Pádel / Football / Golf).
|
|
- About/trust section (Installers First, Apex Guarantee cards).
|
|
- Visual gallery/showcase strip.
|
|
- Front-end-only quote request form with client-side validation and success state.
|
|
- Footer with contact info, quick links, and social icons.
|
|
- Scroll-reveal animations, smooth-scroll-with-offset, back-to-top button.
|
|
- Copied and web-optimized image assets from `animals/` and `logos/` into `dist/assets/images/`
|
|
(JPEG re-compression + logo resizing to cut total image weight roughly in half).
|
|
|
|
### Fixed (found via automated visual/interaction testing during the build)
|
|
- **Hero right pane not filling its full height.** The rotating Pádel/Football/Golf pane was sized to its
|
|
text content instead of the full pane (an absolutely-positioned image nested inside a flex-aligned
|
|
container without an explicit fill), so the background photo appeared as a small floating box instead of
|
|
full-bleed like the reference mockups. Fixed by making the scene layers fill the pane via `inset: 0` and
|
|
moving the pane's padding onto the scene layer itself.
|
|
- **Scroll-reveal content could get stuck invisible.** The fade-in-on-scroll effect relied solely on
|
|
`IntersectionObserver` firing; if it didn't (or fired late), content stayed at `opacity: 0` forever.
|
|
Added a try/catch fallback, a 2.5s force-reveal safety timeout, and a `<noscript>` rule so content is
|
|
never permanently hidden regardless of JS timing or availability.
|
|
- **Horizontal overflow on narrow viewports (CSS Grid "blowout").** Every `grid-template-columns` track in
|
|
the stylesheet used bare `Nfr` values. A bare `fr` track's implicit `auto` minimum can grow past the
|
|
container's padded content box, which caused the contact section (and, latently, every other grid on the
|
|
page) to overflow its container and clip text at narrow widths. Fixed by wrapping every fractional track
|
|
in `minmax(0, …fr)` across the whole stylesheet (hero split, pillar/specialty/showcase/footer grids,
|
|
detail/about/contact grids, the quote form's two-column row) rather than patching only the section where
|
|
it was first observed.
|
|
|
|
### Known placeholders (see `README.md` → "What still needs wiring up before going live")
|
|
- Contact form has no backend/submission endpoint yet.
|
|
- Phone, email, address, and social links are placeholders (none were supplied).
|
|
- Gallery section reuses the four specialty photos in lieu of real installation photography.
|
|
- Two specced pages/flows are not built yet: the gated Maintenance Handbook lead-magnet page, and the
|
|
3-step turf project/sample-request questionnaire (see `CONTENT-SPECS.md`).
|
|
|
|
## [Unreleased] — documentation
|
|
|
|
### Added
|
|
- `docs/CONTENT-SPECS.md`: archived the full content of all 7 unique `pdfs/` specifications as markdown
|
|
(the 4 used in the build, plus the About Us spec, plus the 2 specs describing not-yet-built pages/flows —
|
|
the Maintenance Handbook lead magnet and the 3-step sample-request questionnaire). Saved so this content
|
|
isn't only reachable by re-opening the PDF binaries.
|