1!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="b8d813e0-710f-4963-961b-212b4ca3e19d",e._sentryDebugIdIdentifier="sentry-dbid-b8d813e0-710f-4963-961b-212b4ca3e19d")}catch(e){}}(),(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6616],{99678:function(e,t,a){(window.__NEXT_P=window.__NEXT_P||[]).push(["/admin/properties/create",function(){return a(25109)}])},25109:function(e,t,a){"use strict";a.r(t),a.d(t,{default:function(){return CreatePropertyPage}});var r=a(85893),i=a(67294),n=a(11163),_=a(54879),s=a(64898),o=a(53219),l=a(46309);function CreatePropertyPage(){let e=(0,n.useRouter)(),t=e.query.project_id,[a,p]=(0,i.useState)(!1),[c,d]=(0,i.useState)(null),[u,y]=(0,i.useState)(void 0);(0,i.useEffect)(()=>{let e=sessionStorage.getItem("extractedPropertyData");if(e){sessionStorage.removeItem("extractedPropertyData");try{var t,a,r,i,n,_,s,o,l,p;let c=JSON.parse(e),d={property_type:c.property_type||"multifamily",display_name:c.display_name||"",street_address_1:c.street_address_1||"",street_address_2:c.street_address_2||"",city:c.city||"Denver",state:c.state||"CO",postal_code:c.postal_code||"",listing_status:c.listing_status||"",is_listed:!!c.listing_status,status:c.status||"existing",year_built:(null===(t=c.year_built)||void 0===t?void 0:t.toString())||"",description:c.description||"",team_members:[...c.owner?[{role:"Owner",name:c.owner,email:"",phone:""}]:[],...c.manager?[{role:"Manager",name:c.manager,email:"",phone:""}]:[],...c.developer?[{role:"Developer",name:c.developer,email:"",phone:""}]:[],...c.contractor?[{role:"Contractor",name:c.contractor,email:"",phone:""}]:[],...c.engineer?[{role:"Engineer",name:c.engineer,email:"",phone:""}]:[],...c.designer?[{role:"Designer",name:c.designer,email:"",phone:""}]:[]],number_of_units:(null===(a=c.total_units)||void 0===a?void 0:a.toString())||"",average_rent:(null===(r=c.average_rent)||void 0===r?void 0:r.toString())||"",unit_mix:c.unit_mix||[],property_website:c.website_url||"",has_retail:c.includes_retail_space||!1,residential_type:c.residential_type||"",bedrooms:(null===(i=c.bedrooms)||void 0===i?void 0:i.toString())||"",bathrooms:(null===(n=c.bathrooms)||void 0===n?void 0:n.toString())||"",square_feet:(null===(_=c.square_feet)||void 0===_?void 0:_.toString())||"",lot_size:c.lot_size||"",garage_spaces:(null===(s=c.garage_spaces)||void 0===s?void 0:s.toString())||"",parking_spaces:(null===(o=c.parking_spaces)||void 0===o?void 0:o.toString())||"",floor_count:(null===(l=c.floor_count)||void 0===l?void 0:l.toString())||"",lease_rate:c.lease_rate||"",lease_type:c.lease_type||"",zoning:c.zoning||"",hospitality_type:c.hospitality_type||"",brand:c.brand||"",service_type:c.service_type||"",number_of_rooms:(null===(p=c.number_of_rooms)||void 0===p?void 0:p.toString())||"",room_types:c.room_types||[],utilities_available:c.utilities_available||[],features:c.amenities||[]};c.neighborhood?fetch("/api/neighborhoods").then(e=>e.json()).then(e=>{let t=e.data||[],a=c.neighborhood.toLowerCase(),r=t.find(e=>e.name.toLowerCase()===a);r&&(d.neighborhood_id=r.id),y({...d})}).catch(()=>{y(d)}):y(d)}catch(e){console.error("Error parsing extracted property data:",e)}}},[]);let saveRetailTenantsAsBusinesses=async(e,t,a)=>{let r=[...e];for(let e=0;e<r.length;e++){var i,n;let _=r[e];if(!(null===(i=_.tenant_name)||void 0===i?void 0:i.trim()))continue;let s={name:_.tenant_name,category:_.category||null,description:_.description||null,phone:_.phone||null,email:_.email||null,website:_.website||null,logo_url:_.logo_url||null,address:a.address||null,city:a.city||null,state:a.state||null,zip:a.zip||null,latitude:a.latitude||null,longitude:a.longitude||null,property_id:t,status:"draft"};try{if(_.business_id)await fetch("/api/admin/businesses?id=".concat(_.business_id),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(s)});else{let t=await fetch("/api/admin/businesses",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(s)}),a=await t.json();a.success&&(null===(n=a.data)||void 0===n?void 0:n.id)&&(r[e]={...r[e],business_id:a.data.id})}}catch(e){console.error('Failed to save business for tenant "'.concat(_.tenant_name,'":'),e)}}return r},handleSubmit=async(a,r)=>{p(!0),d(null);try{let _={};a.team_members&&a.team_members.length>0&&(_.team_members=a.team_members.filter(e=>e.name||e.role)),a.team_website&&(_.team_website=a.team_website),a.team_phone&&(_.team_phone=a.team_phone),("apartment"===a.property_type||"multifamily"===a.property_type||"mixed-use"===a.property_type)&&(a.number_of_units&&(_.number_of_units=parseInt(a.number_of_units)),a.average_rent&&(_.average_rent=a.average_rent),a.unit_mix&&a.unit_mix.length>0&&(_.unit_mix=a.unit_mix),a.property_website&&(_.property_website=a.property_website),a.has_retail&&(_.has_retail=a.has_retail),a.has_retail&&a.retail_tenants&&a.retail_tenants.length>0&&(_.retail_tenants=a.retail_tenants.filter(e=>e.tenant_name))),"residential"===a.property_type&&(a.residential_type&&(_.residential_type=a.residential_type),a.lot_size&&(_.lot_size=parseInt(a.lot_size)),a.parking_space
1s&&(_.parking_spaces=parseInt(a.parking_spaces)),a.garage_spaces&&(_.garage_spaces=parseInt(a.garage_spaces)),"condo"===a.residential_type&&a.parent_property_id&&(a.unit_number&&(_.unit_number=a.unit_number),a.hoa_amount&&(_.hoa_amount=parseFloat(a.hoa_amount)),a.has_parking&&(_.has_parking=!0),a.has_storage&&(_.has_storage=!0)),"condo"===a.residential_type&&!a.parent_property_id&&(a.has_retail&&(_.has_retail=!0),a.retail_tenants&&a.retail_tenants.length>0&&(_.retail_tenants=a.retail_tenants.filter(e=>e.tenant_name)))),("office"===a.property_type||"retail"===a.property_type||"mixed-use"===a.property_type)&&(a.floor_count&&(_.floor_count=parseInt(a.floor_count)),a.lease_rate&&(_.lease_rate=a.lease_rate),a.lease_type&&(_.lease_type=a.lease_type),a.zoning&&(_.zoning=a.zoning),a.rent_roll&&a.rent_roll.length>0&&(_.rent_roll=a.rent_roll)),"hospitality"===a.property_type&&(a.hospitality_type&&(_.hospitality_type=a.hospitality_type),a.brand&&(_.brand=a.brand),a.service_type&&(_.service_type=a.service_type),a.number_of_rooms&&(_.number_of_rooms=parseInt(a.number_of_rooms)),a.room_types&&a.room_types.length>0&&(_.room_types=a.room_types),a.zoning&&(_.zoning=a.zoning)),"industrial"===a.property_type&&(a.industrial_subtype&&(_.industrial_subtype=a.industrial_subtype),a.clear_height&&(_.clear_height=parseInt(a.clear_height)),a.column_spacing&&(_.column_spacing=a.column_spacing),a.ceiling_type&&(_.ceiling_type=a.ceiling_type),a.office_finish_pct&&(_.office_finish_pct=parseInt(a.office_finish_pct)),a.building_coverage_ratio&&(_.building_coverage_ratio=parseFloat(a.building_coverage_ratio)),a.dock_high_doors&&(_.dock_high_doors=parseInt(a.dock_high_doors)),a.grade_level_doors&&(_.grade_level_doors=parseInt(a.grade_level_doors)),a.truck_court_depth&&(_.truck_court_depth=parseInt(a.truck_court_depth)),a.cross_dock&&(_.cross_dock=!0),a.trailer_parking_spaces&&(_.trailer_parking_spaces=parseInt(a.trailer_parking_spaces)),a.auto_parking_spaces&&(_.auto_parking_spaces=parseInt(a.auto_parking_spaces)),a.rail_served&&(_.rail_served=!0),a.sprinkler_system&&(_.sprinkler_system=!0),a.sprinkler_type&&(_.sprinkler_type=a.sprinkler_type),a.power_capacity&&(_.power_capacity=a.power_capacity),a.heavy_power&&(_.heavy_power=!0),a.hvac_climate_controlled&&(_.hvac_climate_controlled=!0),a.crane_served&&(_.crane_served=!0),a.crane_tonnage&&(_.crane_tonnage=parseFloat(a.crane_tonnage)),a.environmental_phase1&&(_.environmental_phase1=a.environmental_phase1),a.floor_count&&(_.floor_count=parseInt(a.floor_count)),a.lease_rate&&(_.lease_rate=a.lease_rate),a.lease_type&&(_.lease_type=a.lease_type),a.zoning&&(_.zoning=a.zoning)),"senior_living"===a.property_type&&(a.senior_living_subtype&&(_.senior_living_subtype=a.senior_living_subtype),a.total_units_beds&&(_.total_units_beds=parseInt(a.total_units_beds)),a.licensed_beds&&(_.licensed_beds=parseInt(a.licensed_beds)),a.senior_unit_mix&&a.senior_unit_mix.length>0&&(_.senior_unit_mix=a.senior_unit_mix),a.occupancy_rate&&(_.occupancy_rate=parseFloat(a.occupancy_rate)),a.average_monthly_rate&&(_.average_monthly_rate=a.average_monthly_rate),a.payer_private_pct&&(_.payer_private_pct=parseFloat(a.payer_private_pct)),a.payer_medicare_pct&&(_.payer_medicare_pct=parseFloat(a.payer_medicare_pct)),a.payer_medicaid_pct&&(_.payer_medicaid_pct=parseFloat(a.payer_medicaid_pct)),a.operator&&(_.operator=a.operator),a.management_company&&(_.management_company=a.management_company),a.staffing_ratio&&(_.staffing_ratio=a.staffing_ratio),a.acuity_level&&(_.acuity_level=a.acuity_level),a.level_of_care&&(_.level_of_care=a.level_of_care),a.licensure_status&&(_.licensure_status=a.licensure_status),a.state_licensing_agency&&(_.state_licensing_agency=a.state_licensing_agency),a.certificate_of_need&&(_.certificate_of_need=!0),a.last_survey_date&&(_.last_survey_date=a.last_survey_date),a.deficiency_free_survey&&(_.deficiency_free_survey=!0),a.ada_compliance&&(_.ada_compliance=a.ada_compliance),a.memory_care_secured&&(_.memory_care_secured=!0),a.emergency_call_system&&(_.emergency_call_system=!0),a.senior_amenities&&a.senior_amenities.length>0&&(_.senior_amenities=a.senior_amenities),a.floor_count&&(_.floor_count=parseInt(a.floor_count)),a.lease_rate&&(_.lease_rate=a.lease_rate),a.lease_type&&(_.lease_type=a.lease_type),a.zoning&&(_.zoning=a.zoning)),"data_center"===a.property_type&&(a.data_center_subtype&&(_.data_center_subtype=a.data_center_subtype),a.white_space_sf&&(_.white_space_sf=parseInt(a.white_space_sf)),a.data_halls&&(_.data_halls=parseInt(a.data_halls)),a.raised_floor&&(_.raised_floor=!0),a.raised_floor_height&&(_.raised_floor_height=parseFloat(a.raised_floor_height)),a.roof_load_capacity&&(_.roof_load_capacity=parseFloat(a.roof_load_capacity)),a.total_critical_it_load&&(_.total_critical_it_load=p
1arseFloat(a.total_critical_it_load)),a.total_power_capacity&&(_.total_power_capacity=parseFloat(a.total_power_capacity)),a.redundancy_level&&(_.redundancy_level=a.redundancy_level),a.ups_configuration&&(_.ups_configuration=a.ups_configuration),a.backup_generators&&(_.backup_generators=parseInt(a.backup_generators)),a.generator_fuel_type&&(_.generator_fuel_type=a.generator_fuel_type),a.generator_runtime&&(_.generator_runtime=a.generator_runtime),a.utility_provider&&(_.utility_provider=a.utility_provider),a.pue&&(_.pue=parseFloat(a.pue)),a.uptime_tier&&(_.uptime_tier=a.uptime_tier),a.cooling_type&&(_.cooling_type=a.cooling_type),a.water_source&&(_.water_source=a.water_source),a.fiber_providers&&a.fiber_providers.length>0&&(_.fiber_providers=a.fiber_providers),a.meet_me_room&&(_.meet_me_room=!0),a.network_carriers&&(_.network_carriers=a.network_carriers),a.latency_to_ix&&(_.latency_to_ix=a.latency_to_ix),a.security_certifications&&a.security_certifications.length>0&&(_.security_certifications=a.security_certifications),a.physical_security&&a.physical_security.length>0&&(_.physical_security=a.physical_security),a.renewable_energy_pct&&(_.renewable_energy_pct=parseFloat(a.renewable_energy_pct)),a.leed_certification&&(_.leed_certification=a.leed_certification),a.expansion_land&&(_.expansion_land=parseFloat(a.expansion_land)),a.entitled_additional_mw&&(_.entitled_additional_mw=parseFloat(a.entitled_additional_mw)),a.zoning_compliant_dc&&(_.zoning_compliant_dc=!0),a.lease_rate&&(_.lease_rate=a.lease_rate),a.dc_lease_structure&&(_.dc_lease_structure=a.dc_lease_structure),a.zoning&&(_.zoning=a.zoning),a.energization_date&&(_.energization_date=a.energization_date)),"land"===a.property_type&&(a.lot_size&&(_.lot_size=a.lot_size),a.zoning&&(_.zoning=a.zoning),a.utilities_available&&a.utilities_available.length>0&&(_.utilities_available=a.utilities_available)),a.listing_rental_rate&&(_.listing_rental_rate=a.listing_rental_rate),a.listing_lease_type&&(_.listing_lease_type=a.listing_lease_type),a.ground_breaking_date&&(_.ground_breaking_date=a.ground_breaking_date),a.top_out_date&&(_.top_out_date=a.top_out_date),a.completion_date&&(_.completion_date=a.completion_date),a.lease_up_percentage&&(_.lease_up_percentage=Number(a.lease_up_percentage)),a.energization_date&&(_.energization_date=a.energization_date);let s={display_name:a.display_name||null,street_address_1:a.street_address_1,street_address_2:a.street_address_2||null,city:a.city,state:a.state,postal_code:a.postal_code||null,neighborhood_id:a.neighborhood_id||null,property_type:a.property_type,listing_status:a.is_listed&&a.listing_status||null,status:a.status,publication_status:r?"published":"draft",description:a.description||null,hero_image_url:a.hero_image_url||null,hero_video_url:a.hero_video_url||null,gallery_images:a.gallery_images,features:a.features,year_built:a.year_built?parseInt(a.year_built):null,square_feet:a.square_feet?parseInt(a.square_feet):null,bedrooms:a.bedrooms?parseInt(a.bedrooms):null,bathrooms:a.bathrooms?parseFloat(a.bathrooms):null,metadata:Object.keys(_).length>0?_:null,is_listed:a.is_listed||!1,is_sponsored:a.is_sponsored||!1,listing_contact_mode:a.listing_contact_mode||"broker",listing_price:a.listing_price?parseInt(a.listing_price):null,broker_name:a.broker_name||null,broker_company:a.broker_company||null,broker_phone:a.broker_phone||null,broker_email:a.broker_email||null,broker_website:a.broker_website||null,broker_headshot_url:a.broker_headshot_url||null,sale_reception_number:a.sale_reception_number||null,sale_date:a.sale_date||null,sale_price:a.sale_price?parseInt(a.sale_price):null,sale_grantor:a.sale_grantor||null,sale_grantee:a.sale_grantee||null,parent_property_id:a.parent_property_id||null,project_id:t||null},o=await fetch("/api/admin/properties",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(s)}),l=await o.json();if(o.ok&&l.success){var i,n;let r=null===(i=l.data)||void 0===i?void 0:i.id;if(r&&a.has_retail&&(null===(n=a.retail_tenants)||void 0===n?void 0:n.some(e=>{var t;return null===(t=e.tenant_name)||void 0===t?void 0:t.trim()}))){let e=await saveRetailTenantsAsBusinesses(a.retail_tenants,r,{address:a.street_address_1,city:a.city,state:a.state,zip:a.postal_code,latitude:void 0,longitude:void 0}),t=e.filter(e=>{var t;return null===(t=e.tenant_name)||void 0===t?void 0:t.trim()});t.length>0&&await fetch("/api/admin/properties?id=".concat(r),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({metadata:{..._,retail_tenants:t}})})}e.push(t?"/admin/projects/".concat(t):"/admin/properties")}else{let e=l.error||l.message||"Failed to create property (".concat(o.status,")");console.error("Create property error:",o.status,l),d(e)}}catch(e){console.error("Error creating property:",e),d("Failed to create property: ".concat(e instanceof Error?e.message:String(e)))}finally{p(!1)}};return(0,r.jsx)(_.Z,{title:"Create Property",children:(0,r.jsx)("div",{className:"min-h-screen bg-gray-50 py-8",children:(0,r.jsxs)("div",{className:"max-w-4xl mx-auto px-4",children:[(0,r.jsxs)("button",{onClick:()=>e.back(),className:"flex items-center gap-2 text-gray-600 hover:text-gray-900 mb-6",children:[(0,r.jsx)(o.Z,{size:20}),"Back"]}),(0,r.jsxs)("div",{className:"bg-white rounded-lg shadow-sm border border-gray-200 p-8",children:[(0,r.jsxs)("div",{className:"flex items-center gap-3 mb-6",children:[(0,r.jsx)(l.Z,{className:"text-blue-600",size:32}),(0,r.jsx)("h1",{className:"text-3xl font-bold text-gray-900",children:"Create Property"})]}),c&&(0,r.jsx)("div",{className:"mb-6 p-4 bg-red-50 border border-red-200 rounded-lg",children:(0,r.jsx)("p",{className:"text-red-600",children:c})}),(0,r.jsx)(s.Z,{initialData:u,onSubmit:handleSubmit,isLoading:a})]})]})})})}}},function(e){e.O(0,[6342,3996,350,1700,2072,9475,9774,2888,179],function(){return e(e.s=99678)}),_N_E=e.O()}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.