Commit Graph

61 Commits

Author SHA1 Message Date
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
Hanson.xyz Dev d71d8c85ba Step 2.6: Implement AJAX property filtering with URL state management 2025-11-28 16:37:18 -06:00
Hanson.xyz Dev 11886aa53f Step 2.5: Build Property archive template with filters and results 2025-11-28 16:36:00 -06:00
Hanson.xyz Dev 7dd4e23ec4 Step 2.4: Build Property card component with price, specs, status badge 2025-11-28 16:34:33 -06:00
Hanson.xyz Dev 72fbd1bc74 Step 2.3: Install ACF and configure Property Details field group 2025-11-28 16:33:31 -06:00
Hanson.xyz Dev f03dea6b07 Step 2.2: Register Property taxonomies (type, status, location) with default terms 2025-11-28 16:31:35 -06:00