Commit Graph

116 Commits

Author SHA1 Message Date
Hanson.xyz Dev f438d4fff7 Fix homepage location search to use property_location param
Changed select name from 'location' to 'property_location' to match
the property archive filter parameter.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 01:03:00 -06:00
Hanson.xyz Dev 32dd7eff9a Filter location dropdowns to only show active/pending property locations
- Add homeproz_get_active_locations() helper function
- Only shows locations that have properties with Active or Pending status
- Applied to homepage community dropdown and properties page location filter
- Sold properties no longer count toward location visibility

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 00:59:48 -06:00
Hanson.xyz Dev 761a08ee86 Unify hero styling across pages, update service cards
Hero changes:
- Remove top padding from .site-main (was causing inconsistent gaps)
- Remove margin-bottom and border from archive-hero
- Add padding-top to property archive container
- Change resources section background to --color-bg-dark

Service cards:
- Replace "Find a Rental" with "Resources & Guides"
- Reorder: Find a Home, Sell Your Home, Resources & Guides
- Update subtitle to remove rental reference
- Add book icon for resources card

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 00:56:58 -06:00
Hanson.xyz Dev ea2be47f99 Make archive hero margin responsive
- No margin below hero on mobile/tablet (< 1200px)
- 2rem margin below hero on desktop (>= 1200px)
- Consistent hero styling across all interior pages

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 00:41:30 -06:00
Hanson.xyz Dev cf0debb970 Add currency and percentage input plugins to mortgage calculator
- Currency inputs auto-format with thousand separators on input
- Only allows numeric characters (strips letters, symbols, etc.)
- .val() returns raw integer for calculations
- Percentage inputs allow only numbers and one decimal point
- Select all on focus for easy replacement
- Maintains cursor position while typing
- Real-time sync between down payment dollar and percent fields

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 00:37:22 -06:00
Hanson.xyz Dev ebbc9ec03b Change form input backgrounds to solid black sitewide
Updated global form styles in main.scss and mortgage calculator inputs
to use #000 background instead of color variables.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 00:30:58 -06:00
Hanson.xyz Dev 9963446486 Add mortgage calculator page with interactive widget
- Two-column layout matching property details page pattern
- Real-time mortgage calculation with principal, interest, loan amount, and total interest
- Input formatting with currency/percentage display
- Down payment syncs between dollar amount and percentage
- Sidebar with quick tips, help contact widget, and related resources
- "How to Use" and "Keep in Mind" sections with practical guidance
- Widget titles use Times New Roman 18px bold to match existing styles

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 00:29:57 -06:00
Hanson.xyz Dev cbeca7c6d8 UI/UX improvements: gallery autoplay, clickable cards, footer legal section
Property details page:
- Move address to header above gallery
- Add property type badges (blue residential, red commercial)
- Gallery autoplay with play/pause button, 5-second interval
- Fade transitions for autoplay, slide transitions for swipe
- Thumbnail navigation with sync
- Swipe support in gallery and lightbox
- Widget titles: 18px Times New Roman bold
- Remove breadcrumbs

Layout and styling:
- Container width: 1400px
- Contact page map 50% taller (375px)
- Contact info labels: Times New Roman 16px
- Agent photo backgrounds solid black
- CTA accent button hover: black text

Clickable components:
- Service cards fully clickable with stretched links
- Resource cards fully clickable with stretched links
- Addresses link to Google Maps (contact page, footer)

Footer updates:
- Add Send Us a Message link with paper airplane icon
- Replace credentials with legal section
- Privacy Policy, Fair Housing, MLS Disclaimer, Brokerage Disclosure links
- Credits: Web Design by HansonXyz

Other:
- Install Classic Editor plugin

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 00:24:34 -06:00
Hanson.xyz Dev 837b3219fb Standardize interior page heroes with ACF customization
- Enhance archive-hero to support optional background images
- Add Page Hero ACF fields (title, subtitle, background) for all pages
- Add Properties Page hero settings in Theme Options
- Update all page templates to use consistent archive-hero style
- Resource pages now use archive-hero with featured image fallback

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-30 22:51:04 -06:00
Hanson.xyz Dev 4be4edb4ad Add rotating hero image gallery for desktop breakpoint
- Add 5 new hero images to assets/images/hero-gallery/
- Create hero-section.js with image rotation (6s interval)
- Only preload/animate at >= 1450px to save mobile bandwidth
- Fade transition with slight grow effect
- Add overflow:hidden to prevent scrollbar during transition
- Images use 30% right crop via transform system

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-30 22:38:34 -06:00
Hanson.xyz Dev 1a4d41def6 Implement dual hero designs with responsive switching
Hero System:
- Design 1 (Card Overlay): Semi-transparent card over full image
- Design 2 (Two-Column Split): Text left, image right
- Homepage switches: Card < 1450px, Split >= 1450px
- Alt page (/home-page-alt/) uses Card design only

Image Transform System:
- New PHP helper for on-demand image cropping via ImageMagick
- Caches transformed images with mtime-based invalidation
- Supports crop percentage (positive=right, negative=left)

Hero Improvements:
- Full-width split layout with image hugging right edge
- Card design: responsive positioning with breakpoints at 1400/1650/1800px
- Cropped logo variant (bottom 35px removed for cleaner look)
- Golden hour hero image with 30-35% right crop

Footer:
- Added temporary "HOME PAGE ALT" link for client comparison

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-30 21:55:29 -06:00
Hanson.xyz Dev 8da4b16633 Style property cards with red border and dark background
Matches service cards styling:
- Dark background (--color-bg-dark)
- Red accent border (--color-accent)
- Rounded corners with overflow hidden

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-30 20:09:29 -06:00
Hanson.xyz Dev f696f125a6 Brighten hero subtitle text
Changed from muted (#B0B0B0) to primary text color (#F5F5F5)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-30 20:07:27 -06:00
Hanson.xyz Dev ff25ffcceb Increase hero logo size and make background transparent
- Doubled logo max-width from 200px to 400px
- Created logo-transparent.webp with transparent background
- Used flood fill to preserve internal black elements

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-30 20:06:44 -06:00
Hanson.xyz Dev 38dd0c4866 Add logo above hero title on homepage
- Added logo parameter to hero-section.php component
- Added .hero-section-logo CSS (200px max-width, centered)
- Updated front-page.php to pass logo.webp to hero

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-30 20:04:57 -06:00
Hanson.xyz Dev ae46667a7c Revert "Replace header text logo with image logo"
This reverts commit b35731164d.
2025-11-30 20:02:48 -06:00
Hanson.xyz Dev b35731164d Replace header text logo with image logo
- Use logo.webp from assets/images
- Logo height: 50px
- Negative margin (-4px) to fit within existing header height

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-30 20:01:59 -06:00
Hanson.xyz Dev d7b0861d4e Home page hero: add max-height 725px
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-30 19:59:04 -06:00
Hanson.xyz Dev 8bea4b611d Simplify filter bar: 7 equal-width items in clean grid
- 7 columns at 1200px+ (all items on one row)
- 4 columns at 768-1200px
- 2 columns at 0-768px
- Each item (Type, Location, Beds, Min, Max, Search, Reset) is equal width
- Removed complex nested structures

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-30 19:55:28 -06:00
Hanson.xyz Dev 775c57a678 Property filters overhaul: status sorting, simplified UI
- Remove status dropdown (always show all properties)
- Remove sort dropdown (use status-based sorting)
- Sort order: Active > Pending > Sold, then by modified date
- Map view: half height, 2-column property grid
- Beds field same width as others
- Add CLAUDE.md documentation for property system

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-30 19:52:50 -06:00
Hanson.xyz Dev 1dd874091c Redesign property filters layout: single row, better proportions
- All filters now on one row at 1200px+
- Beds field narrower (70px) for single-digit values
- Price range wider with compact $Xk format
- Sort, Search, Reset moved inline after price range
- Shorter labels: Type, Status, Beds, Sort
- Responsive: 2-col mobile, 4-col tablet, full row desktop

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-30 19:43:44 -06:00
Hanson.xyz Dev cefcd0f98d Fix property filters AJAX: correct script handle for wp_localize_script
Changed 'homeproz-main' to 'homeproz-script' so homeprozAjax variable
is actually attached to the correct script and available on the page.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-30 19:40:36 -06:00
Hanson.xyz Dev 1344d994be Fix duplicate headers on agents archive page
- Removed subtitle from hero section (title only)
- Replaced section-header with simpler page-intro component
- Combined intro text with agent count display
- Updated SCSS with page-intro styles

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-30 19:25:07 -06:00
Hanson.xyz Dev 3998623fc7 Improve hero and agents page layout
- Hero small variant: 55px top/bottom padding, 225px min-height
- Agents page: Added section header with title, subtitle, and border separator
- Provides visual separation between hero and content grid

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-30 19:22:02 -06:00
Hanson.xyz Dev ce5e3bb472 Fix agent listing query to work without meta fields
The previous WP_Query with meta_query required agent_order to exist,
which excluded agents that hadn't been edited since the field was added.

Changed to simpler approach: fetch all published agents with get_posts(),
filter disabled in PHP, sort by order (defaulting to 10) then alphabetically.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-30 19:19:11 -06:00
Hanson.xyz Dev c2c2703568 Update CLAUDE.md with CPT, ACF, and feature documentation
- Added Agent CPT to theme structure and page class reference
- Documented Property CPT with all ACF fields and taxonomies
- Documented Agent CPT with ACF fields and disabled behavior
- Added Theme Options (ACF Options Page) documentation
- Documented contact page property inquiry feature
- Updated open decisions (Agents decision resolved)
- Updated notes section

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-30 19:11:57 -06:00
Hanson.xyz Dev 42a06a5435 Add agent listing page with ordering and disabled agent support
- Added agent_order (number) and agent_disabled (toggle) ACF fields
- Created archive-agent.php template for /agents/ listing page
  - Queries only active agents, ordered by agent_order then title
  - Grid layout with agent cards showing photo, name, title, bio
  - Contact action buttons (phone, email, profile)
- Added "Agents" link to footer fallback menu
- Updated single-agent.php to return 404 for disabled agents
- Updated property-agent.php to handle disabled agents:
  - Shows agent name and photo (for historical reference)
  - Replaces agent contact with office phone number
  - Removes Agent Profile button and email
  - Adds "Contact Us" button linking to contact form
- Added archive-agent.scss with responsive grid styles

Admin can now:
- Set display order for agents (lower numbers first)
- Disable agents who have left (hides from listing, 404s profile)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-30 19:10:38 -06:00
Hanson.xyz Dev 220ae51df8 Make agent info block clickable, add Agent Profile button
- Wrapped agent avatar/name/title in single clickable link to profile
- Added Agent Profile button between Call and Email buttons
- Added hover styles for agent info link block

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-30 18:49:40 -06:00
Hanson.xyz Dev e5220dcf88 Add agent selection to properties with contact integration
- Changed listing_agent ACF field from user type to post_object (Agent CPT)
- Assigned random agents to all existing properties
- Updated property-agent.php template to:
  - Pull agent data from Agent CPT (photo, phone, email, title)
  - Link agent name to their profile page
  - Show generic contact card when no agent assigned
  - Always show "Request Information" widget linking to contact page
- Added property inquiry flow:
  - Contact links include ?property=PropertyName GET parameter
  - Contact page pre-fills message with property inquiry text
  - JS handles CF7 textarea pre-fill if plugin is active
- Added styles for new property-inquiry-card and generic-contact-card widgets

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-30 18:46:12 -06:00
Hanson.xyz Dev ef12be70ca Add Agent CPT with single-agent profile template
- Created Agent custom post type with ACF fields (phone, email, website, title, license, bio, gallery, social links repeater)
- Added single-agent.php template with modern profile layout: header with photo/contact buttons/social links, biography section, photo gallery, current listings, sidebar contact card
- Created single-agent.scss with responsive styling matching HomeProz dark theme
- Updated single-property.php sidebar: moved property header widget, added document downloads with primary button styling
- Imported 4 agents from homeprozrealestate.com with profile images
- Added agent scrape scripts for reference

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-30 18:38:49 -06:00
Hanson.xyz Dev fd0693e526 Phase 8 structural enhancements: Communities, Resources, Footer
Completed tasks:
- html-7jz: Added Communities section with landing page and community template
- html-t8u: Added Resources section with Buyer's Guide and Seller's Guide
- html-3nq: Enhanced footer with office hours, professional logos, license info

New files:
- page-communities.php: Communities landing page listing all locations
- template-community.php: Individual community page template
- page-resources.php: Resources hub with featured guides
- template-resource.php: Individual resource/guide page template
- content-communities.scss, content-resources.scss: Styles for new pages

WordPress changes:
- Created Communities page with 3 child pages (Albert Lea, Austin, Glenville)
- Created Resources page with 2 child pages (Buyer's Guide, Seller's Guide)
- Added Communities and Resources to primary navigation menu
- Added new location terms for communities

Footer enhancements:
- Office hours section (4-column grid now)
- Professional association logos (REALTOR, Equal Housing)
- License number display
2025-11-30 02:47:16 -06:00
Hanson.xyz Dev 23a7155955 Homepage structural enhancements from RHR analysis
Phase 8 P1 tasks completed:
- Added location search dropdown to hero section (html-98b)
- Added service cards section with Buy/Rent/Sell options (html-5bw)
- Separated Featured Homes and Commercial/Land into distinct sections (html-2fp)

Changes:
- hero-section.php: New show_location_search option with community dropdown
- service-cards.php/scss: New component with 3 service cards
- front-page.php: Hero with search, service cards, separate property sections
- Added community terms: Glenville, Emmons, Clarks Grove, Alden, Hartland, Geneva
2025-11-30 02:33:25 -06:00
Hanson.xyz Dev 5b629bdbab Update design docs with RHR competitor structural changes
DESIGN-DOCUMENT.md v1.1:
- Expanded site architecture with Communities and Resources sections
- Updated navigation: Properties | Communities | About | Resources | Contact
- Hero now includes location search dropdown
- Added Service Cards section (Buy/Rent/Sell)
- Separated Residential and Commercial listings on homepage
- Property archive now includes map view (split layout)
- Added Community page template specs
- Added Resources page template specs
- Enhanced footer with office hours, pro logos, license numbers

IMPLEMENTATION-PLAN.md v1.6:
- Added Phase 8: RHR Structural Enhancements
- New templates: page-communities.php, page-resources.php, template-community.php, template-resource.php
- ACF field specs for community and resource pages
- Linked beads issues for tracking
2025-11-30 02:29:02 -06:00
Hanson.xyz Dev 562a0bd5b0 Competitor analysis: Robert Hoffman Realty site scrape and comparison
- Created Playwright scraper for JS-rendered Wix sites
- Scraped homepage, listings, contact, and team pages with screenshots
- Wrote detailed ANALYSIS.md comparing RHR structure to HomeProz design
- Key recommendations: add community pages, map view, property type separation
2025-11-30 02:22:01 -06:00
Hanson.xyz Dev afcf6042cd Configure beads git hooks and sync settings 2025-11-30 01:56:12 -06:00
Hanson.xyz Dev 5e2bb8585a Initialize beads issue tracking and update git policy
- Initialize beads (.beads/ directory)
- Add Claude Code hooks for SessionStart/PreCompact
- Update CLAUDE.md to clarify all build artifacts are committed
- Update .gitignore to allow node_modules and dist
2025-11-30 01:55:50 -06:00
Hanson.xyz Dev 3c76e76068 ACF Pro: Upgrade from free, add Documents repeater field with download buttons 2025-11-28 17:49:39 -06:00
Hanson.xyz Dev be833efe62 Single property: Revert to original layout, remove sticky from sidebar 2025-11-28 17:31:05 -06:00
Hanson.xyz Dev dd006f51dc Single property: Fixed contact sidebar, full-width content area 2025-11-28 17:29:29 -06:00
Hanson.xyz Dev e72097c3a5 UX: Set View Transitions to instant (no fade animation) 2025-11-28 17:27:01 -06:00
Hanson.xyz Dev 335d84cad5 UX: Add View Transitions API meta tag for instant page transitions in Chrome/Edge 2025-11-28 17:25:54 -06:00
Hanson.xyz Dev f754f1f6e1 Security: Add Google reCAPTCHA v2 to login and lost password forms 2025-11-28 17:24:36 -06:00
Hanson.xyz Dev abbd3502e8 Phase 6: AIOS security plugin with conservative login lockdown config (10 attempts) 2025-11-28 17:19:54 -06:00
Hanson.xyz Dev 78a744ef06 Phase 6: WebP image conversion - Converter for Media plugin with Nginx rewrite rules 2025-11-28 17:16:24 -06:00
Hanson.xyz Dev 91de533da4 Phase 5: Content and SEO - Yoast SEO, Schema.org markup, Open Graph, favicon support, XML sitemap 2025-11-28 17:10:24 -06:00
Hanson.xyz Dev c4f29a3152 Phase 4: Block Patterns - Hero CTA, Feature Grid, Team Grid, Testimonial, Split Content, CTA Banner, Contact Info patterns with editor styles 2025-11-28 17:06:48 -06:00
Hanson.xyz Dev f876883cf2 Phase 3: Page Templates - Homepage, About, Contact, Blog, Search, Full-width, Landing templates with reusable components 2025-11-28 16:58:34 -06:00
Hanson.xyz Dev 96e3193880 Update IMPLEMENTATION-PLAN.md with Phase 1 and Phase 2 progress log 2025-11-28 16:40:46 -06:00
Hanson.xyz Dev e3b59464ee Phase 2 Complete: Property system - CPT, ACF, taxonomies, archive, single, AJAX filters 2025-11-28 16:40:06 -06:00
Hanson.xyz Dev 60f460bee3 Step 2.7: Build single property template with gallery, details, features, and agent card 2025-11-28 16:39:56 -06:00