{"version":3,"file":"js/weather.f584fbdc55fc60b443cc.bundle.js","mappings":"oJAAaA,EAAkBC,OAAOC,eAAiB,mCAC1CC,EAAkBF,OAAOG,YAAc,iD,SCM9CC,EAAY,eACGC,EAAO,WACxB,WAAYC,IAAW,eACnBC,KAAKC,WAAaF,EAClBC,KAAKE,OAASF,KAAKC,WAAWE,cAAc,IAAD,OAAKN,EAAS,YACzDG,KAAKI,OAASJ,KAAKC,WAAWE,cAAc,IAAD,OAAKN,EAAS,UACzDG,KAAKK,SAAWL,KAAKC,WAAWK,QAAQC,MAAQ,OAChDP,KAAKQ,YAAc,KACnBR,KAAKS,WAAa,KAClBT,KAAKU,OACT,CAIC,MA8BA,OAlCA,6BACD,WACIV,KAAKS,WAAa,IAAIE,EAAAA,EAAAA,WACtBX,KAAKY,gBACT,GAAC,iDAED,oGACsBZ,KAAKS,WAAWI,IAAI,GAAD,OAAIlB,EAAe,cAAMK,KAAKK,SAAQ,mDAA2Cb,IAAkB,OAAnIsB,EAAO,EAAH,KACVd,KAAKQ,YAAcM,EACnBd,KAAKe,aAAY,gDACnB,wEAED,WACI,IAAMC,EAAI,IAAIC,KAKdC,EAHgBF,EAAEG,UACoB,IAAxBH,EAAEI,oBAEE,IAAOpB,KAAKQ,YAAYa,SAG1C,MAAO,GAAP,OAAUC,OAAO,IAAIL,KAAKC,GAAUK,eAAeC,OAAO,SAAQ,eAAOF,OAAO,IAAIL,KAAKC,GAAUK,eAAeC,OAAO,KAC7H,GAAC,wBAED,WACIxB,KAAKE,OAAOuB,UAAY,GAAH,OAAMzB,KAAKK,UAChCL,KAAKE,OAAOwB,MAAMC,cAAgB,aAClC3B,KAAKI,OAAOqB,UAAY,GAAH,OAAMzB,KAAKQ,YAAYoB,KAAKC,KAAI,oBAAY7B,KAAK8B,mBAAmB9B,KAAKQ,YAAYoB,KAAKC,MAAK,cAAM7B,KAAK+B,gBACnI,GAGA,gCACA,SAAmBC,GACf,OAAOC,KAAKC,MAAS,IAAFF,EAAO,GAC9B,KAAC,EA3CuB,GCLFG,SAASC,iBAAiB,iBAClCC,SAAQ,SAAAC,GAAG,OAAI,IAAIxC,EAAQwC,EAAI,G","sources":["webpack:///./scripts/config/weather.config.js","webpack:///./scripts/weather/Weather.js","webpack:///./scripts/weather/index.js"],"sourcesContent":["export const API_WEATHER_KEY = window.apiWeatherKey || '59875e3392c7f8a6414b31f4eb0ade11'\r\nexport const API_WEATHER_URL = window.apiWeather || 'http://api.openweathermap.org/data/2.5/weather'","import {\r\n API_WEATHER_KEY,\r\n API_WEATHER_URL\r\n} from '@/scripts/config/weather.config'\r\n\r\nimport {API} from '@/scripts/common/api/api.services'\r\n\r\nconst CLASS_PRE = 'weather-info'\r\nexport default class Weather {\r\n constructor(container) {\r\n this.$container = container\r\n this.$title = this.$container.querySelector(`.${CLASS_PRE}__title`)\r\n this.$value = this.$container.querySelector(`.${CLASS_PRE}__val`)\r\n this.cityName = this.$container.dataset.city || 'rome'\r\n this.weatherData = null\r\n this.APIService = null\r\n this._init()\r\n }\r\n _init() {\r\n this.APIService = new API.Controller()\r\n this.getWeatherData()\r\n }\r\n\r\n async getWeatherData() {\r\n const data = await this.APIService.get(`${API_WEATHER_URL}?q=${this.cityName}&type=hour&mode=json&units=metric&appid=${API_WEATHER_KEY}`)\r\n this.weatherData = data\r\n this.updateHTML()\r\n }\r\n\r\n calculateTime() {\r\n const d = new Date()\r\n\r\n let localTime = d.getTime(),\r\n localOffset = d.getTimezoneOffset() * 60000,\r\n utc = localTime + localOffset,\r\n destTime = utc + (1000 * this.weatherData.timezone)\r\n\r\n //return new Date(destTime).toGMTString()\r\n return `${moment(new Date(destTime).toGMTString()).format('hh:mm')} GMT${moment(new Date(destTime).toGMTString()).format('Z')}`\r\n }\r\n\r\n updateHTML() {\r\n this.$title.innerHTML = `${this.cityName}`\r\n this.$title.style.textTransform = 'capitalize'\r\n this.$value.innerHTML = `${this.weatherData.main.temp}°C (${this.celsiusToFaranheit(this.weatherData.main.temp)}F) ${this.calculateTime()}`\r\n }\r\n \r\n\r\n //utilities\r\n celsiusToFaranheit(c) {\r\n return Math.round((c*1.8)+32)\r\n }\r\n\r\n \r\n}","import Weather from './Weather'\r\n\r\n(function(){\r\n const $weatherInfos = document.querySelectorAll('.weather-info')\r\n $weatherInfos.forEach($wi => new Weather($wi)) \r\n})()"],"names":["API_WEATHER_KEY","window","apiWeatherKey","API_WEATHER_URL","apiWeather","CLASS_PRE","Weather","container","this","$container","$title","querySelector","$value","cityName","dataset","city","weatherData","APIService","_init","API","getWeatherData","get","data","updateHTML","d","Date","destTime","getTime","getTimezoneOffset","timezone","moment","toGMTString","format","innerHTML","style","textTransform","main","temp","celsiusToFaranheit","calculateTime","c","Math","round","document","querySelectorAll","forEach","$wi"],"sourceRoot":""}