From 314aeb8545fe2d615897ac34be88f3fb64ecc197 Mon Sep 17 00:00:00 2001 From: Nicholas Ngo Date: Mon, 16 May 2022 09:49:54 -0700 Subject: [PATCH] First git commit --- images/thunderstorm.gif | Bin 0 -> 62118 bytes index.html | 37 +++++++++++++ script.js | 114 ++++++++++++++++++++++++++++++++++++++++ style.css | 97 ++++++++++++++++++++++++++++++++++ 4 files changed, 248 insertions(+) create mode 100644 images/thunderstorm.gif create mode 100644 index.html create mode 100644 script.js create mode 100644 style.css diff --git a/images/thunderstorm.gif b/images/thunderstorm.gif new file mode 100644 index 0000000000000000000000000000000000000000..db71740c7107cf7c750f4c71c773e572c7eb0193 GIT binary patch literal 62118 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%0D5w9UnR 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⪼w)0f8|q)Aun&kDOm9!4y?d-w>0prLIa|XI%oLCVHi7+_{>b6w;nc~| zncdf=tDnD^@8E{ZT#vK61F8{rS2S^8b8voxqFKlfAH@fUPuf7(`2kX6*FJ7TZWFN; zW6CH4I%c+D7)pj{Z7DNc_A04ynjDUr$9{>(5b%tHFSReylomh1$)uUJQstzLQ6kL0 zD*D9mM%pxEm{5H#N3+OWwy~jXNld+;)xfjyB%@w$A?clRQ{`Hl`{m)S*(w zv7{G9?`S9?ru-*0CcO73FW%@0U}~^^9GataQq5UtG{|&a&`>tMoWjl(_gglx6YpMR zO~!mTfLuKWS;N^-MVRq7uYgjyROuu%=xc&qs3D)R(0abed&j@Ph5`yNPG=ylK7aK z4^bQL&Fb20&p7e@)d~FC#`BQ1DZe3d<27Tnh9F$@OKQUxVbp&aut*PYN^4;{l7?_o zM2GCCY6DBrA4Km!4>Pd6?%qkF&;WUn?u!Ff@2KywxTTTmCvh26Ht7Dwy6e9cseh*; z^>m}JNaLYo2^^A@lA=;)Tk(azbRo&1SfVx@_h`P(nk)5w*o{KN4GFcnPnv~ssown( zPJgA5E2D|8Y7kMODNnK^6u<53ND4ZJFIK+MTyb-)1$h*onHNxmb2gHA$WN9G)J zeC>Lj2fo-}$eT+2Wr6ukeXitH8#`Lt&C$C~dichZlyl8)2N<7rjGXISohtMthL}(b z$>dnw(=KrX&-Vu{is%dDJpvx8Qe6R5?LG~+-Fu1W(VvgGT;v)^WXH>m9?%XSt}Lnz zKLE;sA$2>RwmfvF0~#wKU=d&Y(Xl3GtBKGYD=2G!{mNBd!07aOA> zdRQ-t)45m^g)t0BVQTZLK;sozYmq;{=R73R3L!@@HV5zvTIAWQe^G!&Gkg<%l&a#; zMP8!5r;k%)E$Ov+BHawLs7eme+143|s4+YzUSbe=2J)a4%OKDwOr>8++Kt?)770v$ zyFR1rlYP!m2!|sA#68nv~1Kw_<^JtxqI6n$vy$Q;szp(=?WQ(z*6>yHp-==+OB0f z`Fd&0K*Q1v4O{v$gYlX0s#zsvp$Ui4MrWNT`NRDQ-SK1k+J2*t|KcRbNm3 za22;K5+JtJv=Dq6I)R1UMzvS><)Wnqx5V*azbM99bi94#6hB-JaSy(zh5q371od^` zk2<>VoK3zGxLxKp{WI?E$YX3V9}n~2oOmNh3R$OTsCbf_vqZs%39WN`OW-%lOPf&*g-@lr8e%m3FtooKoX-q zhbw?K2q^pePLo+a?y|^H#zt07MoES=kS&5(OT_r?fl5Y+d-ve+PK&Z^M3XrML&*d^H#GrO!6%Ra%e;PA@l{TTr*udty)hj zybIX9wi{n9$0e?|6>xqS8Zo-RNQPn*a)&66nv!0o45}3JCJ&8Tie9EpMi%lHDUR9d z!#ee&g@R2(V~(De=^GeD!k-k!UD7Ty_Em~R7ly{&S}!xtBa6iL6em2FFSBk(izIG_ zCVcKMvjLdJlE_Lh-@p|FMYUM^$?#;b=v59*RPl2rrH83-{i|H!v0^!);i+iPt2}DV z5(Rms>A1A3d}h@WrI*9gNv&4}+)*VeR!TEz%U6ZMV_R#?j`FHfgk!xHQjwl7DP=UcBEs-r6Gt&~@mm#-U} z$0{5@jI6BRUpGN9E1g1=SGP!Sng>-YU6MyucOOJ=S|+0^U5k|04)t$Z7so2ynnu=6 zJ#X4JFss}@wW(94+_bw%bEG2p8C?~+bu?JN^*P%^s)Hmy2-TcCQ(z$HK#}q5q3N&Y5+K(^Mvw2s`F74DWuT7!HootQ zzs5+%8}-&DsXxhy$HPixn{?%NfZk$NRljgs|4R5%!wgzX0C^PEli5KAurnr6&<;`2 zOGG8g=LvM6EjPg>_!mjQ_%Qnj_7`_UJV@_QO4%dM#Wg<}by}unnpjfiz8YOMsAKpN z`9hR!bX>5%F8*5v5^fCYIDhlS^A!wC-nQ zI`i=cirWzIOdQ-oIKiH_S{Cqv+$s}AAWR0(imTxW zKPX&KTdUiD<1jcAzs(A*YKL1#?)iyuuyXkEyE>H0??>#UdWxcGIX3(qb^`RF=9+-i$2-w`+7+9nJ0#NE-E$;P2B_QO6V`2*TDGl=#9> z9jfi0%N*S-PSHvmssW*m`IWyINwqr>F6T;%-!<6(kl;*W6e&e2?$Sf%!xpBYXC}X_ z(Cyrf>u+peM2WgLKsp#Jpiiz#Wpn;%4&lOi9X2?|i<_Qvy2K1DQ_pBM_gyGX*d&mf z&?wJI$SyI>B zhT-pqlYU4b_s8rd1Q9-W zNT1lhYAA=LOPutQNnlJ4_u=FzY}Z4GwW#pUV2{_(Bx4%#l()x$+S4B9q{-r|F~>wH;sO3~wwgE{ZjEV(J7 zo6Rn_`u_?-sJ-QK4~Am>$03CNX=RvC0HA2@s(JUo@&?yVa&&>oB2@Xna1Vx8o5mpns1nmqa~7On@m zA`~?%;-6822MBb|2a#SPs(+}ynCrCp=!|4ocP}?vpehcX&q)%`Tegos5{%Rq(s)-^ zF}`NHMzI~$v`)KqAeiMX4`7}NdJS$SvTkE+p2H-oZiWw`tL)x^*~bm#|4>$b0vP=_ z(0Uerr}aRi{zB{V#{4s_hwgV;4>#NIv>wO5(0T@&UQ7H&>!E(6^|<^->p_FjdOkkV zdW=G`|3d5GPQm(}*2DB0ttU0(k=8@-Nb50&(Rv`3(Y1jeVXz+9J3~Yta@D7xp^TC7 z#U=Zqseu`n_J!r`oj0q~pWAA-zMPyI#vW`OH3ZkF9G~5ff4w*?xJlYsk;h5y3K)#U zyy7W?^u9*HC0gmr-|UTupN-YWiG4`x@$@ie(F?8Fp@@nTmdjA6${mEKR~<%Zz*VCO zCxK)_U)dL`hq5?C+o$qvsO5_Lvd$4sD7NPV@`zA$$!~v6m|#P z6o{*8cl^skxWTD0bP;R_u^2+h|+FOc|( zOX3zxQq&0TB&M75tR^%mJ{=&F4Cjp%%l!H|y8OmkI$t(hBD1v-JwhjD%DzhS;|;s{L(*;8 zyDYcG=C>PO?!VcR#H7`Hg1mgICEQQCsC>`Y_NzZmKRl%h@0=0D$F=q0lYsydbD=2$ zVC7!EH>s4NNNB9I{x>h;5PPeow4)#&u>d(rlGHt`sGI@)_tXIC<{n%hNMOO!oV`)R zpc~AMVBuNNuMOT_=Q%Jyc+>>RO&F2Dl-^(3HXHACvoJ=zx(7dZt_qkqpP>hba3day z|0X9Ho`rNI7+wR4d3hsoO9A;P1v@u3EXbJqX-2|RZ(~g{KSwvH@m}_%BA9MQrVWP1 z5YL#=+`3ap`ar=bFE%N}5#(_YoWnwo{hoX%7!)wAiKTMS$D-y-?P5|87j&oyxNA0`o{lLRFrKb+~9YM5Avg28t_u8;N;t#Z4vqlka%j zx7ioui~105zEkuD`9}q#w(Uv~%?3z{00ruYK#wxu-vAB4@Lf?%@%NkfNJMBxl(ex< zLqi&163pgQycF^(QMe}*!xX$3$z02m5y3McNf+g?YW+HzbE9!NK&qmU2JtD7*(gM^ zl!iX!DT$&Hq9PtOZMsN2#jBp^GM3aYB(Fs$za%h%P(djb^nU=@n81FXr@#L^ zVd$wNyq?3cwg+S8=tnhVX(f9=!=Hbi;~mIdCXx{4Vz%D^el|OI{M{SpL*1U_sTHw&A#1&VnQIk0nMUZ`Jz`J{gr)M=MPNnDHu1hXHrr!McsS}L`y(3f5 zK!Q>(qp=#?a#6udsqs5u|AnU1zax5ZFjM@Z3>HOiI9jMS8_7~_Ydl$Les{D!*4A|P z8ES@vf+P0j@9}zloZLR0>5ftF>iqfr_VVcSL|50t!vg?`c>{z%WWC{s!dSfFk0JOU zYWADaAQBiWgQY0-%sHN;y-EWjaYOUz)m`4@!)v;McM?dAOLP*EonD0|Pg%DBQiu#n zc92Zr;&)B$!et7n9T*P~{Rob#VtX?C zRHg8zoGoZ6M+Qw(tl(pm1;+2EEQf`$90td{+;367%C)^^`8JPsYV_c8cZQT8Ufa#Mpkrq%v=n4vxrv3J98 zrK;w>@w;RvHFG=aX!nweWF4JMIbee7*4}D(ji-bkL-_mtRUhwj%ol$+*8iKzmJ{)I ze`W@Yr8&6+{{-Q*4-TDV?pJ(-P}#p2rm+3Zb}ZpKQD6I5CsEuNK7NF7nzi^uKb9>y zy#ii5GK0eishlx1!(iXAeFS9`dQ3dbb}SSSsTG}*2`gJBc|lUq42odPdXmJzdLtOK zzM!t5od@RTix;r$=8PJb29FmhAV1mHN+nBPw1NP}?sT+-Y% zA3*)l=mO!ZfnT><0y|WsNrrf}6vMAIF0}4y3&td=9TW#iE(+Df#Jq+v!Z(XFA)nQ7 z426%2X9Ss4*~jFLOLU3{1o>qfu1Xh#rt3Wsc-|i`)ER#fCTMF&o7T48rtO%Wq!KoN z`)zQ|E3~xOOy=lH&*+CX_x7g<3Yjbwk`ng1L_RVHFU-2#3EYTw4UE=$ ziK(X|=|&XFy#2GXuSSv-?yL5CE3J;)NLDHjOWOi^rBA*$zTO;6{xNTo!nn0F>BoL% zIVM=QzgTc%`F+*1;&{UsXHSCi=H`4qHAX9ux5Mij{!q5BI#m#~_UqA+)ft8Fx1SGy zfw~CaFNoIEFN1Iv*ZeU2r>QhCyP_d!n;AKkQJt zmZW@I`B^{6w)xny&7lAyntm#A)M!_g*DMV>X_rfV&DHj>&c@b7cb8t)0i?s=>Rw2? zuk4^Qv19=3AX!si_Ez?8koG^!@e*|VE?XSK;A>MmHD8&fq$@Vv4zH2}f+X|F4 zd%sykH#R&MZX55I7(*gjF{Yaq094zNXF`nwyNdyF)`b08u2o)So8==BmGlw`$7%2% zWzZ{g7xN2ZYX&83SBedZX)sVo?Fg2};G6?wysY|SeRg>s(=mCwW0DDSaTu$xXg=!Hv z2bY=j0EE4qN@CUeSU%(}Z6Nhhn5=+n`hZ#q?Z~k<_QjL7$9dPA26CuD85I0_tCv;m3Cp|n2|NKf- zUQAcz>u#}*k2d)0>aG$HG!xY+m91M=qDnD2L%4qhSYfxN2HiKjEhRu$-LXW9_C(-C z<9AeZutCjLnnQLaMA7|N%<{jBc>Pa(e{M|zXT!GN`~DNUskku&fA0HRquB5aTfaP% z9e(WlJ83J|q}A+%xj!}<&wD+1Czg-g%XKIoN01+#hpT6BQ0RvcH*f#P1gnE=guIsx zPaJFnWeO*RC0VC%XFWDKTo93vsPYxj%}Ze(Feko>s%iv`x+YkYgT19<0EWREXzM~t z>4jnN$ohxphe!20ZDwGoODw|i_MI;s8~X>{Tgbbo`G;RGO1;mn&ufJ+zdgVF^&oz` zMiy%Ry71#(G{9i+9KSmRO%ZAfJ4Pah5`T+Iv4(lTK6xi|;tYqrRT_$6CJXlGiK7?7 zC4VuDfTEGX&NBd=%L|C6E}Tq;&5h) z6Xw!}b1)sebbH*YDO^;H_&Q5V9TgcJFnffX?z!bBdhxO>1G=l?ynOT&35U@yhb#Vg zVHNR-q--xST~pmd+T7{asvHJPpS%`^-@{uY$u_#7ew~FCtpl&t@qGfSV1g{vxYl+z zt~*}#rt6UL`^`Cx6t<9P=g;~}-1W~@{Hew_4?hqWV|_h<%o~2w+&54j9KC>z0G0mf z4PJCp_|2drn&`$3&8sO$k>~eFm9ySEi5*F9X~g&f#Pi( z8e5HRL5>=81-AZUYja8QUoVG)rL^1-V?`)g3ea5)wdG9JP8nAc3`Fbakfa%&Fq#@B z*}w$|N_^3`_?CK5h-^JjuuH4jc(OTL;= zEEg%~3HSDmA8JW{N}Qz4^CbP`gCgVo66WH37n;M!g2K|n(*Gh1-an%6&qXK+kmBQa zol;<`xSCcGI=T9HkD!~Ao6jIvlVepLn^Sf(n5pu1D^lq6b{j0udAF1B((&%gLyA@9 z-EPK*)4M%L2oCw+tF_><8aA(23C z>NI5l7#%J@hEXj*VFQYcB}u3umW23T{&-qHx!r^HDunGeJ=KmUx^}E~T zFS~|6$s%1H{(MjQGY|QnunPNE9wvt#YwzO|upu$?SoecLVOC(0-On($7L11stG&bO ze#a-LXE0ghB@C7eb8Eq5kw0OKJa{y6g=!cp6()-`7_5fX9B}BAGX7uKH3XnjskJwM z-Tqe`;uIPnz-reADwrek?s9*o?9D{yzn_(grwI)~WCoaqk`Nnjg-J&W=OQza0_MY! zp`lU{jD^KpA?&%$xY04^p#d@2v&4RpK;TeltN`^82#kYc6B@6|;(?N&qR4_8A8T9! zPLgsu2u()zLk&;l0JEf}vO&TU(yZzSiP9~bMbcCF1{LuV(ImD|=ZZ=@Bb`t2?y3+uk;~OyoY+4$>;RZASuigR*JVWl2=q)ZxvFcGrq%u-Vn9 zORYfb^3|wM8kF?N{F=pVyc`O5)xec-IWC9rDMQi?j$kCnN(JI&qZd2&`TF5db+7jk zM;ZQc+X+B-hn1&DO^59$%+WuGn0O>1WDqgh<3#QrJ)+1Dh0clh-a zV`w=`k9fi{bV$nrtrq@LTB;(?Xo=k!LF8FYU9?_mN(q?mCaeNOEdBWHOF4MZ)rbmL zg=;CVeC!`~hJV;M{En;ttDWJ0f5(b-g=6W$?+#ao>WU_^B?HhXlzM}l!O>Yl(jj>cFKKvBG7h(=e_oN)GAN&3Bhi|&Ts}j$~P&6eU(rD2Qh>!g8%>k literal 0 HcmV?d00001 diff --git a/index.html b/index.html new file mode 100644 index 0000000..05748e4 --- /dev/null +++ b/index.html @@ -0,0 +1,37 @@ + + + + + + + Weather App + + + + + + + +
+ +
+

Weather in Surrey

+

51°C

+
+ +
Cloudy
+
+
Humidity: 60%
+
Wind speed: 6.2 km/h
+
+
+ + diff --git a/script.js b/script.js new file mode 100644 index 0000000..0cda65b --- /dev/null +++ b/script.js @@ -0,0 +1,114 @@ +const API_KEY = "9cc4edd6d8064a5b7d8fea55305f7c1d" +const API_URL = "https://api.opencagedata.com/geocode/v1/json" + +let weather = { + apiKey: API_KEY, + fetchWeather: function (city) { + fetch( + "https://api.openweathermap.org/data/2.5/weather?q=" + + city + + "&units=metric&appid=" + + this.apiKey + ) + .then((response) => { // error part if it fails + if (!response.ok) { + alert("No weather found."); + throw new Error("No weather found."); + } + return response.json(); + }) + .then((data) => this.displayWeather(data)); + }, + displayWeather: function (data) { + const { name } = data; + const { icon, description } = data.weather[0]; + const { temp, humidity } = data.main; + const { speed } = data.wind; + document.querySelector(".city").innerText = `Weather in ${name}`; + document.querySelector(".icon").src = `https://openweathermap.org/img/wn/${icon}.png`; + document.querySelector(".description").innerText = description; + document.querySelector(".temp").innerText = `${temp} °C`; + document.querySelector(".humidity").innerText = `Humidity: ${humidity}%`; + document.querySelector(".wind").innerText = `Wind speed: ${speed}km/h`; + document.querySelector(".weather").classList.remove("loading"); + document.body.style.backgroundImage = `var(--${data.weather[0].main})`; + }, + search: function () { + this.fetchWeather(document.querySelector(".search-bar").value); + }, +}; + +let geocode = { + reverseGeocode: function (latitude, longitude) { + var apikey = "5333f43e8a7a4553abee4745425cae8b"; + + var api_url = "https://api.opencagedata.com/geocode/v1/json"; + + var request_url = + api_url + + "?" + + "key=" + + apikey + + "&q=" + + encodeURIComponent(latitude + "," + longitude) + + "&pretty=1" + + "&no_annotations=1"; + + // see full list of required and optional parameters: + // https://opencagedata.com/api#forward + + var request = new XMLHttpRequest(); + request.open("GET", request_url, true); + + request.onload = function () { + // see full list of possible response codes: + // https://opencagedata.com/api#codes + + if (request.status == 200) { + // Success! + var data = JSON.parse(request.responseText); + weather.fetchWeather(data.results[0].components.city); + console.log(data.results[0].components.city) + } else if (request.status <= 500) { + // We reached our target server, but it returned an error + + console.log("unable to geocode! Response code: " + request.status); + var data = JSON.parse(request.responseText); + console.log("error msg: " + data.status.message); + } else { + console.log("server error"); + } + }; + + request.onerror = function () { + // There was a connection error of some sort + console.log("unable to connect to server"); + }; + + request.send(); // make the request + }, + getLocation: function() { + function success (data) { + geocode.reverseGeocode(data.coords.latitude, data.coords.longitude); + } + if (navigator.geolocation) { + navigator.geolocation.getCurrentPosition(success, console.error); + } + else { + weather.fetchWeather("Surrey"); + } + } +}; + +document.querySelector(".search button").addEventListener("click", function () { + weather.search(); +}); + +document.querySelector(".search-bar") +.addEventListener("keyup", function (event) { + if (event.key == "Enter") { + weather.search(); + } +}); + +geocode.getLocation(); \ No newline at end of file diff --git a/style.css b/style.css new file mode 100644 index 0000000..e054f3a --- /dev/null +++ b/style.css @@ -0,0 +1,97 @@ +:root { + --Rain: url("https://cdnb.artstation.com/p/assets/images/images/044/191/175/original/ryan-haight-kerry-park-rainy.gif?1639344501"); + --Clouds: url("https://64.media.tumblr.com/9ee59e8b2b137130d55209f48398878a/tumblr_pac4orsuyr1tlgv32o1_540.gif"); + --Drizzle: url("https://c.tenor.com/O5-9NwLytp4AAAAd/minimoss-pixel-art.gif"); + --Clear: url("https://thumbs.gfycat.com/UnfoldedRedJaguarundi-max-1mb.gif"); + --Snow: url("https://thumbs.gfycat.com/DecimalBabyishAmericancreamdraft-max-1mb.gif"); + --Thunderstorm: url("../images/thunderstorm.gif"); + --default: url("https://wallpaperaccess.com/full/3517019.gif"); +} +body { + display: flex; + justify-content: center; + align-items: center; + height: 100vh; + margin: 0; + font-family: 'Open Sans', sans-serif; + background: #222; + background-image: var(--default); + background-repeat: no-repeat; + background-size: cover; + font-size: 120%; +} + +.card { + background: #000000d0; + color: white; + padding: 2em; + border-radius: 30px; + width: 100%; + max-width: 420px; + margin: 1em; +} + +.search { + display: flex; + align-items: center; + justify-content: center; +} + +button { + margin: 0.5em; + border-radius: 50%; + border: none; + height: 44px; + width: 44px; + outline: none; + background: #7c7c7c2b; + color: white; + cursor: pointer; + transition: 0.2s ease-in-out; +} + +input.search-bar { + border: none; + outline: none; + padding: 0.4em 1em; + border-radius: 24px; + background: #7c7c7c2b; + color: white; + font-family: inherit; + font-size: 105%; + width: calc(100% - 100px); +} + +button:hover { + background: #7c7c7c6b; +} + +h1.temp { + margin: 0; + margin-bottom: 0.4em; +} + +.flex { + display: flex; + align-items: center; +} + +.description { + text-transform: capitalize; + margin-left: 8px; +} + +.weather.loading { + visibility: hidden; + max-height: 20px; + position: relative; +} + +.weather.loading:after { + visibility: visible; + content: "Input Location"; + color: white; + position: absolute; + top: 0; + left: 20px; +} \ No newline at end of file