Home / Albuquerque / Paradise West / Volcano Heights
Volcano Heights Homes for Sale | Paradise West, Albuquerque, NM Real Estate & Properties@endsection <div class="mb-4 bg-white rounded-lg shadow-md p-2 sm:p-4 mb-4"> <div class="flex items-start justify-between mb-2"> <h1 class="text-2xl">Volcano Heights - Homes for Sale</h1> <button class="flex items-center gap-2 px-2 py-1 border border-gray-300 rounded-lg hover:bg-gray-50 transition-colors cursor-pointer" onclick="openMapModal('?ptype=Land,Residential&city=Albuquerque&area=ParadiseWest&subdivision=VolcanoHeights')"> <svg class="w-4 h-4" fill="currentColor" viewBox="0 0 24 24"> <path d="M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z"></path> </svg> <span class="text-sm font-medium">Map</span> </button> </div> <p>There are currently <b>0 MLS listings</b> for Houses for sale and <b>1 Land Lots</b> for sale in <b>Volcano Heights, Albuquerque</b>.</p> <p>Click on any listing to view photos, property details, virtual tours, and an interactive map.</p> <p>Want to refine your search? Use our <a href="/search#ptype=Land,Residential&city=Albuquerque&area=ParadiseWest&subdivision=VolcanoHeights"><u><b>Advanced Home Search</b></u></a> to filter real estate by price, bedrooms, features, and more.</p> </div> <div class="mb-4 flex flex-wrap"> <div class="group relative"> <div class="bg-white pr-3 py-1 mr-2 mb-1 text-xs sm:text-sm rounded-md flex items-center"> <span class="ml-3">Land<a href="https://albuquerquehomesonline.com/search-results?ptype=Residential&city=Albuquerque&area=ParadiseWest&subdivision=VolcanoHeights" class="ml-1 p-1 text-gray-500 hover:text-red-500 focus:outline-none">×</a></span> <span class="ml-3">Residential<a href="https://albuquerquehomesonline.com/search-results?ptype=Land&city=Albuquerque&area=ParadiseWest&subdivision=VolcanoHeights" class="ml-1 p-1 text-gray-500 hover:text-red-500 focus:outline-none">×</a></span> </div> <div class="absolute bottom-full left-1/4 transform -translate-x-3/4 mb-2 px-2 py-1 text-sm text-gray-500 bg-white rounded opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none whitespace-nowrap border border-gray-300"> Property Type </div> </div> <div class="group relative"> <div class="bg-white pr-3 py-1 mr-2 mb-1 text-xs sm:text-sm rounded-md flex items-center"> <span class="ml-3"><a href="https://albuquerquehomesonline.com/Albuquerque-City" class="hover:text-red-500 focus:outline-none">Albuquerque</a><a href="https://albuquerquehomesonline.com/search-results?ptype=Land,Residential&area=ParadiseWest&subdivision=VolcanoHeights" class="ml-1 text-gray-500 hover:text-red-500 focus:outline-none">×</a></span> </div> <div class="absolute bottom-full left-1/4 transform -translate-x-3/4 mb-2 px-2 py-1 text-sm text-gray-500 bg-white rounded opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none whitespace-nowrap border border-gray-300"> City </div> </div> <div class="group relative"> <div class="bg-white pr-3 py-1 mr-2 mb-1 text-xs sm:text-sm rounded-md flex items-center"> <span class="ml-3"><a href="https://albuquerquehomesonline.com/ParadiseWest-Area" class="hover:text-red-500 focus:outline-none">Paradise West</a><a href="https://albuquerquehomesonline.com/search-results?ptype=Land,Residential&city=Albuquerque&subdivision=VolcanoHeights" class="ml-1 text-gray-500 hover:text-red-500 focus:outline-none">×</a></span> </div> <div class="absolute bottom-full left-1/4 transform -translate-x-3/4 mb-2 px-2 py-1 text-sm text-gray-500 bg-white rounded opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none whitespace-nowrap border border-gray-300"> MLS Area Major </div> </div> <div class="group relative"> <div class="bg-white pr-3 py-1 mr-2 mb-1 text-xs sm:text-sm rounded-md flex items-center"> <span class="ml-3"><a href="https://albuquerquehomesonline.com/VolcanoHeights-Subdivision" class="hover:text-red-500 focus:outline-none">Volcano Heights</a><a href="https://albuquerquehomesonline.com/search-results?ptype=Land,Residential&city=Albuquerque&area=ParadiseWest" class="ml-1 text-gray-500 hover:text-red-500 focus:outline-none">×</a></span> </div> <div class="absolute bottom-full left-1/4 transform -translate-x-3/4 mb-2 px-2 py-1 text-sm text-gray-500 bg-white rounded opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none whitespace-nowrap border border-gray-300"> Subdivision </div> </div> </div> <!-- Property Listings --> <div class="space-y-6"> <div class="bg-white rounded-lg shadow-md overflow-hidden"> <div class="md:flex"> <div class="md:flex-shrink-0"> <a href="https://albuquerquehomesonline.com/Paseo-Del-Nortecalle-Nortena-Nw-Albuquerque/id15777"> <img class="h-48 w-full object-cover md:w-60 md:h-full max-h-48 w-auto object-cover" src="https://imgs1.iilogic.com/sw/1092/224/13f_s.jpg" alt="Paseo Del Norte/Calle Nortena NW, Albuquerque "> </a> </div> <div class="p-2 sm:p-4 flex-1"> <div class="flex justify-between items-start"> <div> <h2 class="text-bg sm:text-xl font-semibold text-blue-700 hover:text-blue-900"> <a href="https://albuquerquehomesonline.com/Paseo-Del-Nortecalle-Nortena-Nw-Albuquerque/id15777"> Paseo Del Norte/Calle Nortena NW, Albuquerque </a> </h2> </div> <div class="text-right"> <div class="text-xl sm:text-2xl font-bold text-gray-800">$150,000</div> </div> </div> <div class="flex justify-between items-start"> <div> <p class="mt-1 text-gray-600 line-clamp-2"> Imminent path of development just north of Paseo Del Norte just up the hill from Golf Course Rd. (McDonalds, Smiths, etc.) . East of intersection of UNSER and PDN. Undeveloped tract. Seller may finance short term. PDN and Unser slated for expansion 2026. </p> </div> </div> <div class="mt-4 flex justify-between items-end"> <div class="flex space-x-4"> <div class="text-center"> <div class="font-semibold text-xl">3</div> <div class="text-xs text-gray-500">ACRES</div> </div> <div class="text-center hidden sm:block"> <div class="font-semibold text-xl">1092224</div> <div class="text-xs text-gray-500">MLS</div> </div> </div> <div class="flex items-center space-x-2"> <button class="flex items-center text-blue-600 hover:text-blue-800" x-data @click="$dispatch('open-modal', { id: 'request-info-modal', listing: 15777, listingInfo: 'Paseo Del Norte/Calle Nortena NW. MLS # 1092224' })" > <svg class="w-5 h-5 mr-1" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path> </svg> <span class="hidden sm:block">REQUEST INFORMATION</span> </button> </div> </div> </div> </div> </div> <p class="text-gray-800 mt-2 text-lg"><b>Explore Nearby Properties (1 mile radius):</b></p> <div class="bg-white rounded-lg shadow-md overflow-hidden"> <div class="md:flex"> <div class="md:flex-shrink-0"> <a href="https://albuquerquehomesonline.com/5509-Valiente-Road-Nw-Albuquerque/id10491"> <img class="h-48 w-full object-cover md:w-60 md:h-full max-h-48 w-auto object-cover" src="https://imgs1.iilogic.com/sw/1086/862/1e0_s.jpg" alt="5509 VALIENTE Road NW, Albuquerque "> </a> </div> <div class="p-2 sm:p-4 flex-1"> <div class="flex justify-between items-start"> <div> <h2 class="text-bg sm:text-xl font-semibold text-blue-700 hover:text-blue-900"> <a href="https://albuquerquehomesonline.com/5509-Valiente-Road-Nw-Albuquerque/id10491"> 5509 VALIENTE Road NW, Albuquerque </a> </h2> </div> <div class="text-right"> <div class="text-xl sm:text-2xl font-bold text-gray-800">$625,000</div> </div> </div> <div class="flex justify-between items-start"> <div> <p class="mt-1 text-gray-600 line-clamp-2"> Welcome to this BRAND NEW, thoughtfully custom designed 3-bedroom home. Brand New Appliances are also included but not yet installed.Located on a corner lot. Featuring functionality at its best, with high ceilings and skylights, this residence is filled with natural light, creating a warm and inviting atmosphere throughout. The smart home technology makes modern living effortless. With brand new bamboo flooring and an extremely functional layout, this home offers everything you need for comfortable living and no wasted space. Don't miss the opportunity to make this exceptional property your new home. </p> </div> </div> <div class="mt-4 flex justify-between items-end"> <div class="flex space-x-4"> <div class="text-center"> <div class="font-semibold text-xl">3</div> <div class="text-xs text-gray-500">BEDS</div> </div> <div class="text-center"> <div class="font-semibold text-xl">3</div> <div class="text-xs text-gray-500">BATHS</div> </div> <div class="text-center"> <div class="font-semibold text-xl">2,805</div> <div class="text-xs text-gray-500">SQFT</div> </div> <div class="text-center"> <div class="font-semibold text-xl">0.32</div> <div class="text-xs text-gray-500">ACRES</div> </div> <div class="text-center hidden sm:block"> <div class="font-semibold text-xl">1086862</div> <div class="text-xs text-gray-500">MLS</div> </div> </div> <div class="flex items-center space-x-2"> <button class="flex items-center text-blue-600 hover:text-blue-800" x-data @click="$dispatch('open-modal', { id: 'request-info-modal', listing: 10491, listingInfo: '5509 VALIENTE Road NW. MLS # 1086862' })" > <svg class="w-5 h-5 mr-1" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path> </svg> <span class="hidden sm:block">REQUEST INFORMATION</span> </button> </div> </div> </div> </div> </div> <div class="bg-white rounded-lg shadow-md overflow-hidden"> <div class="md:flex"> <div class="md:flex-shrink-0"> <a href="https://albuquerquehomesonline.com/5679-Cold-Creek-Avenue-Nw-Albuquerque/id15021"> <img class="h-48 w-full object-cover md:w-60 md:h-full max-h-48 w-auto object-cover" src="https://imgs1.iilogic.com/sw/1091/462/192_s.jpg" alt="5679 COLD CREEK Avenue NW, Albuquerque "> </a> </div> <div class="p-2 sm:p-4 flex-1"> <div class="flex justify-between items-start"> <div> <h2 class="text-bg sm:text-xl font-semibold text-blue-700 hover:text-blue-900"> <a href="https://albuquerquehomesonline.com/5679-Cold-Creek-Avenue-Nw-Albuquerque/id15021"> 5679 COLD CREEK Avenue NW, Albuquerque </a> </h2> </div> <div class="text-right"> <div class="text-xl sm:text-2xl font-bold text-gray-800">$379,000</div> </div> </div> <div class="flex justify-between items-start"> <div> <p class="mt-1 text-gray-600 line-clamp-2"> </p> </div> </div> <div class="mt-4 flex justify-between items-end"> <div class="flex space-x-4"> <div class="text-center"> <div class="font-semibold text-xl">4</div> <div class="text-xs text-gray-500">BEDS</div> </div> <div class="text-center"> <div class="font-semibold text-xl">2</div> <div class="text-xs text-gray-500">BATHS</div> </div> <div class="text-center"> <div class="font-semibold text-xl">1,834</div> <div class="text-xs text-gray-500">SQFT</div> </div> <div class="text-center"> <div class="font-semibold text-xl">0.12</div> <div class="text-xs text-gray-500">ACRES</div> </div> <div class="text-center hidden sm:block"> <div class="font-semibold text-xl">1091462</div> <div class="text-xs text-gray-500">MLS</div> </div> </div> <div class="flex items-center space-x-2"> <button class="flex items-center text-blue-600 hover:text-blue-800" x-data @click="$dispatch('open-modal', { id: 'request-info-modal', listing: 15021, listingInfo: '5679 COLD CREEK Avenue NW. MLS # 1091462' })" > <svg class="w-5 h-5 mr-1" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path> </svg> <span class="hidden sm:block">REQUEST INFORMATION</span> </button> </div> </div> </div> </div> </div> <div class="bg-white rounded-lg shadow-md overflow-hidden"> <div class="md:flex"> <div class="md:flex-shrink-0"> <a href="https://albuquerquehomesonline.com/9527-Sun-Dancer-Drive-Nw-Albuquerque/id12286"> <img class="h-48 w-full object-cover md:w-60 md:h-full max-h-48 w-auto object-cover" src="https://imgs1.iilogic.com/sw/1088/652/1eb_s.jpg" alt="9527 SUN DANCER Drive NW, Albuquerque "> </a> </div> <div class="p-2 sm:p-4 flex-1"> <div class="flex justify-between items-start"> <div> <h2 class="text-bg sm:text-xl font-semibold text-blue-700 hover:text-blue-900"> <a href="https://albuquerquehomesonline.com/9527-Sun-Dancer-Drive-Nw-Albuquerque/id12286"> 9527 SUN DANCER Drive NW, Albuquerque </a> </h2> </div> <div class="text-right"> <div class="text-xl sm:text-2xl font-bold text-gray-800">$382,500</div> </div> </div> <div class="flex justify-between items-start"> <div> <p class="mt-1 text-gray-600 line-clamp-2"> Clean, fresh & move in ready! 2 story, 3/3 home w/ REFRIGERATED air, 2 living spaces & PAID OFF SOLAR! Nicely kept subdivision w/ easy access to Paseo. Walk in to the front living space that opens to a spacious 2nd bonus living area. Any sized furniture, TV, pool table! Living is open to the dining area & pretty kitchen. Kitchen has granite counters, stainless appliances, gas stove, bar for stools & a pantry. Space for a dining table as well! Half bath & laundry room are downstairs w/ another large storage pantry closet. Upstairs are the 3 bedrooms with bamboo flooring. NO Carpet! Primary is spacious w/ a large walk in closet, full bath w/ a 2 sink vanity. Extra storage as well. Down the hall are the 2 spare bedrms, full spare bathroom. Yards are low maint, shed in back, covered patio! </p> </div> </div> <div class="mt-4 flex justify-between items-end"> <div class="flex space-x-4"> <div class="text-center"> <div class="font-semibold text-xl">3</div> <div class="text-xs text-gray-500">BEDS</div> </div> <div class="text-center"> <div class="font-semibold text-xl">3</div> <div class="text-xs text-gray-500">BATHS</div> </div> <div class="text-center"> <div class="font-semibold text-xl">2,049</div> <div class="text-xs text-gray-500">SQFT</div> </div> <div class="text-center"> <div class="font-semibold text-xl">0.11</div> <div class="text-xs text-gray-500">ACRES</div> </div> <div class="text-center hidden sm:block"> <div class="font-semibold text-xl">1088652</div> <div class="text-xs text-gray-500">MLS</div> </div> </div> <div class="flex items-center space-x-2"> <button class="flex items-center text-blue-600 hover:text-blue-800" x-data @click="$dispatch('open-modal', { id: 'request-info-modal', listing: 12286, listingInfo: '9527 SUN DANCER Drive NW. MLS # 1088652' })" > <svg class="w-5 h-5 mr-1" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path> </svg> <span class="hidden sm:block">REQUEST INFORMATION</span> </button> </div> </div> </div> </div> </div> <div class="bg-white rounded-lg shadow-md overflow-hidden"> <div class="md:flex"> <div class="md:flex-shrink-0"> <a href="https://albuquerquehomesonline.com/Unit-26-Lot-4-Volcano-Cliffs-Albuquerque/id6835"> <img class="h-48 w-full object-cover md:w-60 md:h-full max-h-48 w-auto object-cover" src="https://imgs1.iilogic.com/sw/1083/476/12d_s.jpg" alt="Unit 26 Lot 4 Volcano Cliffs, Albuquerque "> </a> </div> <div class="p-2 sm:p-4 flex-1"> <div class="flex justify-between items-start"> <div> <h2 class="text-bg sm:text-xl font-semibold text-blue-700 hover:text-blue-900"> <a href="https://albuquerquehomesonline.com/Unit-26-Lot-4-Volcano-Cliffs-Albuquerque/id6835"> Unit 26 Lot 4 Volcano Cliffs, Albuquerque </a> </h2> </div> <div class="text-right"> <div class="text-xl sm:text-2xl font-bold text-gray-800">$65,000</div> </div> </div> <div class="flex justify-between items-start"> <div> <p class="mt-1 text-gray-600 line-clamp-2"> A fantastic opportunity to own land in the growing northwest Albuquerque. This prime lot offers breathtaking views of the Sandia Mountains. Lot 5 is also available and can be sold together. Please check with the city for utility information. Easy access to Paseo Del Norte and Unser Roads. Paseo Del Norte to Kimmick Dr. The next dirt road off of Paseo is Calle Plata. The lot is off of Paseo Del Norte and Calle Plata, next to the new construction of Pulte Homes </p> </div> </div> <div class="mt-4 flex justify-between items-end"> <div class="flex space-x-4"> <div class="text-center"> <div class="font-semibold text-xl">0.29</div> <div class="text-xs text-gray-500">ACRES</div> </div> <div class="text-center hidden sm:block"> <div class="font-semibold text-xl">1083476</div> <div class="text-xs text-gray-500">MLS</div> </div> </div> <div class="flex items-center space-x-2"> <button class="flex items-center text-blue-600 hover:text-blue-800" x-data @click="$dispatch('open-modal', { id: 'request-info-modal', listing: 6835, listingInfo: 'Unit 26 Lot 4 Volcano Cliffs. MLS # 1083476' })" > <svg class="w-5 h-5 mr-1" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path> </svg> <span class="hidden sm:block">REQUEST INFORMATION</span> </button> </div> </div> </div> </div> </div> <div class="bg-white rounded-lg shadow-md overflow-hidden"> <div class="md:flex"> <div class="md:flex-shrink-0"> <a href="https://albuquerquehomesonline.com/Unit-26-Lot-5-Volcano-Cliffs-Albuquerque/id6834"> <img class="h-48 w-full object-cover md:w-60 md:h-full max-h-48 w-auto object-cover" src="https://imgs1.iilogic.com/sw/1083/477/1dd_s.jpg" alt="Unit 26 Lot 5 Volcano Cliffs, Albuquerque "> </a> </div> <div class="p-2 sm:p-4 flex-1"> <div class="flex justify-between items-start"> <div> <h2 class="text-bg sm:text-xl font-semibold text-blue-700 hover:text-blue-900"> <a href="https://albuquerquehomesonline.com/Unit-26-Lot-5-Volcano-Cliffs-Albuquerque/id6834"> Unit 26 Lot 5 Volcano Cliffs, Albuquerque </a> </h2> </div> <div class="text-right"> <div class="text-xl sm:text-2xl font-bold text-gray-800">$65,000</div> </div> </div> <div class="flex justify-between items-start"> <div> <p class="mt-1 text-gray-600 line-clamp-2"> A fantastic opportunity to own land in the growing northwest Albuquerque. This prime lot offers breathtaking views of the Sandia Mountains. Lot 4 is also for sale and can be sold together. Please check with the city for utility information. Easy access to Paseo Del Norte and Unser Roads. Paseo Del Norte to Kimmick Dr. The next dirt road off of Paseo is Calle Plata. The lot is off of Paseo Del Norte and Calle Plata, next to the new construction of Pulte Homes </p> </div> </div> <div class="mt-4 flex justify-between items-end"> <div class="flex space-x-4"> <div class="text-center"> <div class="font-semibold text-xl">0.27</div> <div class="text-xs text-gray-500">ACRES</div> </div> <div class="text-center hidden sm:block"> <div class="font-semibold text-xl">1083477</div> <div class="text-xs text-gray-500">MLS</div> </div> </div> <div class="flex items-center space-x-2"> <button class="flex items-center text-blue-600 hover:text-blue-800" x-data @click="$dispatch('open-modal', { id: 'request-info-modal', listing: 6834, listingInfo: 'Unit 26 Lot 5 Volcano Cliffs. MLS # 1083477' })" > <svg class="w-5 h-5 mr-1" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path> </svg> <span class="hidden sm:block">REQUEST INFORMATION</span> </button> </div> </div> </div> </div> </div> <div class="bg-white rounded-lg shadow-md overflow-hidden"> <div class="md:flex"> <div class="md:flex-shrink-0"> <a href="https://albuquerquehomesonline.com/Unit-26-Lot-3-Volcano-Cliffs-Nw-26-Albuquerque/id3825"> <img class="h-48 w-full object-cover md:w-60 md:h-full max-h-48 w-auto object-cover" src="https://imgs1.iilogic.com/sw/1073/574/1f7_s.jpg" alt="Unit 26 Lot 3 Volcano Cliffs NW 26, Albuquerque "> </a> </div> <div class="p-2 sm:p-4 flex-1"> <div class="flex justify-between items-start"> <div> <h2 class="text-bg sm:text-xl font-semibold text-blue-700 hover:text-blue-900"> <a href="https://albuquerquehomesonline.com/Unit-26-Lot-3-Volcano-Cliffs-Nw-26-Albuquerque/id3825"> Unit 26 Lot 3 Volcano Cliffs NW 26, Albuquerque </a> </h2> </div> <div class="text-right"> <div class="text-xl sm:text-2xl font-bold text-gray-800">$65,000</div> </div> </div> <div class="flex justify-between items-start"> <div> <p class="mt-1 text-gray-600 line-clamp-2"> Build your own custom home on this lot. This area is growing and expanding, so here is your opportunity to live on the west side. Great views of the Sandia Mountains and close to Petroglyphs National Monument. Please check with the for utility information. Easy access to Paseo Del Norte and Unser Roads. Take Paseo Del Norte to Kimmick Dr. the next dirt road is Calle Plata. This Lot is Paseo Del Norte next to the new construction of Pulte Homes. Lots 4 and 5 also available. Take Paseo Del Norte to Kimmick Dr. the next dirt road is Calle Plata. The Lots are off Paseo Del Norte next to the new construction of Pulte Homes. </p> </div> </div> <div class="mt-4 flex justify-between items-end"> <div class="flex space-x-4"> <div class="text-center"> <div class="font-semibold text-xl">0.42</div> <div class="text-xs text-gray-500">ACRES</div> </div> <div class="text-center hidden sm:block"> <div class="font-semibold text-xl">1073574</div> <div class="text-xs text-gray-500">MLS</div> </div> </div> <div class="flex items-center space-x-2"> <button class="flex items-center text-blue-600 hover:text-blue-800" x-data @click="$dispatch('open-modal', { id: 'request-info-modal', listing: 3825, listingInfo: 'Unit 26 Lot 3 Volcano Cliffs NW 26. MLS # 1073574' })" > <svg class="w-5 h-5 mr-1" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path> </svg> <span class="hidden sm:block">REQUEST INFORMATION</span> </button> </div> </div> </div> </div> </div> <div class="bg-white rounded-lg shadow-md overflow-hidden"> <div class="md:flex"> <div class="md:flex-shrink-0"> <a href="https://albuquerquehomesonline.com/9632-Jacks-Creek-Drive-Nw-Albuquerque/id362"> <img class="h-48 w-full object-cover md:w-60 md:h-full max-h-48 w-auto object-cover" src="https://imgs1.iilogic.com/sw/1082/434/154_s.jpg" alt="9632 JACKS CREEK Drive NW, Albuquerque "> </a> </div> <div class="p-2 sm:p-4 flex-1"> <div class="flex justify-between items-start"> <div> <h2 class="text-bg sm:text-xl font-semibold text-blue-700 hover:text-blue-900"> <a href="https://albuquerquehomesonline.com/9632-Jacks-Creek-Drive-Nw-Albuquerque/id362"> 9632 JACKS CREEK Drive NW, Albuquerque </a> </h2> </div> <div class="text-right"> <div class="text-xl sm:text-2xl font-bold text-gray-800">$369,000</div> </div> </div> <div class="flex justify-between items-start"> <div> <p class="mt-1 text-gray-600 line-clamp-2"> Welcome to a standout property on Albuquerque's westside. Sitting on an oversized lot, this 4 bed 2 bath home offers space, privacy, and sweeping views of the Sandia Mountains. Whether you're enjoying your morning coffee on the patio or hosting a gathering, the backdrop is always stunning. If being inside is more your speed, a refrigerated A/C system awaits you with a layout that is both functional, open, and filled with natural light. Located in a quiet, well-kept neighborhood with convenient access to Paseo del Norte, shopping, dining, and outdoor recreation, this home is a rare find that blends scenery, space, and access. </p> </div> </div> <div class="mt-4 flex justify-between items-end"> <div class="flex space-x-4"> <div class="text-center"> <div class="font-semibold text-xl">4</div> <div class="text-xs text-gray-500">BEDS</div> </div> <div class="text-center"> <div class="font-semibold text-xl">2</div> <div class="text-xs text-gray-500">BATHS</div> </div> <div class="text-center"> <div class="font-semibold text-xl">1,866</div> <div class="text-xs text-gray-500">SQFT</div> </div> <div class="text-center"> <div class="font-semibold text-xl">0.18</div> <div class="text-xs text-gray-500">ACRES</div> </div> <div class="text-center hidden sm:block"> <div class="font-semibold text-xl">1082434</div> <div class="text-xs text-gray-500">MLS</div> </div> </div> <div class="flex items-center space-x-2"> <button class="flex items-center text-blue-600 hover:text-blue-800" x-data @click="$dispatch('open-modal', { id: 'request-info-modal', listing: 362, listingInfo: '9632 JACKS CREEK Drive NW. MLS # 1082434' })" > <svg class="w-5 h-5 mr-1" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path> </svg> <span class="hidden sm:block">REQUEST INFORMATION</span> </button> </div> </div> </div> </div> </div> <div class="bg-white rounded-lg shadow-md overflow-hidden"> <div class="md:flex"> <div class="md:flex-shrink-0"> <a href="https://albuquerquehomesonline.com/6205-Angelou-Lane-Nw-Albuquerque/id12806"> <img class="h-48 w-full object-cover md:w-60 md:h-full max-h-48 w-auto object-cover" src="https://imgs1.iilogic.com/sw/1089/188/1c7_s.jpg" alt="6205 Angelou Lane NW, Albuquerque "> </a> </div> <div class="p-2 sm:p-4 flex-1"> <div class="flex justify-between items-start"> <div> <h2 class="text-bg sm:text-xl font-semibold text-blue-700 hover:text-blue-900"> <a href="https://albuquerquehomesonline.com/6205-Angelou-Lane-Nw-Albuquerque/id12806"> 6205 Angelou Lane NW, Albuquerque </a> </h2> </div> <div class="text-right"> <div class="text-xl sm:text-2xl font-bold text-gray-800">$535,000</div> </div> </div> <div class="flex justify-between items-start"> <div> <p class="mt-1 text-gray-600 line-clamp-2"> Brand new, never lived in Pulte home. Enjoy brand new appliances, new carpet, new A/C, new tank-less hot water heater, and so much more. This stunning home offers a perfect blend of comfort and functionality. The spacious layout features an open-concept living area that connects the kitchen, dining and great room, ideal for entertaining or every day living. </p> </div> </div> <div class="mt-4 flex justify-between items-end"> <div class="flex space-x-4"> <div class="text-center"> <div class="font-semibold text-xl">4</div> <div class="text-xs text-gray-500">BEDS</div> </div> <div class="text-center"> <div class="font-semibold text-xl">2</div> <div class="text-xs text-gray-500">BATHS</div> </div> <div class="text-center"> <div class="font-semibold text-xl">2,176</div> <div class="text-xs text-gray-500">SQFT</div> </div> <div class="text-center"> <div class="font-semibold text-xl">0.16</div> <div class="text-xs text-gray-500">ACRES</div> </div> <div class="text-center hidden sm:block"> <div class="font-semibold text-xl">1089188</div> <div class="text-xs text-gray-500">MLS</div> </div> </div> <div class="flex items-center space-x-2"> <button class="flex items-center text-blue-600 hover:text-blue-800" x-data @click="$dispatch('open-modal', { id: 'request-info-modal', listing: 12806, listingInfo: '6205 Angelou Lane NW. MLS # 1089188' })" > <svg class="w-5 h-5 mr-1" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path> </svg> <span class="hidden sm:block">REQUEST INFORMATION</span> </button> </div> </div> </div> </div> </div> <div class="bg-white rounded-lg shadow-md overflow-hidden"> <div class="md:flex"> <div class="md:flex-shrink-0"> <a href="https://albuquerquehomesonline.com/6209-Angelou-Lane-Nw-Albuquerque/id2376"> <img class="h-48 w-full object-cover md:w-60 md:h-full max-h-48 w-auto object-cover" src="https://imgs1.iilogic.com/sw/1079/70/125_s.jpg" alt="6209 Angelou Lane NW, Albuquerque "> </a> </div> <div class="p-2 sm:p-4 flex-1"> <div class="flex justify-between items-start"> <div> <h2 class="text-bg sm:text-xl font-semibold text-blue-700 hover:text-blue-900"> <a href="https://albuquerquehomesonline.com/6209-Angelou-Lane-Nw-Albuquerque/id2376"> 6209 Angelou Lane NW, Albuquerque </a> </h2> </div> <div class="text-right"> <div class="text-xl sm:text-2xl font-bold text-gray-800">$499,000</div> </div> </div> <div class="flex justify-between items-start"> <div> <p class="mt-1 text-gray-600 line-clamp-2"> Brand new, never lived in Pulte home. Enjoy brand new appliances, new carpet, new A/C, new tank-less hot water heater, and so much more. Ready April! This single-story home features a very open floor plan. Large owner's suite with bay window. No backyard neighbors. Large park with basketball court, playground and picnic area all within our gates community located to all conveniences. </p> </div> </div> <div class="mt-4 flex justify-between items-end"> <div class="flex space-x-4"> <div class="text-center"> <div class="font-semibold text-xl">4</div> <div class="text-xs text-gray-500">BEDS</div> </div> <div class="text-center"> <div class="font-semibold text-xl">2</div> <div class="text-xs text-gray-500">BATHS</div> </div> <div class="text-center"> <div class="font-semibold text-xl">1,998</div> <div class="text-xs text-gray-500">SQFT</div> </div> <div class="text-center"> <div class="font-semibold text-xl">0.16</div> <div class="text-xs text-gray-500">ACRES</div> </div> <div class="text-center hidden sm:block"> <div class="font-semibold text-xl">1079070</div> <div class="text-xs text-gray-500">MLS</div> </div> </div> <div class="flex items-center space-x-2"> <button class="flex items-center text-blue-600 hover:text-blue-800" x-data @click="$dispatch('open-modal', { id: 'request-info-modal', listing: 2376, listingInfo: '6209 Angelou Lane NW. MLS # 1079070' })" > <svg class="w-5 h-5 mr-1" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path> </svg> <span class="hidden sm:block">REQUEST INFORMATION</span> </button> </div> </div> </div> </div> </div> <div class="bg-white rounded-lg shadow-md overflow-hidden"> <div class="md:flex"> <div class="md:flex-shrink-0"> <a href="https://albuquerquehomesonline.com/6225-Angelou-Lane-Nw-Albuquerque/id12339"> <img class="h-48 w-full object-cover md:w-60 md:h-full max-h-48 w-auto object-cover" src="https://imgs1.iilogic.com/sw/1088/706/160_s.jpg" alt="6225 Angelou Lane NW, Albuquerque "> </a> </div> <div class="p-2 sm:p-4 flex-1"> <div class="flex justify-between items-start"> <div> <h2 class="text-bg sm:text-xl font-semibold text-blue-700 hover:text-blue-900"> <a href="https://albuquerquehomesonline.com/6225-Angelou-Lane-Nw-Albuquerque/id12339"> 6225 Angelou Lane NW, Albuquerque </a> </h2> </div> <div class="text-right"> <div class="text-xl sm:text-2xl font-bold text-gray-800">$629,000</div> </div> </div> <div class="flex justify-between items-start"> <div> <p class="mt-1 text-gray-600 line-clamp-2"> Brand new, never lived in Pulte home. Enjoy brand new appliances, new carpet, new A/C, new tank-less hot water heater, and so much more. Spacious 4BR, 3BA home with downstairs owner's suite, large loft with balcony, and bonus game room. Perfect layout for comfort, entertaining, and family fun! </p> </div> </div> <div class="mt-4 flex justify-between items-end"> <div class="flex space-x-4"> <div class="text-center"> <div class="font-semibold text-xl">4</div> <div class="text-xs text-gray-500">BEDS</div> </div> <div class="text-center"> <div class="font-semibold text-xl">3</div> <div class="text-xs text-gray-500">BATHS</div> </div> <div class="text-center"> <div class="font-semibold text-xl">3,315</div> <div class="text-xs text-gray-500">SQFT</div> </div> <div class="text-center"> <div class="font-semibold text-xl">0.16</div> <div class="text-xs text-gray-500">ACRES</div> </div> <div class="text-center hidden sm:block"> <div class="font-semibold text-xl">1088706</div> <div class="text-xs text-gray-500">MLS</div> </div> </div> <div class="flex items-center space-x-2"> <button class="flex items-center text-blue-600 hover:text-blue-800" x-data @click="$dispatch('open-modal', { id: 'request-info-modal', listing: 12339, listingInfo: '6225 Angelou Lane NW. MLS # 1088706' })" > <svg class="w-5 h-5 mr-1" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path> </svg> <span class="hidden sm:block">REQUEST INFORMATION</span> </button> </div> </div> </div> </div> </div> </div> <!-- Pagination --> <nav class="mt-8"> </nav> </div> <div class="w-full lg:w-1/3 mt-8 lg:mt-0"> <div class="bg-white rounded-lg shadow-md p-6 mb-8 sticky top-4 z-10"> <div class="flex items-center mb-4"> <img src="/img/Daria-Derebera.jpg" alt="Daria Derebera Realtor" class="w-16 h-16 rounded-full object-cover mr-4"> <div> <h3 class="font-semibold text-lg">Daria Derebera</h3> <p class="text-gray-600">Real Estate Broker in Albuquerque, NM</p> </div> </div> <div class="flex items-center mb-4"> <a href="tel:+15055218550" class="text-gray-700 hover:text-blue-600"> <svg class="w-4 h-4 mr-1 inline" fill="currentColor" viewBox="0 0 20 20"> <path d="M2 3a1 1 0 011-1h2.153a1 1 0 01.986.836l.74 4.435a1 1 0 01-.54 1.06l-1.548.773a11.037 11.037 0 006.105 6.105l.774-1.548a1 1 0 011.059-.54l4.435.74a1 1 0 01.836.986V17a1 1 0 01-1 1h-2C7.82 18 2 12.18 2 5V3z"/> </svg> (505) 521 8550 </a> </div> <form method="POST" id="detail-contact-agent" class=""> <input type="hidden" name="address" value="https://albuquerquehomesonline.com/listings/request-info"> <input type="hidden" name="_token" value="MzD7wEsvkJmdztUTPWAuoHplmul7TEY7noqukV5G" autocomplete="off"> <div> <label for="contact_name" class="block text-sm font-medium text-gray-700 mb-1">Name</label> <input type="text" id="contact_name" name="name" class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500" required> </div> <div> <label for="contact_email" class="block text-sm font-medium text-gray-700 mb-1 mt-3">Email</label> <input type="email" id="contact_email" name="email" class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500" required> </div> <div> <label for="contact_phone" class="block text-sm font-medium text-gray-700 mb-1 mt-3">Phone</label> <input type="tel" id="contact_phone" name="phone" class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500" required> </div> <div> <label for="contact_message" class="block text-sm font-medium text-gray-700 mb-1 mt-3">Message</label> <textarea id="contact_message" name="message" rows="4" class="w-full px-3 py-2 text-sm border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500" required></textarea> </div> <button type="submit" class="w-full bg-blue-600 text-white py-2 mt-4 rounded-md hover:bg-blue-700 transition-colors cursor-pointer"> Contact Agent </button> </form> </div> <div x-data="{ open: false }" @open-modal.window="open = $event.detail.id === 'detail-contact-agent'" x-show="open" x-cloak class="fixed inset-0 z-50 overflow-y-auto" > <div class="flex items-center justify-center min-h-screen p-4"> <div class="fixed inset-0 bg-black opacity-30" @click="open = false"></div> <!-- Success Message --> <div class="relative bg-white rounded-lg max-w-md w-full mx-auto shadow-lg p-6"> <div class="flex items-center justify-center mb-4"> <svg class="h-12 w-12 text-green-500" fill="none" viewBox="0 0 24 24" stroke="currentColor"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path> </svg> </div> <h3 class="text-lg font-medium text-center">Agent Contact Request Sent</h3> <p class="text-gray-600 text-center mt-2">Thank you for contacting us. An agent will reach out to you as soon as possible.</p> <div class="mt-6 flex justify-center"> <button @click="open = false" class="px-4 py-2 border border-transparent rounded-md shadow-sm text-sm font-medium text-white bg-blue-600 hover:bg-blue-700"> Close </button> </div> </div> </div> </div> <script> const formsArr = ['detail-contact-agent']; formsArr.forEach(function(formId){ document.getElementById(formId).addEventListener("submit", function(event) { event.preventDefault(); this.action = this.address.value; const formData = new FormData(this); formData.set('type', this.id); formData.set('ua', navigator.userAgent); const submitButton = this.querySelector('button[type="submit"]'); if (submitButton) { submitButton.disabled = true; } const xhr = new XMLHttpRequest(); xhr.open('POST', this.action, false); try { xhr.send(formData); if(formId === 'detail-contact-agent'){ const modalEvent = new CustomEvent('open-modal', { detail: { id: 'detail-contact-agent' } }); window.dispatchEvent(modalEvent); } this.reset(); } catch (error) { console.error('Error submitting form:', error); alert('There was a problem submitting your request. Please try again.'); } finally { if (submitButton) { submitButton.disabled = false; } } }); }) </script> </div> </div> <h2 class="my-6">Explore Nearby Subdivisions in Albuquerque Area</h2> <p class="text-gray-700 text-lg leading-relaxed mb-6"> Looking beyond <b>Volcano Heights</b>? Expand your home search to these neighboring zip codes in Albuquerque Area. Each area offers unique characteristics, price points, and lifestyle options while maintaining convenient access to Albuquerque. Compare homes across multiple communities to find the perfect match for your budget and lifestyle preferences. </p> <div class="grid md:grid-cols-2 gap-8"> <div> <ul class="space-y-1"> <li> <a href="https://albuquerquehomesonline.com/SundanceEstates-Subdivision" class="text-blue-600 hover:text-blue-800 hover:underline"> Sundance Estates Homes for Sale</a> - <i>1 Listing ~1 Miles Away</i> </li> <li> <a href="https://albuquerquehomesonline.com/EstatesAtLaCuentista-Subdivision" class="text-blue-600 hover:text-blue-800 hover:underline"> Estates At La Cuentista Homes for Sale</a> - <i>4 Listings ~1 Miles Away</i> </li> <li> <a href="https://albuquerquehomesonline.com/Shenandoah-Subdivision" class="text-blue-600 hover:text-blue-800 hover:underline"> Shenandoah Homes for Sale</a> - <i>1 Listing ~1 Miles Away</i> </li> <li> <a href="https://albuquerquehomesonline.com/TheBoulders-Subdivision" class="text-blue-600 hover:text-blue-800 hover:underline"> The Boulders Homes for Sale</a> - <i>1 Listing ~1 Miles Away</i> </li> <li> <a href="https://albuquerquehomesonline.com/HomesteadHills-Subdivision" class="text-blue-600 hover:text-blue-800 hover:underline"> Homestead Hills Homes for Sale</a> - <i>1 Listing ~1 Miles Away</i> </li> <li> <a href="https://albuquerquehomesonline.com/ParadiseHills-Subdivision" class="text-blue-600 hover:text-blue-800 hover:underline"> Paradise Hills Homes for Sale</a> - <i>2 Listings ~2 Miles Away</i> </li> <li> <a href="https://albuquerquehomesonline.com/ChamisaRidge-Subdivision" class="text-blue-600 hover:text-blue-800 hover:underline"> Chamisa Ridge Homes for Sale</a> - <i>1 Listing ~2 Miles Away</i> </li> <li> <a href="https://albuquerquehomesonline.com/VolacanoCliffs-Subdivision" class="text-blue-600 hover:text-blue-800 hover:underline"> Volacano Cliffs Homes for Sale</a> - <i>1 Listing ~2 Miles Away</i> </li> <li> <a href="https://albuquerquehomesonline.com/TaylorRanchHomesteadHills-Subdivision" class="text-blue-600 hover:text-blue-800 hover:underline"> Taylor Ranch-homestead Hills Homes for Sale</a> - <i>1 Listing ~2 Miles Away</i> </li> <li> <a href="https://albuquerquehomesonline.com/VolcanoCliffsSubdivison-Subdivision" class="text-blue-600 hover:text-blue-800 hover:underline"> Volcano Cliffs Subdivison Homes for Sale</a> - <i>1 Listing ~2 Miles Away</i> </li> </ul> </div> <div> <h3>Quick Facts about Volcano Heights community</h3> <ul class="space-y-1"> <li>Postal Code: <b>87114</b></li> <li>County: <b>Bernalillo</b></li> <li>Elementary School: <a href="https://albuquerquehomesonline.com/SierraVistaElementarySchool">Sierra Vista</a></li> <li>Middle School: <a href="https://albuquerquehomesonline.com/JamesMonroeMiddleSchool">James Monroe</a></li> <li>High School: <a href="https://albuquerquehomesonline.com/CibolaHighSchool">Cibola</a></li> </ul> </div> </div> <div class="mt-8 text-sm text-gray-500 flex items-start"> <img src="/img/swmls_logo.gif" class="mr-3 flex-shrink-0 p-2 bg-white rounded border" alt="Southwest MLS Logo"> Some of the information contained herein has been provided by SWMLS, Inc. This information is from sources deemed reliable but not guaranteed by SWMLS, Inc. The information is for consumers’ personal, non-commerical use and may not be used for any purpose other than identifying properties which consumers may be interested in purchasing. </div> </div> <div x-show="open" x-data="mapModal()" x-transition:enter="transition ease-out duration-300" x-transition:enter-start="opacity-0" x-transition:enter-end="opacity-100" x-transition:leave="transition ease-in duration-200" x-transition:leave-start="opacity-100" x-transition:leave-end="opacity-0" class="fixed inset-0 z-50 overflow-hidden flex items-center justify-center p-1 sm:p-4" style="display: none;"> <div class="absolute inset-0 bg-black bg-opacity-75"></div> <div class="relative w-full max-w-7xl h-full max-h-[90vh] bg-white rounded-lg shadow-2xl overflow-hidden"> <div class="flex items-center justify-between p-4 bg-gray-50 border-b"> <h2 class="text-xl font-semibold text-gray-800">Property Map</h2> <button @click="closeModal()" class="bg-white rounded-full p-2 shadow-lg hover:bg-gray-100 transition"> <svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path> </svg> </button> </div> <div x-show="loading" class="absolute inset-0 flex items-center justify-center bg-white z-20"> <div class="text-center"> <div class="animate-spin rounded-full h-12 w-12 border-b-2 border-blue-600 mx-auto"></div> <p class="mt-4 text-gray-600">Loading map and properties...</p> </div> </div> <div id="map" class="w-full h-full"></div> </div> </div> <script> let googleMapsLoaded = false; let googleMapsLoadPromise = null; let googleMapsQuery = null; function openMapModal(query = '') { googleMapsQuery = query; const modalElement = document.querySelector('[x-data="mapModal()"]'); const alpineData = Alpine.$data(modalElement); alpineData.openModal(); }; function loadGoogleMapsAPI() { if (googleMapsLoaded) { return Promise.resolve(); } if (googleMapsLoadPromise) { return googleMapsLoadPromise; } googleMapsLoadPromise = new Promise((resolve, reject) => { const script = document.createElement('script'); script.src = 'https://maps.googleapis.com/maps/api/js?key=AIzaSyBK_zl9FOZc4Wg84V2MRW2ncYlTZLk3m5o&callback=initMapCallback'; script.async = true; script.defer = true; window.initMapCallback = () => { googleMapsLoaded = true; resolve(); }; script.onerror = () => { googleMapsLoadPromise = null; reject(new Error('Failed to load Google Maps')); }; document.head.appendChild(script); }); return googleMapsLoadPromise; } function mapModal() { return { open: false, loading: false, map: null, markers: [], markerCluster: null, infoWindow: null, currentInfoWindow: null, mapInitialized: false, async openModal() { this.open = true; this.loading = true; try { await loadGoogleMapsAPI(); await this.$nextTick(); if (!this.mapInitialized) { await this.initMap(); this.mapInitialized = true; } await this.loadProperties(); } catch (error) { console.error('Error loading map:', error); alert('Failed to load the map. Please check your internet connection and try again.'); this.open = false; } finally { this.loading = false; } }, closeModal() { this.open = false; this.clearMarkers(); if (this.currentInfoWindow) { this.currentInfoWindow.close(); this.currentInfoWindow = null; } }, clearMarkers() { this.markers.forEach(marker => marker.setMap(null)); this.markers = []; }, async initMap() { this.map = new google.maps.Map(document.getElementById('map'), { center: { lat: 35.0844, lng: -106.6504 }, zoom: 12, zoomControl: true, zoomControlOptions: { position: google.maps.ControlPosition.RIGHT_CENTER }, mapTypeControl: true, scaleControl: true, streetViewControl: true, rotateControl: true, fullscreenControl: true }); this.infoWindow = new google.maps.InfoWindow(); this.map.addListener('click', () => { if (this.currentInfoWindow) { this.currentInfoWindow.close(); this.currentInfoWindow = null; } }); }, async loadProperties() { try { this.clearMarkers(); const response = await fetch('/api/map-search' + googleMapsQuery); if (!response.ok) { throw new Error(`HTTP error! status: ${response.status}`); } const properties = await response.json(); this.createMarkers(properties?.results); if (this.markers.length > 0) { const bounds = new google.maps.LatLngBounds(); this.markers.forEach(marker => bounds.extend(marker.getPosition())); this.map.fitBounds(bounds); } } catch (error) { console.error('Error loading properties:', error); } }, createMarkers(properties) { properties.forEach(property => { const priceTag = this.createPriceMarker(property.price); const marker = new google.maps.Marker({ position: { lat: property.lat, lng: property.lng }, map: this.map, icon: { url: 'data:image/svg+xml;charset=UTF-8,' + encodeURIComponent(priceTag), scaledSize: new google.maps.Size(50, 25), anchor: new google.maps.Point(25, 25) }, zoomControl: true, scaleControl: true, }); marker.addListener('click', () => { this.showPropertyInfo(property, marker); }); this.markers.push(marker); }); }, createPriceMarker(price) { const formattedPrice = '$' + (price > 10000 ? new Intl.NumberFormat().format(Math.round(price / 1000)) + 'K' : new Intl.NumberFormat().format(price)); return ` <svg width="50" height="25" xmlns="http://www.w3.org/2000/svg"> <g> <rect x="0" y="0" width="50" height="20" rx="4" fill="#3B82F6"/> <polygon points="25,25 21,20 29,20" fill="#3B82F6"/> <text x="25" y="14" text-anchor="middle" fill="white" font-family="Arial" font-size="10" font-weight="500" style="font-size: 11px !important;">${formattedPrice}</text> </g> </svg> `; }, showPropertyInfo(property, marker) { if (this.currentInfoWindow) { this.currentInfoWindow.close(); } const content = ` <div class="max-w-sm"> <a href="${property.url}" target="_blank"><img src="${property.image}" alt="${property.address}" class="w-full h-48 object-cover rounded-t-lg"></a> <div class="p-2"> <div class="flex flex-row justify-between"> <div> <div class="text-lg font-semibold text-gray-800">${property.address}</div> </div> <div class="text-right"> <p class="text-lg font-bold text-blue-800 ml-2">$${property.price.toLocaleString()}</p> </div> </div> <p class="text-md text-gray-800 mb-2"><span class="font-semibold">${property.city}</span> ${property.zip}, MLS# <span class="font-semibold">${property.mls_id}</span></p> <div class="flex items-center text-gray-600 text-sm mb-3"> ${property.beds > 0 ? `<span class="mr-2">🛏️ ${property.beds} beds</span>` : ''} ${property.baths > 0 ? `<span class="mr-2">🚿 ${property.baths} baths</span>` : ''} ${property.sqft != 0 ? `<span>📐 ${property.sqft} sqft</span>` : ''} </div> <div class="mx-4"> <a href="${property.url}" target="_blank" class="block w-full text-center bg-blue-600 text-white py-2 px-4 rounded hover:bg-blue-700 transition"> View Details </a> </div> </div> </div>`; this.currentInfoWindow = new google.maps.InfoWindow({ content: content }); this.currentInfoWindow.open(this.map, marker); }, init() { // Component initialized } } } </script> <!-- Request Info Modal (using Alpine.js) --> <div x-data="{ open: false, listingId: null, listingInfo: null, showSuccess: false }" @open-modal.window="open = $event.detail.id === 'request-info-modal'; listingId = $event.detail.listing; listingInfo=$event.detail.listingInfo; showSuccess = false" x-show="open || showSuccess" x-cloak class="fixed inset-0 z-50 overflow-y-auto" > <div class="flex items-center justify-center min-h-screen p-4"> <div class="fixed inset-0 bg-black opacity-30" @click="open = false; showSuccess = false"></div> <!-- Success Message --> <div x-show="showSuccess" class="relative bg-white rounded-lg max-w-md w-full mx-auto shadow-lg p-6"> <div class="flex items-center justify-center mb-4"> <svg class="h-12 w-12 text-green-500" fill="none" viewBox="0 0 24 24" stroke="currentColor"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path> </svg> </div> <h3 class="text-lg font-medium text-center">Information Request Submitted</h3> <p class="text-gray-600 text-center mt-2">Thank you for your interest. We'll get back to you shortly.</p> <div class="mt-6 flex justify-center"> <button @click="showSuccess = false; open = false" class="px-4 py-2 border border-transparent rounded-md shadow-sm text-sm font-medium text-white bg-blue-600 hover:bg-blue-700"> Close </button> </div> </div> <!-- Form Modal --> <div x-show="open && !showSuccess" class="relative bg-white rounded-lg max-w-md w-full mx-auto shadow-lg"> <div class="relative bg-white rounded-lg max-w-md w-full mx-auto shadow-lg"> <div class="px-6 py-4 border-b"> <h3 class="text-lg font-medium">Request Information</h3> <button @click="open = false" class="absolute top-4 right-4 text-gray-400 hover:text-gray-500"> <svg class="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path> </svg> </button> </div> <form method="POST" id="search-request-info" target="submission-frame" class="p-6"> <input type="hidden" name="address" value="https://albuquerquehomesonline.com/listings/request-info"> <input type="hidden" name="_token" value="MzD7wEsvkJmdztUTPWAuoHplmul7TEY7noqukV5G" autocomplete="off"> <div class="mb-4"> <label for="name" class="block text-sm font-medium text-gray-700">Name</label> <input type="text" name="name" id="name" class="mt-1 p-1 block w-full rounded-md border border-gray-300 shadow-sm focus:border-blue-500 focus:ring-blue-500" required> </div> <div class="mb-4"> <label for="email" class="block text-sm font-medium text-gray-700">Email</label> <input type="email" name="email" id="email" class="mt-1 p-1 block w-full rounded-md border border-gray-300 shadow-sm focus:border-blue-500 focus:ring-blue-500" required> </div> <div class="mb-4"> <label for="phone" class="block text-sm font-medium text-gray-700">Phone</label> <input type="text" name="phone" id="phone" class="mt-1 p-1 block w-full rounded-md border border-gray-300 shadow-sm focus:border-blue-500 focus:ring-blue-500" required> </div> <div class="mb-4"> <label for="message" class="block text-sm font-medium text-gray-700">Message</label> <textarea name="message" id="message" rows="4" class="mt-1 p-1 block w-full rounded-md border border-gray-300 shadow-sm focus:border-blue-500 focus:ring-blue-500 text-sm" required x-bind:value="listingInfo ? `I'm interested in listing: ${listingInfo}` : ''"></textarea> </div> <div class="mt-6 flex justify-end"> <button type="button" @click="open = false" class="mr-3 px-4 py-2 border border-gray-300 rounded-md text-sm font-medium text-gray-700 hover:bg-gray-50"> Cancel </button> <button type="submit" class="px-4 py-2 border border-transparent rounded-md shadow-sm text-sm font-medium text-white bg-blue-600 hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500"> Submit Request </button> </div> </form> </div> </div> </div> <script> document.getElementById('search-request-info').addEventListener("submit", function(event) { event.preventDefault(); this.action = this.address.value; const formData = new FormData(this); formData.set('type', this.id); formData.set('ua', navigator.userAgent); const submitButton = this.querySelector('button[type="submit"]'); if (submitButton) { submitButton.disabled = true; } const xhr = new XMLHttpRequest(); xhr.open('POST', this.action, false); try { xhr.send(formData); const modal = this.closest('[x-data*="open"]'); if (modal) { Alpine.$data(modal).showSuccess = true; Alpine.$data(modal).open = false; } this.reset(); } catch (error) { console.error('Error submitting form:', error); alert('There was a problem submitting your request. Please try again.'); } finally { if (submitButton) { submitButton.disabled = false; } } }); </script>