1import{n as q,a as m,r as u,s as p}from"./index-DfOJmvz4.js";import{D as C}from"./demoTerrenosData-D39s-FuT.js";import{m as D,D as v,a as h,b as P,c as N}from"./demoStorage-Bw68jIAl.js";function g(o){return{id:o.id,ownerId:o.owner_id,nombreTerreno:o.nombre_terreno,identificador:o.identificador||void 0,direccion:o.direccion||void 0,calleNumero:o.calle_numero||void 0,colonia:o.colonia||void 0,municipio:o.municipio||void 0,estadoGeo:o.estado_geo||void 0,codigoPostal:o.codigo_postal||void 0,pais:o.pais||void 0,latitud:o.latitud||void 0,longitud:o.longitud||void 0,usoSuelo:o.uso_suelo||"sin_definir",usoSueloDetalle:o.uso_suelo_detalle||void 0,topografia:o.topografia||"plano",pendientePorcentaje:o.pendiente_porcentaje||void 0,tipoSuelo:o.tipo_suelo||void 0,tieneAgua:o.tiene_agua??!1,tieneLuz:o.tiene_luz??!1,tieneDrenaje:o.tiene_drenaje??!1,tieneGas:o.tiene_gas??!1,tienePavimento:o.tiene_pavimento??!1,tieneBanqueta:o.tiene_banqueta??!1,tieneBardaPerimetral:o.tiene_barda_perimetral??!1,tieneAccesoCarretero:o.tiene_acceso_carretero??!1,superficieTotal:o.superficie_total||void 0,superficieEscritura:o.superficie_escritura||void 0,superficieCatastral:o.superficie_catastral||void 0,metrosFrente:o.metros_frente||void 0,metrosFondo:o.metros_fondo||void 0,formaTerreno:o.forma_terreno||void 0,colindanciaNorte:o.colindancia_norte||void 0,colindanciaSur:o.colindancia_sur||void 0,colindanciaEste:o.colindancia_este||void 0,colindanciaOeste:o.colindancia_oeste||void 0,claveCatastral:o.clave_catastral||void 0,valorCatastral:o.valor_catastral||void 0,predial:o.predial||void 0,valorAdquisicion:o.valor_adquisicion||void 0,fechaAdquisicion:o.fecha_adquisicion||void 0,valorMercadoActual:o.valor_mercado_actual||void 0,rentaMensual:o.renta_mensual||void 0,valorVenta:o.valor_venta||void 0,tipoOperacion:o.tipo_operacion||"venta",moneda:o.moneda||"MXN",propietarioNombre:o.propietario_nombre||void 0,propietarioEmail:o.propietario_email||void 0,propietarioTelefono:o.propietario_telefono||void 0,status:o.status||"disponible",imagenTerreno:o.imagen_terreno||void 0,streetViewUrl:o.street_view_url||void 0,descripcion:o.descripcion||void 0,notas:o.notas||void 0,deletedAt:o.deleted_at||void 0,createdAt:o.created_at,updatedAt:o.updated_at}}function F(){const{currentUser:o}=q(),{isDemoMode:T,demoRole:A}=m(),l=T&&A==="realEstateAdmin",[b,s]=u.useState([]),[E,f]=u.useState(!0),[S,d]=u.useState(null),_=o==null?void 0:o.profileId,n=u.useCallback(async()=>{if(!_){f(!1);return}try{f(!0),d(null);const{data:i,error:e}=await p.from("terrenos").select("*").is("deleted_at",null).order("created_at",{ascending:!1});if(e)throw e;s((i||[]).map(g))}catch(i){console.error("Error fetching terrenos:",i),d(i instanceof Error?i.message:"Error al cargar terrenos")}finally{f(!1)}},[_]);return u.useEffect(()=>{if(l){s(D(v.terrenos,C)),f(!1);return}n()},[n,l]),{terrenos:b,loading:E,error:S,refetch:n,createTerreno:async i=>{if(l){const t=m.getState();if(!t.canCreate("properties"))throw new Error("Has alcanzado el lÃmite de propiedades en modo demo (2). RegÃstrate para crear más.");const c={id:crypto.randomUUID(),ownerId:"demo",nombreTerreno:i.nombreTerreno,usoSuelo:i.usoSuelo||"sin_definir",topografia:i.topografia||"plano",tieneAgua:i.tieneAgua??!1,tieneLuz:i.tieneLuz??!1,tieneDrenaje:i.tieneDrenaje??!1,tieneGas:i.tieneGas??!1,tienePavimento:i.tienePavimento??!1,tieneBanqueta:i.tieneBanqueta??!1,tieneBardaPerimetral:i.tieneBardaPerimetral??!1,tieneAccesoCarretero:i.tieneAccesoCarretero??!1,tipoOperacion:i.tipoOperacion||"venta",moneda:i.moneda||"MXN",...i};return s(a=>[c,...a]),N(v.terrenos,c),t.incrementCreatedCount("properties"),c}if(!_)throw new Error("No hay usuario autenticado");const{data:e,error:r}=await p.from("terrenos").insert({owner_id:_,nombre_terreno:i.nombreTerreno,identificador:i.identificador,direccion:i.direccion,calle_numero:i.calleNumero,colonia:i.colonia,municipio:i.municipio,estado_geo:i.estadoGeo,codigo_postal:i.codigoPostal,pais:i.pais||"México",latitud:i.latitud,longitud:i.longitud,uso_suelo:i.usoSuelo||"sin_definir",uso_suelo_detalle:i.usoSueloDetalle,topografia:i.topografia||"plano",pendiente_porcentaje:i.pendientePorcentaje,tipo_suelo:i.tipoSuelo,tiene_agua:i.tieneAgua??!1,tiene_luz:i.tieneLuz??!1,tiene_drenaje:i.tieneDrenaje??!1,tiene_gas:i.tieneGas??!1,tiene_pavimento:i.tienePavimento??!1,tiene_banqueta:i.tieneBanqueta??!1,tiene_barda_perimetral:i.tieneBardaPerimetral??!1,tiene_acceso_carretero:i.tieneAccesoCarretero??!1,superficie_total:i.superficieTotal,superficie_escritura:i.superficieEscritura,superficie_catastral:i.superficieCatastral,metros_frente:i.metrosFrente,metros_fondo:i.metrosFondo,forma_terreno:i.formaTerreno,colindancia_norte:i.colindanciaNorte,colindancia_sur:i.colindanciaSur,colindancia_este:i.colindanciaEste,colindancia_oeste:i.colindanciaOeste,clave_catastral:i.claveCatastral,valor_catastral:i.valorCatastral,predial:i.predial,valor_adquisicion:i.valorAdquisicion,fecha_adquisicion:i.fechaAdquisicion,valor_mercado_actual:i.valorMercadoActual,renta_mensual:i.rentaMensual,valor_venta:i.valorVenta,tipo_operacion:i.tipoOperacion||"venta",moneda:i.moneda||"MXN",propietario_nombre:i.propietarioNombre,propietario_email:i.propietarioEmail,propietario_telefono:i.propietarioTelefono,status:i.status||"disponible",imagen_terreno:i.imagenTerreno,street_view_url:i.streetViewUrl,descripcion:i.descripcion,notas:i.notas}).select().single();if(r)throw r;return await n(),e?g(e):void 0},updateTerreno:async(i,e)=>{if(l){P(v.terrenos,i,e),s(c=>c.map(a=>a.id===i?{...a,...e}:a));return}const r={};e.nombreTerreno!==void 0&&(r.nombre_terreno=e.nombreTerreno),e.identificador!==void 0&&(r.identificador=e.identificador||null),e.direccion!==void 0&&(r.direccion=e.direccion||null),e.calleNumero!==void 0&&(r.calle_numero=e.calleNumero||null),e.colonia!==void 0&&(r.colonia=e.colonia||null),e.municipio!==void 0&&(r.municipio=e.municipio||null),e.estadoGeo!==void 0&&(r.estado_geo=e.estadoGeo||null),e.codigoPostal!==void 0&&(r.codigo_postal=e.codigoPostal||null),e.pais!==void 0&&(r.pais=e.pais||null),e.latitud!==void 0&&(r.latitud=e.latitud),e.longitud!==void 0&&(r.longitud=e.longitud),e.usoSuelo!==void 0&&(r.uso_suelo=e.usoSuelo),e.usoSueloDetalle!==void 0&&(r.uso_suelo_detalle=e.usoSueloDetalle||null),e.to
1pografia!==void 0&&(r.topografia=e.topografia),e.pendientePorcentaje!==void 0&&(r.pendiente_porcentaje=e.pendientePorcentaje),e.tipoSuelo!==void 0&&(r.tipo_suelo=e.tipoSuelo||null),e.tieneAgua!==void 0&&(r.tiene_agua=e.tieneAgua),e.tieneLuz!==void 0&&(r.tiene_luz=e.tieneLuz),e.tieneDrenaje!==void 0&&(r.tiene_drenaje=e.tieneDrenaje),e.tieneGas!==void 0&&(r.tiene_gas=e.tieneGas),e.tienePavimento!==void 0&&(r.tiene_pavimento=e.tienePavimento),e.tieneBanqueta!==void 0&&(r.tiene_banqueta=e.tieneBanqueta),e.tieneBardaPerimetral!==void 0&&(r.tiene_barda_perimetral=e.tieneBardaPerimetral),e.tieneAccesoCarretero!==void 0&&(r.tiene_acceso_carretero=e.tieneAccesoCarretero),e.superficieTotal!==void 0&&(r.superficie_total=e.superficieTotal),e.superficieEscritura!==void 0&&(r.superficie_escritura=e.superficieEscritura),e.superficieCatastral!==void 0&&(r.superficie_catastral=e.superficieCatastral),e.metrosFrente!==void 0&&(r.metros_frente=e.metrosFrente),e.metrosFondo!==void 0&&(r.metros_fondo=e.metrosFondo),e.formaTerreno!==void 0&&(r.forma_terreno=e.formaTerreno||null),e.colindanciaNorte!==void 0&&(r.colindancia_norte=e.colindanciaNorte||null),e.colindanciaSur!==void 0&&(r.colindancia_sur=e.colindanciaSur||null),e.colindanciaEste!==void 0&&(r.colindancia_este=e.colindanciaEste||null),e.colindanciaOeste!==void 0&&(r.colindancia_oeste=e.colindanciaOeste||null),e.claveCatastral!==void 0&&(r.clave_catastral=e.claveCatastral||null),e.valorCatastral!==void 0&&(r.valor_catastral=e.valorCatastral),e.predial!==void 0&&(r.predial=e.predial||null),e.valorAdquisicion!==void 0&&(r.valor_adquisicion=e.valorAdquisicion),e.fechaAdquisicion!==void 0&&(r.fecha_adquisicion=e.fechaAdquisicion||null),e.valorMercadoActual!==void 0&&(r.valor_mercado_actual=e.valorMercadoActual),e.rentaMensual!==void 0&&(r.renta_mensual=e.rentaMensual),e.valorVenta!==void 0&&(r.valor_venta=e.valorVenta),e.tipoOperacion!==void 0&&(r.tipo_operacion=e.tipoOperacion),e.moneda!==void 0&&(r.moneda=e.moneda),e.propietarioNombre!==void 0&&(r.propietario_nombre=e.propietarioNombre||null),e.propietarioEmail!==void 0&&(r.propietario_email=e.propietarioEmail||null),e.propietarioTelefono!==void 0&&(r.propietario_telefono=e.propietarioTelefono||null),e.status!==void 0&&(r.status=e.status),e.imagenTerreno!==void 0&&(r.imagen_terreno=e.imagenTerreno||null),e.streetViewUrl!==void 0&&(r.street_view_url=e.streetViewUrl||null),e.descripcion!==void 0&&(r.descripcion=e.descripcion||null),e.notas!==void 0&&(r.notas=e.notas||null);const{error:t}=await p.from("terrenos").update(r).eq("id",i);if(t)throw t;await n()},deleteTerreno:async i=>{if(l){h(v.terrenos,i),s(r=>r.filter(t=>t.id!==i));return}const{error:e}=await p.from("terrenos").update({deleted_at:new Date().toISOString()}).eq("id",i);if(e)throw e;await n()},restoreTerreno:async i=>{if(l)return;const{error:e}=await p.from("terrenos").update({deleted_at:null}).eq("id",i);if(e)throw e;await n()}}}export{F as u};
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.