From 975b9603d8cb27d68954243b3149efb580d5e57f Mon Sep 17 00:00:00 2001 From: Francisco Sandoval Date: Wed, 13 Mar 2024 21:15:21 -0300 Subject: [PATCH] se integra paradero a cms --- src/app.html | 2 +- src/lib/images/logo-autobus.png | Bin 0 -> 8121 bytes src/routes/Counter.svelte | 102 --------------- src/routes/Navigator.svelte | 2 +- src/routes/paradero/+page.js | 54 ++++++++ src/routes/paradero/+page.svelte | 218 +++++++++++++++++++++++++++++++ 6 files changed, 274 insertions(+), 104 deletions(-) create mode 100644 src/lib/images/logo-autobus.png delete mode 100644 src/routes/Counter.svelte create mode 100644 src/routes/paradero/+page.js create mode 100644 src/routes/paradero/+page.svelte diff --git a/src/app.html b/src/app.html index 77a5ff5..60e4e08 100644 --- a/src/app.html +++ b/src/app.html @@ -2,8 +2,8 @@ - + %sveltekit.head% diff --git a/src/lib/images/logo-autobus.png b/src/lib/images/logo-autobus.png new file mode 100644 index 0000000000000000000000000000000000000000..b72badaf65d53b4fdd20bf8c54d4f9796c90ead0 GIT binary patch literal 8121 zcmb_>2UJr_wDzGFK`xpgaKV5GBs2vAB1%zi=*5I80#XDC2!eEwc2&?wQHml;O9-I` zY0||40wPF{(iD*1R0y5qo#4Iqzw534U;le=y^}RLlR1-_`DV}F``i1_KheJezZvQp z=mJbk0Kf!(0QxYX18}mlbFi~QQjJKy+|i(BA`ppdYnlr$V6 zgH%yHrFL3f=MR*wp1y&hxrL>bwarCamn*JrSKYB5e*OW0LBS!Rw{G8wiM@Ldmz126 z`si`mlXN^GmzYP&FDNXpsH}QXT~k~4=52G!yVkb$_q~1n1A~-LpNGaLCcjNh&&ip-7|`~S{nvo~`9DJT53v7(YY5;CvWNk2V($frSHjoHE#?;GXS-k`$EA&SpWTMu-Y; zyN*b3^O>|lWi~_CsEUcLD&=nn!g-F$-~w+bt?GJSrtx<)(1GHFWE%f)!{p6iDv9dR zc)QF$GOfK+sKjM_p==kcw<|$$4F5)$9|+@HumGPBR7&UoCv{A@Rx{<6c0JWlv&8y& zxJTlukiQjaoo!|ZmI3>8q;@td<3v&aBJ3hz_nkeoXfHa1_Ho8UU38YlwmY}yKyuvf zgiR|WJQn6o<)6Ntl~d?ySZ2k_-ydq_M}ptf?}dtM-5D{2Nf$a3fB`!5d)DCeI$ zlnHECxj(n$$#g<_`8|+I){LTDOLt8QA9kk$G8tau4g$wv--UY|FI(w+AoNOeN~FGA z^p5XhCQg(%x(qxy``-ST@4ej1O}oz}_9k)F?6*RuWiAJYz=*k>`q+F0Y&uq61O= zd;}Y^u z!fbl@(#ZZ!%Ziqlb(#{TJFH-fRad?bSnJqKqg02lm zi9h79f@K^z=cbN}8#%Au)|4SVluZXR3+O;N+F$cxpcFo5#{#xGptVwH_Tp0F*0rpS z0g<-TlAkhh#n+egcB>O<+j(>Vdogh<*sLodcmr0EG(ep+5}IAu>RmDKiJd`p7q_Af9xfQAD=--uq=TD-Hqbs`fP!!$6pajU&c`xY zGo|ADp%M@6Oqv}~BV~ZL)hqJPT8&Wo^q56QCEUcj*XlP%6ZI7G2lNh3yF$2af0|tZ z^(>8xvETh@BaFDZRdp<3G~(mlKyk7?M+{+0DtUx^?oH8vo~n`+zUxmM!t=A{P0!y7 zZPr*+?wz#hbT>FzxG8g6oa zOsrl5$}xV?!nwvlrf5F&00+t+`TM0t?<7Do^?*lp$)Mk+r7;>8>p&Pym(!4}H0a#> zyx>CzGLWMqnHBAzTr6w|P|e=!1s>0ioTCHoX+PZ}cV>G-$f5PHg1jE1Coc(8xLJf7 z?Z@t%^0Ir2=$u`VSUVMYWjh^?AHO1PtCJosg#bn{JD3R^^MrpkrpNRvy0i9R3H&1oFUf5qWapvI$UT51%6W(ImJYcUM zYlPa#Y1t8%Gr6V#W^=}w78@~Q={PJ%xzfJ{vmVe+zAUwtoou*6303 z#daKM8NVmuxeaX%wIv~FW0wLfA`Ej}$KE>DWjJq{wtCnuhuo)cl5WQ`;Aj5{8uG%& z?NAl6p`#y-3MIu|^-QcVc>0C8W_++N>yYLs^2Ek7Yni-;XMT-;BwkmDFE}-=iG!1s zD?t@whoBAg*>dqXM+gS3&(+rp6}Fg@Fo2e zmPagu_4O7%m+)pN=9;j8F9CQBsu269TIC$wFKR@t6RK=<2x zy*z_j_@3VPU&DCvSjWc&6@H9lE;)A)kCRQAXLuimHU3o)a6xb?;9rH)))0h^PkQu^ zzhXf_V$wLqO_1~0oaoZ=Ru+saZOyIj{UlO)xcCo^bI{L}vRgs9iHDDtSim*l__~C{ z_xk%f`lT-495`od`xDy#G=Uq}2_3h#Dv+2vxx9woy^~AKEjIZBkCTZ}Pv}SMr`Yxq zlsq2r>2?NE+uRZL7CL*~CIQs>uc-wiKPotO`WyZP<<%GU?WX>4m9|#BU~!ps)w|JR zlSQCVhZt-V8(OZJ$Wx*#+XkB8a#avx?k_q5x?Te#1AT^32H6IJ0rV9pbk=X#qxX$k7sK!v6qSw5=k z+_=^P?q$uYsde-H`?JFXo+4Ho_mU53(*d;2u?9QaDywjIuCYHwL0QVC%^kwo%EZV+ zxOtDEE5@5UC!03Rq5akxpq43564~X7fym>=6+MNH>sWv;-!trF!g5L z7$y_1TWfWt$-c^8Q4Lp7@$hvx50WVh0T6)LKA`}m^-GjzdO#o`rGxxJHS~}C1duErx$vnPMgr$ej@!?U~l@w5! zq*EL>Ga~&CL{`~-C1*7gRQ1D!Yoi@ZRU*D``0#BUo4AEyujzVSiRm$R?sm`a6&KZt z=@Y=5DjFPcojp)(WIo?at157qV)Jm{+BIstsC6>e<+k+DqbG{ZhhQkJ_b*QBG0!NS zrn>CTiXsTfn|(zy#2?D@0{6tR2rPmJl$AClr84E;CltW^rGP?2kb{CffHOUySkL@A z#GOud?sRvIYRh=N$> zhOnF6)%BkU=OkMMkn8R2hwNSsv>mLPnxwo;^i+tfkHAlZ$M0|h!{4-GoF7G><6Nu^ z7|uJdQL#NRUqn(E)nuZ*DzaQTXA9q|Bd;1$h@)Ppgl0XYv z$Z?;q<~tasP6gSSk0kJ581Anh0mnaJgJ8Ou|D}ifh=YEK4Gt{rlWPXS-Y+1-Am+9( z3x^6XRw`%6z=*!hZgqRCbfB56nE8afc%->Y#`mf!hx{ zZ@=A3wmVOGnz;FJ(Y16WNz}jy<#Y5dC~U>VoYPKv9yYqJ=y`0(hi%c$@}(E?;Sh_; zenD-Gf`OHi#PsBPZbGpL)^AUSiXM3FrR1m~<8hO(yH2Y)vEbcgI^xrGQUl8zNL%pH zcd`57#G|AKZy5IGQBuMhP>ErjP&7kqkD?CY5bnRFpc!GoU&uh3oW=x_<|uAEw01V@ zvAQfi)oY3)!qbY$_9tR3?puE}8KB&1s#GgmUzZwyU?|1Gu9xV*=IZ0UKD(3T`3;(e zBpnE>G4J2=?E0YDzTjG~k47=$RueCP=Op{6htavG`LRW~1k!V%mr;=~v@+~8kGskr z>-y>sDpXk8R(76|;3KK{Se}#EwF?|V;jZ$}a@8|Pgg_NzO4xC%3^ag;R91Yc^x(TK z)n15Zd|RpN3*NEs8Xkh1RUYXgqtFO1fo&1mYz@`aBjrH{>`OdlKG#~L!1N5^<$h@3 zB`M|J>EPN z@_aDt3U!sC2nTDB|R@4RwBe@$Wia&yllLu7)>T$3YT!}UEVTLK+Mv-Bp@X4ax)1jgn5VXU*rVm4D83j>{o8-xf zts$YcAyd7Jc~jYT+X*s+&A|2q>kpR+R*lf7M245Fr1ajZ{n(HyE-Syah7MGcK8B|p^jTLq z`>PE&pSi#bdma8C3xtZ!F~d`_q6UBf29Lq+m9|?rwGeect~U?#!p@K)+URjX@JdYp}lduOEpkPv<>jMZXjJ zIwGV_V!GAQ4(J8Y*jVy}U+!u8hT!W5&q9v%+Vw4N6jkee6>;|uzd;(L@!%WW8MMQM zrav5yugUQGioJwi&mA&c#Huddb0>$I{brC{t^zCJ-@LQAD#0-aZq6lQnBClVs;5J% z4$7*sA>pS+`@?zOi{!iQ2KFMo_wQGLzB=vCe`wd=KKuW7mzCMLgd4!g2uQ?D;{znv zLX_tEQuW*kR=DZD<{QW~#rT&4MJ|PU!7Z8#2?Ng*k<*J$N{r=gJ$|CL;rQy)Z8H-b z+tyr)d#m9lK|!z|%XC1;PK2;gLM8JAy-75aAB~4p-Xh9}#1`+AtM*PU;JeIPoyv#?M2%`I-b*I>a6=uwQ4;bk8jHic8_!%$Ys!&zdWw(64du&w zB@OZmug-^iw1oEOv_qauQ1VHqj$1V};JP%rLNtJ4p>?Z;|sBUPZoR9z9sNpDz#ObwmxfsdS?O>F`0Y&bd z>K}2MX~o^QelIg9v!Ohu;;J_jU7hkJz0C{CC}IubHi9GT8nQOR$MJ^z<-vm_0a*pB_U zw^MvWRx9v~wO0UEbOd!ArZZEVYp!Z10!AOn<(#y|pBigb zamL9G7)V|TPVzQg1ig*(KO+3kVx0=;Fz5aJfG>4x*RwF+Tb@uGmy6@1S;mJt42tA! zdW^lhIePGS-#MJp8LI(G>=edWPB8Rnm6iM!)v+i(N!$uxe(Y_60?X>d`8B)C{XcNe9Z~yHNi}Ih@ z7)O343kHyft_8}$+l!rA-EgaI~Yn`;uD71`4tuH^RB-lg#TGxXuId#lM^*$`A~{e>5Ea7 z#y0Y~P|9NlkDTh*@Y+hq1y^Uskqtpp@%bFWM@rZqhzN%p%mzJIT?if?Kp9w8u74p7 zXRWhcER8q=Q<20XK}Vo;{=aP%|L<0l=Q{s08#vWt%EHh7)V;)Qq|QLm6H(9ity(uX zP9E6MDL`OlZ!d8p;Dt=@9{eym2T_zL?->q!%uzm3I;a~B_d+U!Sc%~VIaHQ=Q@Tm!vJ`YyxKD8_2ngUz-X!}FeV)%F>RWzq zEjc2Z2G&|j7}W!c{pLZ5wx<$p6$D)J^Hz>lUWeGpspGtV7}cPCZGH_Abl?C=YFu~R zaNKEsh753MWnHWt$OsWpzhVN`iKx?G4y*0G3HnCSl)c(~{b@}reozfM=^{E`F?-UZ z|3V-bQB*owur^|kuE7?GwCr{i>3ZV2G`!tJrtHZ$>ez3 zGl}EFdZ7*Z+n7G{J=;CRz_P?N==dS8h((6q=X%>>c{tc>(S>7&KXlrwR?`8o+KAM5 z(VZbR?~~$sjj7KelQLfI0SaIyaTH84_KTXX(87cZbY&k8eXJc_#IDOnVn<WcjQ^c8)Yvk+qui)*D~JLi3&D&`YEdjXRnxbYLkg zE_@NaSL&lTHl6PrUm1qo;Bzu7i`;RT*;$LcW;e6)%#yd#InhgVd=aq@QZ~;Kkhb;g zmHL6R=X-(k{_}?g*up_~8l?`Tb}{)AahUar<)d%1oLANxDZ6XPrXk8jI$-OO0B_Oq z1P8;epNRAvjr?eCv{x2D2Q+vuFh6F1JMx_LscEk)h|#33;k@|#=+#KWu4Ad1n}wF7 z5z{+ot_3|>z7j1+6+4U>2!m~|-rwu7lKq^}+SO@m0;;fufyiRVb%_&W-1=k<>Y3KA zt4>*=3*@HBA+rq=A5w{r%T;*Q`;TTPNJ0od+4~ahvfd9r5AS>k$(wj|%i-En??o!c z;35~84Z$cfqIC{X%$x`(ttPXLJIHjKNJG*HbMcC zkje|pXrmSg016kZVkU5KCWJ3a9#F;E!kH9N^74QbyyaIo3m~O#zS5ZEGqj0uyJrsye12d-F9+43|$WG&+|8)p}9exOM)OoqNU9he-v4C2mMsBO@iO`-#Jo-w6o zU=3!MPewhhSuB5K+Q5FE2tKjwL0e^i|ZP_qO_8Jyum2Oq(qND2ERc0yvpm)kF*5EL7t{ zeDr!7)g}?c=53kG#9=+BblH@n;`M80?-Mum$xU@JB`$~{& z&REve>FNzZ>!M`tPSpGeAfUPJKIzY_DKRBQpoQsdX z1HQvLau`yH)@C$D9YMM!fdSk{FgiGpZrlUrPr+7(pV?2O?nibEj|OHE^O$@0lQm$n z9~8u|ERL>wCkqc6C7RFV-i1&`9r>-6aMs)pC3Xaf0aGA;jC{U(&gO&sS@_DiQ{3=Q zNfrT|wtFW48qE;mSuh16H1R-~T^^Fc2#pPS0eR6`$dg$)@1fq2O4PN>1*4-e^|{{yhyw~PP) literal 0 HcmV?d00001 diff --git a/src/routes/Counter.svelte b/src/routes/Counter.svelte deleted file mode 100644 index 69a5b2a..0000000 --- a/src/routes/Counter.svelte +++ /dev/null @@ -1,102 +0,0 @@ - - -
- - -
-
- - {Math.floor($displayed_count)} -
-
- - -
- - diff --git a/src/routes/Navigator.svelte b/src/routes/Navigator.svelte index 8620cde..defec58 100644 --- a/src/routes/Navigator.svelte +++ b/src/routes/Navigator.svelte @@ -4,7 +4,7 @@ diff --git a/src/routes/paradero/+page.js b/src/routes/paradero/+page.js new file mode 100644 index 0000000..3680b09 --- /dev/null +++ b/src/routes/paradero/+page.js @@ -0,0 +1,54 @@ + +const base = 'https://transporte.hz.kursor.cl/api' + +export async function load({ url }) { + const id = url.searchParams.get('id'); + + if (!id) return null; + + const token = await getToken() + return await fetchParaderoData(id, token) +} + +async function getToken() { + try { + const rut = '11111111-1' + const password = 'usuario1' + + const res = await fetch(`${base}/auth/`, { + method: 'POST', + body: JSON.stringify({ rut, password }) + }) + if (!res.ok) throw await res.text() + + const { token } = await res.json() + + // console.log({ token }) + return token; + } catch (error) { + console.log('token',{ error }) + } +} + +async function fetchParaderoData(id, token) { + try { + const data = { + GetInfoDevice: { + idDispositivo: id, + KeyAuthorizacion: "token" + } + } + + const res = await fetch(`${base}/dispositivos/getInfoDevice/`, { + method: 'POST', + body: JSON.stringify(data), + headers: { "Authorization": `Bearer ${token}`, "Content-Type": "application/json" } + }) + + if (!res.ok) throw await res.text() + return res.json() + + } catch (error) { + console.log('paradero',{ error }) + } +} \ No newline at end of file diff --git a/src/routes/paradero/+page.svelte b/src/routes/paradero/+page.svelte new file mode 100644 index 0000000..55cda6f --- /dev/null +++ b/src/routes/paradero/+page.svelte @@ -0,0 +1,218 @@ + + + + Transformación digital: Paradero + + + +
+
+ Bus +
{nombreParadero}
+
+ +
Buses que se detienen en esta parada
+ +
+ {#if paraderoData?.DetalleLineas} + {#each paraderoData.DetalleLineas as linea} +
+
+
+ {LetraoNumeroMicro(linea.Descripcion, 0)} +
+
+ {LetraoNumeroMicro(linea.Descripcion, 1)} +
+
+
+
{linea.Linea}
+ {#if linea.Llegadas[0]?.EstimadaGPS} + {formatTimeMinutes(linea.Llegadas[0])} + ({linea.Llegadas[0].patente}) + {:else} + Sin información + {/if} +
+
+ {/each} + {:else} +

Cargando datos...

+ {/if} +
+
+ +