mirror of
https://github.com/hazemKrimi/react-weather-app.git
synced 2026-05-01 18:30:25 +00:00
2 lines
15 KiB
JavaScript
2 lines
15 KiB
JavaScript
(this["webpackJsonpweather-app"]=this["webpackJsonpweather-app"]||[]).push([[0],{14:function(t,e,n){t.exports=n.p+"static/media/left-arrow.5cea32b1.svg"},15:function(t,e,n){t.exports=n.p+"static/media/right-arrow.845e73a4.svg"},29:function(t,e,n){t.exports=n.p+"static/media/search.d198cd79.svg"},30:function(t,e,n){t.exports=n.p+"static/media/logo.75520b4a.svg"},31:function(t,e,n){t.exports=n.p+"static/media/twitter.ef7c26d5.svg"},32:function(t,e,n){t.exports=n.p+"static/media/github.65c48b64.svg"},33:function(t,e,n){t.exports=n.p+"static/media/linkedin.2e548c6e.svg"},34:function(t,e,n){t.exports=n(47)},45:function(t,e,n){},46:function(t,e,n){},47:function(t,e,n){"use strict";n.r(e);var a=n(0),r=n.n(a),i=n(23),c=n.n(i),o=n(3),l=n(10),m=n.n(l),s=n(13),u=n(6),d=n(8),p=n(4),h=n(2);function f(){var t=Object(p.a)(["\n\tmin-height: 85vh;\n\tpadding: 2rem 0rem;\n\tdisplay: grid;\n\trow-gap: 3rem;\n\n\th2 {\n\t\ttext-align: center;\n\t}\n\n\t.main,\n\t.wind,\n\t.humidity {\n\t\tdisplay: grid;\n\t\tjustify-content: center;\n\t}\n\n\t.carousel-arrow {\n\t\tbackground: none;\n\t\tborder: none;\n\t\talign-self: center;\n\t\tcursor: pointer;\n\t\tpadding: 0 !important;\n\n\t\timg {\n\t\t\twidth: 48px;\n\t\t\theight: 48px;\n\t\t}\n\t}\n\n\t.error {\n\t\tdisplay: grid;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\n\t\th2 {\n\t\t\ttext-align: center;\n\t\t\tword-break: break-word;\n\t\t}\n\t}\n"]);return f=function(){return t},t}var g=h.b.div(f());function b(){var t=Object(p.a)(["\n\tposition: absolute;\n\ttop: 50%;\n\tleft: calc(50% - 25px);\n\tborder-radius: 50%;\n\twidth: 50px;\n\theight: 50px;\n\tborder: 3px solid rgba(0, 0, 0, 0.3);\n\tborder-top-color: rgba(0, 0, 0, 1);\n\tanimation: anim 0.5s infinite linear;\n\n\t@keyframes anim {\n\t\tto {\n\t\t\ttransform: rotate(360deg);\n\t\t}\n\t}\n"]);return b=function(){return t},t}var w=h.b.div(b());function E(){var t=Object(p.a)(["\n\tborder-radius: 10px;\n\tbox-shadow: 0px 0px 10px rgba(0, 0, 0, 0.13);\n\tdisplay: grid;\n\tgrid-template-rows: auto;\n\trow-gap: 0.5rem;\n\tjustify-content: center;\n\talign-items: center;\n\ttext-align: center;\n\twidth: 200px;\n\tpadding: 1rem;\n\tmargin: 1rem 0rem;\n\tword-wrap: break-word;\n\n\ti {\n\t\tfont-size: 5rem;\n\t}\n\n\t.cold {\n\t\tcolor: #429bb8;\n\t}\n\n\t.hot {\n\t\tcolor: #ff4500;\n\t}\n"]);return E=function(){return t},t}var y=h.b.div(E()),v=function(t){var e=t.date,n=t.time,a=t.data,i=t.temp,c=t.icon,o=t.description,l="".concat(e.getHours()<10?0:"").concat(e.getHours(),":").concat(e.getMinutes()<10?0:"").concat(e.getMinutes());return r.a.createElement(y,null,r.a.createElement("p",null,e.toDateString().split(" ")[0]," ",n?l:""," ",(e.getMonth()+1<10?"0".concat(e.getMonth()+1):e.getMonth())+"/"+e.getDate()),r.a.createElement("h3",null,a),r.a.createElement("i",{className:"wi wi-owm-".concat(c," ").concat(i&&i)}),r.a.createElement("p",null,o&&o))},x=n(14),j=n.n(x),k=n(15),O=n.n(k),C=function(){var t=Object(a.useState)(null),e=Object(u.a)(t,2),n=e[0],i=e[1],c=Object(a.useState)(null),o=Object(u.a)(c,2),l=o[0],p=o[1],h=Object(a.useState)(!0),f=Object(u.a)(h,2),b=f[0],E=f[1],y=Object(a.useState)(""),x=Object(u.a)(y,2),k=x[0],C=x[1],N={pagination:!1,itemsToShow:1,enableSwipe:!0,isRTL:!1,disableArrowsOnEnd:!0,enableTilt:!1,renderArrow:function(t){var e=t.type,n=t.onClick,a=t.isEdge;return r.a.createElement(r.a.Fragment,null,e!==d.a.PREV?r.a.createElement("button",{onClick:n,disabled:a,type:"button",className:"carousel-arrow"},r.a.createElement("img",{src:O.a,alt:"Left slider arrow"})):r.a.createElement("button",{onClick:n,disabled:a,type:"button",className:"carousel-arrow"},r.a.createElement("img",{src:j.a,alt:"Right slider arrow"})))}};return Object(a.useEffect)((function(){return navigator.geolocation?navigator.geolocation.getCurrentPosition(function(){var t=Object(s.a)(m.a.mark((function t(e){var n,a,r,c,o;return m.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=e.coords,t.prev=1,t.next=4,fetch("https://api.openweathermap.org/data/2.5/weather?lat=".concat(n.latitude,"&lon=").concat(n.longitude,"&appid=").concat("b4d911f9450e605e9ee24cf54556fcf8","&units=metric"));case 4:return a=t.sent,t.next=7,a.json();case 7:return r=t.sent,i({description:r.weather[0].description,icon:r.weather[0].id,main:r.main,wind:r.wind,name:r.name,country:r.sys.country,timestamp:r.dt}),t.next=11,fetch("https://api.openweathermap.org/data/2.5/onecall?lat=".concat(n.latitude,"&lon=").concat(n.longitude,"&appid=").concat("b4d911f9450e605e9ee24cf54556fcf8","&exclude=minutely&units=metric"));case 11:return c=t.sent,t.next=14,c.json();case 14:o=t.sent,p({hourly:o.hourly,daily:o.daily}),E(!1),t.next=23;break;case 19:t.prev=19,t.t0=t.catch(1),E(!1),C("Could not get weather data! Try again later");case 23:case"end":return t.stop()}}),t,null,[[1,19]])})));return function(e){return t.apply(this,arguments)}}(),(function(){E(!1),C("Geolocation not active! Try searching for a city instead")})):C("Geolocation not supported in this browser! Try searching for a city instead"),function(){C(""),E(!0)}}),[]),b?r.a.createElement(g,null,r.a.createElement(w,null)):r.a.createElement(g,null,n&&l&&!k?r.a.createElement(r.a.Fragment,null,r.a.createElement("div",{className:"main"},r.a.createElement("h2",null,n.name,", ",n.country),r.a.createElement(v,{date:new Date(1e3*n.timestamp),time:!1,data:n.main.temp+"\xb0C",temp:n.main.temp>25?"hot":n.main.temp<20?"cold":null,icon:n.icon,description:n.description})),r.a.createElement("div",{className:"daily-forecast"},r.a.createElement("h2",null,"Daily Forecast"),r.a.createElement(d.b,N,l.daily.map((function(t){return r.a.createElement(v,{key:t.dt,date:new Date(1e3*t.dt),time:!1,data:t.temp.min+"\xb0C/"+t.temp.max+"\xb0C",temp:t.temp.max>25?"hot":t.temp.max<20?"cold":null,icon:t.weather[0].id,description:t.weather[0].description})})))),r.a.createElement("div",{className:"hourly-forecast"},r.a.createElement("h2",null,"Hourly Forecast"),r.a.createElement(d.b,N,l.hourly.map((function(t){return r.a.createElement(v,{key:t.dt,date:new Date(1e3*t.dt),time:!0,data:t.temp+"\xb0C",temp:t.temp>25?"hot":t.temp<20?"cold":null,icon:t.weather[0].id,description:t.weather[0].description})})))),r.a.createElement("div",{className:"wind"},r.a.createElement("h2",null,"Wind"),r.a.createElement(v,{date:new Date(1e3*n.timestamp),time:!1,data:n.wind.speed+"km/h",icon:781})),r.a.createElement("div",{className:"humidity"},r.a.createElement("h2",null,"Humidity"),r.a.createElement(v,{date:new Date(1e3*n.timestamp),time:!1,data:n.main.humidity+"%",icon:741}))):r.a.createElement("div",{className:"error"},r.a.createElement("h2",null,k)))};function N(){var t=Object(p.a)(["\n\tmin-height: 85vh;\n\tpadding: 2rem 0rem;\n\tdisplay: grid;\n\trow-gap: 3rem;\n\n\th2 {\n\t\ttext-align: center;\n\t}\n\n\t.main,\n\t.wind,\n\t.humidity {\n\t\tdisplay: grid;\n\t\tjustify-content: center;\n\t}\n\n\t.carousel-arrow {\n\t\tbackground: none;\n\t\tborder: none;\n\t\talign-self: center;\n\t\tcursor: pointer;\n\t\tpadding: 0 !important;\n\n\t\timg {\n\t\t\twidth: 48px;\n\t\t\theight: 48px;\n\t\t}\n\t}\n\n\t.error {\n\t\tdisplay: grid;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\n\t\th2 {\n\t\t\ttext-align: center;\n\t\t\tword-break: break-word;\n\t\t}\n\t}\n"]);return N=function(){return t},t}var S=h.b.div(N()),D=function(){var t=Object(a.useState)(null),e=Object(u.a)(t,2),n=e[0],i=e[1],c=Object(a.useState)(null),l=Object(u.a)(c,2),p=l[0],h=l[1],f=Object(a.useState)(!0),g=Object(u.a)(f,2),b=g[0],E=g[1],y=Object(a.useState)(""),x=Object(u.a)(y,2),k=x[0],C=x[1],N=Object(o.h)().query,D={pagination:!1,itemsToShow:1,enableSwipe:!0,isRTL:!1,disableArrowsOnEnd:!0,enableTilt:!1,renderArrow:function(t){var e=t.type,n=t.onClick,a=t.isEdge;return r.a.createElement(r.a.Fragment,null,e!==d.a.PREV?r.a.createElement("button",{onClick:n,disabled:a,type:"button",className:"carousel-arrow"},r.a.createElement("img",{src:O.a,alt:"Left slider arrow"})):r.a.createElement("button",{onClick:n,disabled:a,type:"button",className:"carousel-arrow"},r.a.createElement("img",{src:j.a,alt:"Right slider arrow"})))}};return Object(a.useEffect)((function(){return Object(s.a)(m.a.mark((function t(){var e,n,a,r,c;return m.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,fetch("https://api.openweathermap.org/data/2.5/weather?q=".concat(N,"&appid=").concat("b4d911f9450e605e9ee24cf54556fcf8","&units=metric"));case 3:return e=t.sent,t.next=6,e.json();case 6:return n=t.sent,i({description:n.weather[0].description,icon:n.weather[0].id,main:n.main,wind:n.wind,name:n.name,country:n.sys.country,timestamp:n.dt}),a=n.coord,t.next=11,fetch("https://api.openweathermap.org/data/2.5/onecall?lat=".concat(a.lat,"&lon=").concat(a.lon,"&appid=").concat("b4d911f9450e605e9ee24cf54556fcf8","&exclude=minutely&units=metric"));case 11:return r=t.sent,t.next=14,r.json();case 14:c=t.sent,h({hourly:c.hourly,daily:c.daily}),E(!1),t.next=23;break;case 19:t.prev=19,t.t0=t.catch(0),E(!1),C("Could not find any weather data! Try again later");case 23:case"end":return t.stop()}}),t,null,[[0,19]])})))(),function(){C(""),E(!0)}}),[N]),b?r.a.createElement(S,null,r.a.createElement(w,null)):r.a.createElement(S,null,n&&p&&!k?r.a.createElement(r.a.Fragment,null,r.a.createElement("div",{className:"main"},r.a.createElement("h2",null,n.name,", ",n.country),r.a.createElement(v,{date:new Date(1e3*n.timestamp),time:!1,data:n.main.temp+"\xb0C",temp:n.main.temp>25?"hot":n.main.temp<20?"cold":null,icon:n.icon,description:n.description})),r.a.createElement("div",{className:"daily-forecast"},r.a.createElement("h2",null,"Daily Forecast"),r.a.createElement(d.b,D,p.daily.map((function(t){return r.a.createElement(v,{key:t.dt,date:new Date(1e3*t.dt),time:!1,data:t.temp.min+"\xb0C/"+t.temp.max+"\xb0C",temp:t.temp.max>25?"hot":t.temp.max<20?"cold":null,icon:t.weather[0].id,description:t.weather[0].description})})))),r.a.createElement("div",{className:"hourly-forecast"},r.a.createElement("h2",null,"Hourly Forecast"),r.a.createElement(d.b,D,p.hourly.map((function(t){return r.a.createElement(v,{key:t.dt,date:new Date(1e3*t.dt),time:!0,data:t.temp+"\xb0C",temp:t.temp>25?"hot":t.temp<20?"cold":null,icon:t.weather[0].id,description:t.weather[0].description})})))),r.a.createElement("div",{className:"wind"},r.a.createElement("h2",null,"Wind"),r.a.createElement(v,{date:new Date(1e3*n.timestamp),time:!1,data:n.wind.speed+"km/h",icon:781})),r.a.createElement("div",{className:"humidity"},r.a.createElement("h2",null,"Humidity"),r.a.createElement(v,{date:new Date(1e3*n.timestamp),time:!1,data:n.main.humidity+"%",icon:741}))):r.a.createElement("div",{className:"error"},r.a.createElement("h2",null,k)))};function T(){var t=Object(p.a)(["\n\theight: 85vh;\n\tdisplay: grid;\n\tjustify-content: center;\n\talign-items: center;\n\ttext-align: center;\n"]);return T=function(){return t},t}var F=h.b.div(T()),H=function(){return r.a.createElement(F,null,r.a.createElement("h2",null,"404 Page not found"))};function z(){var t=Object(p.a)(["\n * {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n user-select: none;\n outline: none;\n font-family: 'Poppins';\n color: #000000;\n }\n"]);return z=function(){return t},t}var L=Object(h.a)(z());function M(){var t=Object(p.a)(["\n\twidth: 70%;\n\tmargin: 0 auto;\n\n\t@media (max-width: 768px) {\n\t\twidth: 90%;\n\t}\n"]);return M=function(){return t},t}var R=h.b.div(M());function P(){var t=Object(p.a)(["\n\tdisplay: grid;\n\tgrid-template-columns: 1fr 0.7fr;\n\talign-items: center;\n\tpadding: 0.5rem 0rem;\n\n\t.logo {\n\t\tdisplay: flex;\n\t\tflex-direction: row;\n\t\talign-items: center;\n\n\t\timg {\n\t\t\twidth: 36px;\n\t\t\theight: 36px;\n\t\t}\n\n\t\th1 {\n\t\t\tmargin-left: 0.5rem;\n\t\t\tcursor: pointer;\n\t\t\tjustify-self: flex-start;\n\t\t}\n\t}\n"]);return P=function(){return t},t}var W=h.b.nav(P());function A(){var t=Object(p.a)(["\n\tborder: none;\n\tborder-radius: 5px;\n\toverflow: hidden;\n\tuser-select: text !important;\n\n\t&::placeholder {\n\t\tcolor: rgba(0, 0, 0, 0.5);\n\t}\n"]);return A=function(){return t},t}function K(){var t=Object(p.a)(["\n\twidth: 100%;\n\tdisplay: grid;\n\tgrid-template-columns: 1fr auto;\n\tjustify-content: center;\n\talign-items: center;\n\tborder: 1px solid rgba(0, 0, 0, 0.15);\n\tborder-radius: 5px;\n\tjustify-self: flex-end;\n\tpadding: 0.2rem 0.5rem;\n\n\timg {\n\t\tcursor: pointer;\n\t}\n"]);return K=function(){return t},t}var _=h.b.div(K()),q=h.b.input(A()),G=n(29),B=n.n(G),I=function(){var t=Object(a.useState)(""),e=Object(u.a)(t,2),n=e[0],i=e[1],c=Object(o.g)();return r.a.createElement(_,null,r.a.createElement(q,{placeholder:"Search",value:n,onKeyUp:function(t){"Enter"!==t.key&&13!==t.keyCode||""===n||(c.push("/search/".concat(n)),i(""))},onChange:function(t){return i(t.target.value)}}),r.a.createElement("img",{src:B.a,alt:"Search icon",onClick:function(){""!==n&&c.push("/search/".concat(n))}}))},J=n(30),V=n.n(J),U=function(){var t=Object(o.g)();return r.a.createElement(W,null,r.a.createElement("div",{className:"logo"},r.a.createElement("img",{src:V.a,alt:"Logo"}),r.a.createElement("h1",{onClick:function(){return t.push("/home")}},"Weather")),r.a.createElement(I,null))};function Y(){var t=Object(p.a)(["\n\tdisplay: grid;\n\tgrid-template-columns: auto 0.7fr;\n\talign-items: center;\n\tpadding: 0.5rem 0rem;\n\n\ta {\n\t\ttext-decoration: none;\n\t}\n\n\tp {\n\t\tjustify-self: flex-start;\n\t}\n\n\t.contact {\n\t\tdisplay: grid;\n\t\tgrid-template-columns: repeat(3, 16px);\n\t\tcolumn-gap: 0.5rem;\n\t\talign-items: center;\n\t\tjustify-content: flex-end;\n\n\t\timg {\n\t\t\twidth: 16px;\n\t\t\theight: 16px;\n\t\t}\n\t}\n"]);return Y=function(){return t},t}var $=h.b.div(Y()),Q=n(31),X=n.n(Q),Z=n(32),tt=n.n(Z),et=n(33),nt=n.n(et),at=function(){return r.a.createElement($,null,r.a.createElement("p",null,r.a.createElement("a",{href:"https://hazemkrimi.tech",target:"_blank",rel:"noopener noreferrer"},"Hazem Krimi")," ","\xa9 ",(new Date).getFullYear()),r.a.createElement("div",{className:"contact"},r.a.createElement("a",{href:"https://github.com/hazemKrimi",target:"_blank",rel:"noopener noreferrer"},r.a.createElement("img",{src:tt.a,alt:"Github"})),r.a.createElement("a",{href:"https://twitter.com/HazemKrimi",target:"_blank",rel:"noopener noreferrer"},r.a.createElement("img",{src:X.a,alt:"Twitter"})),r.a.createElement("a",{href:"https://www.linkedin.com/in/hazemkrimi/",target:"_blank",rel:"noopener noreferrer"},r.a.createElement("img",{src:nt.a,alt:"LinkedIn"}))))},rt=(n(45),n(46),function(){return r.a.createElement(r.a.Fragment,null,r.a.createElement(L,null),r.a.createElement(R,null,r.a.createElement(U,null),r.a.createElement(o.d,null,r.a.createElement(o.b,{path:"/",exact:!0},r.a.createElement(C,null)),r.a.createElement(o.b,{path:"/home",exact:!0},r.a.createElement(C,null)),r.a.createElement(o.b,{path:"/search/:query"},r.a.createElement(D,null)),r.a.createElement(o.b,{path:"/search"},r.a.createElement(o.a,{to:"/home"})),r.a.createElement(o.b,{path:"*",exact:!0},r.a.createElement(H,null))),r.a.createElement(at,null)))}),it=n(9);Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/));c.a.render(r.a.createElement(r.a.StrictMode,null,r.a.createElement(it.a,{basename:"/react-weather-app"},r.a.createElement(rt,null))),document.getElementById("root")),"serviceWorker"in navigator&&navigator.serviceWorker.ready.then((function(t){t.unregister()})).catch((function(t){console.error(t.message)}))}},[[34,1,2]]]);
|
|
//# sourceMappingURL=main.88854618.chunk.js.map
|