import{j as a}from"./ui-vendor-ChZMp8UW.js";import{r as e}from"./react-vendor-SJkaNtXX.js";import{B as o,t as r}from"./index-B5pq6AMJ.js";import{I as s}from"./input-BYLnxOv7.js";import{A as t,a as i}from"./alert-CZ7lqhXV.js";import{aa as n,o as d,M as l,y as c}from"./icons-BXTKTZdO.js";function u({onLocationSelect:u,initialLatitude:m,initialLongitude:p,cityName:b}){var g,h;const[v,x]=e.useState(!0),[f,j]=e.useState(null),[C,N]=e.useState(null),[A,P]=e.useState(""),[S,y]=e.useState(!1),z=async()=>{if(!navigator.geolocation)return N("Seu navegador não suporta geolocalização."),r({title:"Geolocalização não suportada",description:"Seu navegador não suporta geolocalização.",variant:"destructive"}),void x(!1);x(!0),N(null),navigator.geolocation.getCurrentPosition(async a=>{const{latitude:e,longitude:o}=a.coords,s=await(async(a,e)=>{try{const o=await fetch(`https://nominatim.openstreetmap.org/reverse?format=json&lat=${a}&lon=${e}&zoom=18&addressdetails=1`,{headers:{"Accept-Language":"pt-BR,pt;q=0.9"}});if(!o.ok)throw new Error("Erro ao buscar endereço");const r=await o.json(),s=r.address||{},t={road:s.road||s.street||s.pedestrian||s.footway,suburb:s.suburb||s.neighbourhood||s.quarter||s.district,city:s.city||s.town||s.village||s.municipality,state:s.state,postcode:s.postcode},i=((a,e)=>{const o=[];return a.road&&o.push(a.road),a.suburb&&o.push(a.suburb),a.city&&o.push(a.city),a.state&&o.push(a.state),o.length>=2?o.join(", "):e||`${a.city||""}, ${a.state||""}`})(t,r.display_name);return{display:r.display_name||"Endereço não encontrado",formatted:i,components:t}}catch(o){return{display:`Lat: ${a.toFixed(6)}, Lng: ${e.toFixed(6)}`,formatted:`Coordenadas: ${a.toFixed(6)}, ${e.toFixed(6)}`,components:{}}}})(e,o),t={latitude:e,longitude:o,address:s.formatted,addressComponents:s.components};j(t),P(s.formatted),u({latitude:e,longitude:o,address:s.formatted}),x(!1),r({title:"Localização detectada!",description:s.components.city?`${s.components.city}, ${s.components.state}`:"Verifique e corrija o endereço se necessário"})},a=>{x(!1);let e="Não foi possível acessar sua localização.";switch(a.code){case a.PERMISSION_DENIED:e="Você negou a permissão de localização. Por favor, habilite nas configurações do navegador.";break;case a.POSITION_UNAVAILABLE:e="Localização indisponível no momento.";break;case a.TIMEOUT:e="Tempo esgotado ao tentar obter localização."}m&&p&&(j({latitude:m,longitude:p,address:b?`Centro de ${b}`:"Centro da cidade",addressComponents:{city:b}}),P(b?`Centro de ${b}`:"")),N(e),r({title:"Erro ao detectar localização",description:b?`Mapa centralizado em ${b}. Digite seu endereço.`:e,variant:"destructive"})},{enableHighAccuracy:!0,timeout:15e3,maximumAge:0})};e.useEffect(()=>{z()},[]);const w=(null==f?void 0:f.latitude)??m??-16.6869,M=(null==f?void 0:f.longitude)??p??-49.2648;return a.jsxs("div",{className:"relative w-full rounded-lg overflow-hidden border border-border",children:[a.jsxs("div",{className:"w-full h-[350px] bg-muted relative",children:[a.jsx("iframe",{width:"100%",height:"100%",frameBorder:"0",scrolling:"no",marginHeight:0,marginWidth:0,src:`https://www.openstreetmap.org/export/embed.html?bbox=${M-.01},${w-.01},${M+.01},${w+.01}&layer=mapnik&marker=${w},${M}`,style:{border:0}}),v&&a.jsx("div",{className:"absolute inset-0 flex items-center justify-center bg-black/20 backdrop-blur-sm",children:a.jsx("div",{className:"bg-background/95 p-6 rounded-lg shadow-lg border border-border max-w-md mx-4",children:a.jsxs("div",{className:"flex flex-col items-center gap-3 text-center",children:[a.jsx(n,{className:"h-8 w-8 text-primary animate-pulse"}),a.jsxs("div",{children:[a.jsx("p",{className:"font-semibold mb-1",children:"Detectando localização..."}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"Permita o acesso à localização no navegador"})]})]})})}),C&&!f&&a.jsxs("div",{className:"absolute top-4 left-4 right-4 bg-background/95 backdrop-blur p-4 rounded-lg shadow-lg border border-destructive",children:[a.jsxs(t,{variant:"destructive",className:"border-0 mb-3",children:[a.jsx(d,{className:"h-4 w-4"}),a.jsx(i,{className:"text-xs",children:C})]}),a.jsxs(o,{onClick:z,size:"sm",className:"w-full",children:[a.jsx(n,{className:"h-4 w-4 mr-2"}),"Tentar novamente"]})]}),f&&!v&&a.jsx("div",{className:"absolute top-4 left-4 right-4 bg-primary/95 backdrop-blur p-4 rounded-lg shadow-lg border border-primary",children:a.jsxs("div",{className:"flex items-start gap-3 text-primary-foreground",children:[a.jsx(l,{className:"h-5 w-5 flex-shrink-0 mt-0.5"}),a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsx("p",{className:"font-semibold text-sm mb-1",children:"✓ Localização detectada"}),(null==(g=f.addressComponents)?void 0:g.city)&&a.jsxs("p",{className:"text-xs opacity-90",children:[f.addressComponents.city,f.addressComponents.state&&`, ${f.addressComponents.state}`]})]})]})})]}),f&&a.jsxs("div",{className:"p-4 bg-muted/50 border-t border-border",children:[a.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[a.jsx(l,{className:"h-4 w-4 text-muted-foreground"}),a.jsx("span",{className:"text-sm font-medium",children:"Confirme seu endereço:"})]}),a.jsxs("div",{className:"flex gap-2",children:[a.jsx(s,{value:A,onChange:a=>{P(a.target.value),y(!0)},placeholder:"Digite ou corrija o endereço completo",className:"flex-1"}),S&&a.jsx(o,{size:"sm",onClick:()=>{f&&A.trim()&&(u({latitude:f.latitude,longitude:f.longitude,address:A.trim()}),y(!1),r({title:"Endereço atualizado!",description:A.trim()}))},className:"shrink-0",children:a.jsx(c,{className:"h-4 w-4"})})]}),a.jsx("p",{className:"text-xs text-muted-foreground mt-2",children:(null==(h=f.addressComponents)?void 0:h.road)?`Rua detectada: ${f.addressComponents.road}`:"Digite o endereço completo com rua, número e bairro"})]}),a.jsx("div",{className:"p-3 bg-muted/30 border-t border-border",children:a.jsx("p",{className:"text-xs text-muted-foreground text-center",children:"Seus dados são usados apenas para processar sua solicitação de guincho."})})]})}const m={sao:"São",joao:"João",goncalo:"Gonçalo",goncalves:"Gonçalves",varzea:"Várzea",tangara:"Tangará",teofilo:"Teófilo",marilia:"Marília",ilheus:"Ilhéus",pocos:"Poços",tres:"Três",itapecerica:"Itapecerica",jequie:"Jequié",bage:"Bagé",macae:"Macaé",maceio:"Maceió",maranhao:"Maranhão",rondonia:"Rondônia",rondonopolis:"Rondonópolis",goias:"Goiás",goiania:"Goiânia",anapolis:"Anápolis",brasilia:"Brasília",curitiba:"Curitiba",florianopolis:"Florianópolis",belem:"Belém",santarem:"Santarém",manaus:"Manaus",cameta:"Cametá",paragominas:"Paragominas",parauapebas:"Parauapebas",catalao:"Catalão",jundiai:"Jundiaí",taubate:"Taubaté",guaruja:"Guarujá",itanhaem:"Itanhaém",jau:"Jaú",maua:"Mauá",sumare:"Sumaré",hortolandia:"Hortolândia",indaiatuba:"Indaiatuba",america:"América",americana:"Americana",barao:"Barão",jose:"José",antonio:"Antônio",embu:"Embu",nilopolis:"Nilópolis",niteroi:"Niterói",itaguai:"Itaguaí",japeri:"Japeri",palhoca:"Palhoça",tubarao:"Tubarão",criciuma:"Criciúma",chapeco:"Chapecó",erechim:"Erechim",uruguaiana:"Uruguaiana",pelotas:"Pelotas",canoas:"Canoas",caceres:"Cáceres",cuiaba:"Cuiabá",sinop:"Sinop",uba:"Ubá",ibirite:"Ibirité",muriae:"Muriaé",lavras:"Lavras",barbacena:"Barbacena",franca:"Franca",arapongas:"Arapongas",paranagua:"Paranaguá",almirante:"Almirante",tamandare:"Tamandaré",piraquara:"Piraquara",araucaria:"Araucária",balneario:"Balneário",camboriu:"Camboriú",itapipoca:"Itapipoca",maranguape:"Maranguape",iguatu:"Iguatu",crato:"Crato",juazeiro:"Juazeiro",paco:"Paço",lumiar:"Lumiar",bacabal:"Bacabal",balsas:"Balsas",imperatriz:"Imperatriz",lagarto:"Lagarto",socorro:"Socorro",cristovao:"Cristóvão",capibaribe:"Capibaribe",vilhena:"Vilhena",linhares:"Linhares",mateus:"Mateus",vitoria:"Vitória",conquista:"Conquista",seguro:"Seguro",itabira:"Itabira",itabuna:"Itabuna",santo:"Santo",santa:"Santa",jesus:"Jesus",nossa:"Nossa",senhora:"Senhora",coronel:"Coronel",fabriciano:"Fabriciano",governador:"Governador",valadares:"Valadares",presidente:"Presidente",prudente:"Prudente",ribeirao:"Ribeirão",neves:"Neves",pires:"Pires",preto:"Preto",carlos:"Carlos",campos:"Campos",pinhais:"Pinhais",leopoldo:"Leopoldo",pedro:"Pedro",aldeia:"Aldeia",senador:"Senador",canedo:"Canedo",valparaiso:"Valparaíso",votuporanga:"Votuporanga",votorantim:"Votorantim",catanduva:"Catanduva",itaperuna:"Itaperuna",queimados:"Queimados",meriti:"Meriti",lages:"Lages",patos:"Patos",minas:"Minas",caldas:"Caldas",novas:"Novas",grande:"Grande",volta:"Volta",redonda:"Redonda",barra:"Barra",mansa:"Mansa",andre:"André",amarante:"Amarante",cruz:"Cruz",sul:"Sul",norte:"Norte",lima:"Lima",abreu:"Abreu",duque:"Duque",caxias:"Caxias",nova:"Nova",serrana:"Serrana",rio:"Rio",branco:"Branco",verde:"Verde",campo:"Campo",largo:"Largo",mourao:"Mourão",ponta:"Ponta",grossa:"Grossa",toledo:"Toledo",passo:"Passo",fundo:"Fundo",alvorada:"Alvorada",viamao:"Viamão",aguas:"Águas",lindas:"Lindas",angra:"Angra",reis:"Reis",araguaina:"Araguaína",palmas:"Palmas",natal:"Natal",recife:"Recife",fortaleza:"Fortaleza",olinda:"Olinda",osasco:"Osasco",sorocaba:"Sorocaba",bauru:"Bauru",limeira:"Limeira",barretos:"Barretos",araras:"Araras",leme:"Leme",cubatao:"Cubatão",vicente:"Vicente",serra:"Serra",contagem:"Contagem",betim:"Betim",joinville:"Joinville",colombo:"Colombo",guarulhos:"Guarulhos",itaquaquecetuba:"Itaquaquecetuba",mogi:"Mogi",cruzes:"Cruzes",guacu:"Guaçu",caraguatatuba:"Caraguatatuba",jandira:"Jandira",parnaiba:"Parnaíba",santana:"Santana",mage:"Magé",belford:"Belford",roxo:"Roxo",parintins:"Parintins",altamira:"Altamira",braganca:"Bragança",abaetetuba:"Abaetetuba",breves:"Breves",aracruz:"Aracruz",araguari:"Araguari",araruama:"Araruama",porto:"Porto",alegre:"Alegre",salvador:"Salvador",paulista:"Paulista",paulo:"Paulo",janeiro:"Janeiro",maringa:"Maringá"},p={AC:"Acre",AL:"Alagoas",AP:"Amapá",AM:"Amazonas",BA:"Bahia",CE:"Ceará",DF:"Distrito Federal",ES:"Espírito Santo",GO:"Goiás",MA:"Maranhão",MT:"Mato Grosso",MS:"Mato Grosso do Sul",MG:"Minas Gerais",PA:"Pará",PB:"Paraíba",PR:"Paraná",PE:"Pernambuco",PI:"Piauí",RJ:"Rio de Janeiro",RN:"Rio Grande do Norte",RS:"Rio Grande do Sul",RO:"Rondônia",RR:"Roraima",SC:"Santa Catarina",SP:"São Paulo",SE:"Sergipe",TO:"Tocantins"};function b(a){if(!a)return{cityName:"Cidade",stateAbbreviation:"",state:""};const e=a.split("-"),o=e[e.length-1].toUpperCase();return{cityName:e.slice(0,-1).map(a=>{const e=a.toLowerCase();return m[e]?m[e]:["de","do","da","dos","das","e","em"].includes(e)?e:a.charAt(0).toUpperCase()+a.slice(1).toLowerCase()}).join(" "),stateAbbreviation:o,state:p[o]||o}}export{u as T,b as p};