From 8616432286b74010d0605c2b2709f22817e65fa6 Mon Sep 17 00:00:00 2001 From: Azalea Colburn Date: Wed, 23 Oct 2024 08:05:39 -0700 Subject: [PATCH 01/37] feat: type model for scouting system --- src/lib/types.ts | 33 +++++++++++++++++++++++++++++++++ src/routes/scout/+page.svelte | 3 +++ 2 files changed, 36 insertions(+) create mode 100644 src/lib/types.ts create mode 100644 src/routes/scout/+page.svelte diff --git a/src/lib/types.ts b/src/lib/types.ts new file mode 100644 index 0000000..ba9b99c --- /dev/null +++ b/src/lib/types.ts @@ -0,0 +1,33 @@ +export type TeamMatch = { + team_key: string; + match_key: string; + auto_actions: AutoActionData[]; + tele_actions: TeleActionData[]; +}; + +export type AutoActionData = { + action: BunnyActionType | ActionType; + success: boolean; +}; + +export type TeleActionData = { + action: ActionType; + success: boolean; +}; + +export enum BunnyActionType { + IntakeBunny, + ScoreBunnyTote, + ScoreBunnyLowZone +} + +export enum ActionType { + IntakeTote, + IntakeBalloon, + TakeBalloonFromCoral, + + ScoreYourHeldTote, + ScoreOtherHeldTote, + ScoreExternalTote, + ScoreLowBalloon +} diff --git a/src/routes/scout/+page.svelte b/src/routes/scout/+page.svelte new file mode 100644 index 0000000..7d4dd58 --- /dev/null +++ b/src/routes/scout/+page.svelte @@ -0,0 +1,3 @@ + \ No newline at end of file From 3a9c864c156cd967cafba7284f85d1df9ed3160d Mon Sep 17 00:00:00 2001 From: Azalea Colburn Date: Thu, 24 Oct 2024 08:32:47 -0700 Subject: [PATCH 02/37] chore: update svelte --- bun.lockb | Bin 93240 -> 95001 bytes package.json | 58 +++++++++++++++++----------------- src/lib/types.ts | 20 ++++++++++++ src/routes/scout/+page.svelte | 12 +++++-- 4 files changed, 59 insertions(+), 31 deletions(-) diff --git a/bun.lockb b/bun.lockb index d101aff12b24371130efd30f2d8017ef379e425b..ee5d8bbb325c228caa49a9b46f919c5c5dc47865 100755 GIT binary patch delta 10737 zcmeHNd3=o5`hU+G6PYlQAhIVjLKe-8Y%*D7Y_Y^t(5jH4cgTbxiI^lvEfcDiT8e{L zVhttsB5lc)qSUptRc_mR2~n{WrK;3zbkX1UdFP#8y|?%G`ThO--1+#)DBRb_D=BuWarmaUFKlnKz|I8v zJYJR^CRRP%H`T+fWAS8beu-5OZifhhw;+@^K(>Ii78mHPg_8wqvE5R{XSjtsvf2wm zN7TeZhC==v=9GtZg3t!s7y2N`-W>!X7&6y7x^ygND=3yH6@Es$0O)T*`azzDYzw&u zl4kB6Aqbw3dHI%-5^Jttw-wked4e#(S~eLYI0S8^)3o(UhdfJh$t2X+t)<1byfR@M z>dBC@C_!imc>>Z4(gsNrEK&MxiFURdU#u^)6yysQ``99jz1Ug-J@xyvlT#jp)PRqC zP7u_XzuY#qaH1Wt8k;|Hv?ae-XcVRhV)nD+no^^2NYXTpb5L7f)=R`@g$k3@G0YL zW5!`(Td{R2>=Ew7Iw!1)b9z!_DH*3nJUgL1g<7k~L-9`DPT@HT&WPn(Cl`_rKjwsqdXFY)=>0ALrN*^897HiGn||5AS86< zdmzcMEs$jBWLt?fuN0dp-&%@r2v2$mf)DifASuVMLsC03-fo>L^z7^GpKG0L$uG4E zrG>e+F}7xc5Z#X-Yi?*Alf%-Yd0VF+I9GSG^3am9 zi$C7q?^pLr)rscT{f*1r*Ua%hcYk7yM~kRtHOXGN{wjo~T*Y-}Ur%HF^=pmMd!Kxm z!;gCTYnl)dOjFJAd({Tx5%<)Q9@vj7-jQY889o)I3FtiLv zZie%+ryS8dl(6B*6K|txBUmC|2Uk9Sj@QSUMBf-57-td(#qgXslWH+ym?~E{#_;+$ zliGx1bA)rkpk$`!Iq@dd*Utr+o!3np_IW# z2BwJ-oq2tNNzCia0~1Z^S{$JiYGfSjehfwiVj;mg5uAFe9P?M%8Jsp1dI-P2B<=D1L|-V%rOh>=5K7cPPx64kr|* zqDYG@fma$$>hU-$C}Tuk6=+oL2aDw+pSbNamI4Ch^4-UY~AKZ^SPENh1|?sIEw(R>*LO3C?p=9ccav%dW*)^ux~GYe z>AbSLNxYTL>${uOfiM>FDsLh0nlWHxJ?u?O_CSf!&5c(D8O56>Uf;u{*5S8;48^vL zH>zI(Bj4ritzHF29pp%;&Vj{~p(+tuZwSq;8j4aMxwICgp>pZrZ>44UnHVJN8c~wl zsrw*&Xh1svc{mr0LMZP5@mNnD*xMxj(v#=(HmQ2yM_~}9iMXQ|uZMnM1`q6GQVG2U zVZ40COzX`n`Vz!iW#&q`{4m6Z5g1>At^0DVZ(d^hCCIt%!g75^rw z;Z1-BxGmQ@CFAc84C6Njdh2MaZvkrgKxy%;RP%4L!yMG=XQh@Twf;rn&q~riRrDlj zUIr!UMSL}bbSLs3Bvmz6>YtIAo{t>n#{^z5%#Q~T_VA&BTcIJf^`bBSiCjNmu%81= z@PW=95`E+kNpd0pl2n0;{{JGWX^_&MB#jfIaFSFERb&`!JU-aRK{_42sBO4X*MXGy zkfdTqMMfxkl4Ns?qSq^Wk~B_dg+D7v6|3k;QoDGDCqdFB;7bLW4B4Egzu@Pf;rmjR zBB}OyaO#$&=t)v>pu(S()NZh%CrSK8$d-_=K+<@*kZQ;RrG6qLeIVtfp@K{CoAg3y zrqXd9Bqhp1NNT!>z7$Et#R~r;Nd~>C)c?Ee>l|>Y(%_FIB^Foe|47mVD{BV7*y6vt zACdU|DL`TS@9zKa?*IS3`!D7M>l|SzgOa@)E=@}voHPFUJ`uK*sEZnp!qRiAUifu( zug1e&e6stM_~ylYw7?Pd#jg=ZQ~N~J?>Mxn?>Eg?J-+p>$I=1VEKGRn^%T+~???lrK)M9w&mrqi~aXk?+q+`qf6BBtb_ZWJ~%%7{yPT8m(N%?hF5LR=KW@9 zp7$I7LPX}IlY^|?=V&+0OBfM;vf{+{4OKDSDxy=Fj zzr@!j3_2HfI%{Id@WKB$)z|HrL9P7Gv~1oqL&FD5H?y(4VtO{;HdDiY0kiSU8QFZ8 zL&JB^FtZ8#37AK@hL4CsjubJ62UiMlxpZ~gs zH-OFH(Q~qS@>~sHJjcu&{36(Gu=Ll>Y!+YedNyA@Ps6_fdyS{eMVRJm_`11f_By`< z)&w?So|(<#74zWV0{92EfM?E!e{aCQ`DV6|KLPVt2>%wC*PW}YUV-@^cVP?De_7(6COtaF=-sZzs z!aoWAf$ih!Rq$^${99#aHM|z=6j+F4X76&F1pg}FAJ_pNup0hV!oSsKR?AO=T>#Tp znAss-RssLkz(26}d2}WGTMPdx&Fl!j2zDDReT|uYz!$86f9v2M*m0h+7XGb=e{0R` z1iu5;1U6uunVsYn>)_u8_y=~HXRe2T8{yx2Gy8}?0rRMWe;dr~6TW=|`~%Z$G_z0n z@Qv_q6Z``^&(&4%Z!`R>GPBQkE!ZirkWFUx1-EU2e{aD*u)p(w&G2sv{M&417x`(h z3t;-U%AD%^e`WhJV}P zU$vRtOl>JK@!ap$U zPBZ(K?*kjRTf=>Knb~*TvMZZC*Wv+rwcyRSFrMSFAcKXlFbpm#k~xnX!< z=Z!Ufq|sQ5^KFGCg7ASBFGV$tH9?GTeD7z`y;IHl15cTz3GZi~^csf$EAg(WI`9L- zSR1LQr|bW3c?!>}OBJW5@+&nx_gAn51j|^{73x2{d9ix+h&fZzdAouL2pesw}c}4!pFtwIdG_=yMrDh6(qWfCW z(St1BB<0Utd{Z?&C67me+TT-j^km-K**8-7Mo~70oCMJ4K0x&c9}yFTk{|ezNA3B8 z`^{i;vV)#g>A{-poCMHcbc%rzpcI%4OaZ0>Wx%VzG~h*G2=Ed>{$vBg0P-UTco`T0 zBmzkQy|&f@e+KG+!@v2NI1UL(P3Y-JZ1AhfR13m}7 z0R9I29k>A01DAlyKm)J~*v%(B@bi5ar3#=DSPQHJ*7NTkwDEZhC5kovlSRP)6yg7` zdVJT$K~MS10eT&vSB51(IWP;D4a@4|oAc1LXHrNEJY@kNyC?(zOSEMSCqI zy$%Kg^bWiXcmk9It)XiJv|~bl!5f7ZKubUa(2MP3G-?7UO(-pH0M~#3APC3@3IILY z8h}nff8Oz7By6`ei$A{uYP8rBS3Go^r}z)IY0?ciN6Xc1ttSifiRx=C@f+bT6O~{r58e5 z2$=~?L3!g3_`>J=UnpBUQtn;>Xr(Dr#sQQyV}U%t3jC?&i$~o=2Q6eSFb2ReAdChK zfF6heIsq0S8i)YG0qR4N>e~Y}acfRzB{%L-r?@G4LO z-xmp25s0!Es$U7Bs zBk&fm9oPx%0JZ@X@vQ*q9i*TFg?m4+52yj&0p0~@f&V)Z09i?OWE>epddic_ zz$Jj%(%{tYB0vLE8(NxrU=;8za09pxd;{DCz6Qnsw=loF)xLtf3494KfI>-=QpfAS zHJ}mD16P4(+qlZqm--RE1KbAg0S|%ifCs?$0G$j`Pw|D1*gvx7?30enLoBpTErFuu zryu9Fl0-MwZhX8U&UyU+YS-TlMK&tV5O0Xb8KPWJaQ$Ubu8B3o;#60(I0V1ny%gX^!7avzK*%@kQc2nKx_UGcAc)qCd69>x!UK!aFALaZS!PI}6i zUs4zBW7M}oli;TE7VjL{H49A=4RJKD>k5VIZ=dq$s7qM+C5vSV(kR9P+`1TIrJ~lX zZF5t4vLOY;0>@^h~4iDhf-=l}oxr#$| z(x1>GX*9;9sJ2~Lf9<7@Pi#Sp1dNH!zdvdydy;XI>!hF2S3Inf2DO7cj}WxNSU1tb z4`b~Q2s3}sCY*AIdSG>3*H;?nUn<#`b;biViH0Qd+PA$lllr^_|>8 z?(4cTlNx6p5;*J2UGk`M#Io8;AEPhX@l`9E-!q3><5~)}cEz(q$TWYiG&34cwCN!eD_Wq_3Di>9flx(Xxwkf!^*cWwe1icVeaG zB9l!;hf1D-IHfr9Ctj3vTkpJ^)B z?U$j0KgzOrze7II212vjU8Hzl*xryNmHT2T{?J?buyI|0$?AM;Q^1+yZ83&&3{@DV zv%WCbbv0)6qz>ubTX-ca<|3whlciuJ{r|Epo!jDhv2TjBz8&i%I<(T6b}Uuwlq$LV zA$794N`DH(GUs)b&ILox?Yas=y6?wYd!CGO-g>6?;ZTI$Gef!% z$}+@=3@J2>4GG?o;k+c2@wej@H;(wfjUI{4AJ#n?(vmRj(t{b&u`rgQx`LMN=@<)< zqO>f=b9`^-j~7N9rDdHu98@@6OTw?a5Y^1)-B|h?M5&*c?BPC?}sq@5uOg zb}dadY2*0SC;kVF?O9!j)GCp=ORpH1ryjq`hFCp4f*9hB@rIJIufA$4z@@G{yQRQt z88gvds4poi!i_Pzt*Auu>BNGf|5e*r-}zrvdP<@=sWF3TgPs`=EuUffI0;V&;nJCL kEXhZ{ZHanWqI;KtvEhxyXRXpmmRMoY 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 md + \ No newline at end of file + let { match_key, team_key }: { match_key: string; team_key: string } = $props(); + let match: TeamMatch = $state({ + team_key, + match_key, + auto_actions: [], + tele_actions: [] + }); + From fc86844433fba2a8331287f1dd71618f2fe5aab0 Mon Sep 17 00:00:00 2001 From: Azalea Colburn Date: Fri, 25 Oct 2024 16:41:33 -0700 Subject: [PATCH 03/37] feat: add none --- src/lib/types.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/lib/types.ts b/src/lib/types.ts index c5e6fdb..725324c 100644 --- a/src/lib/types.ts +++ b/src/lib/types.ts @@ -42,12 +42,14 @@ export enum FirstSubAction { export enum IntakeSubAction { Tote, Balloon, - FromCoral + FromCoral, + None } export enum ScoreSubAction { YourHeldTote, OtherHeldTote, ExternalTote, - Low + Low, + None } From a7fe0515d0bfb0991a92ddcac92b968793014bcf Mon Sep 17 00:00:00 2001 From: Azalea Colburn Date: Fri, 25 Oct 2024 18:24:11 -0700 Subject: [PATCH 04/37] refactor: type state model --- src/lib/types.ts | 54 +++++++++-------------------------- src/routes/scout/+page.svelte | 15 +++++++++- 2 files changed, 28 insertions(+), 41 deletions(-) diff --git a/src/lib/types.ts b/src/lib/types.ts index 725324c..c6c96f9 100644 --- a/src/lib/types.ts +++ b/src/lib/types.ts @@ -6,50 +6,24 @@ export type TeamMatch = { }; export type AutoActionData = { - action: BunnyActionType | ActionType; + action: AutoAction; success: boolean; }; export type TeleActionData = { - action: ActionType; + action: TeleAction; success: boolean; }; -export enum BunnyActionType { - IntakeBunny, - ScoreBunnyTote, - ScoreBunnyLowZone -} - -export enum ActionType { - IntakeTote, - IntakeBalloon, - TakeBalloonFromCoral, - - ScoreYourHeldTote, - ScoreOtherHeldTote, - ScoreExternalTote, - ScoreLowBalloon -} - -// To be used as an intermediate form by the frontend -export enum FirstSubAction { - Intake, - Score, - None -} - -export enum IntakeSubAction { - Tote, - Balloon, - FromCoral, - None -} - -export enum ScoreSubAction { - YourHeldTote, - OtherHeldTote, - ExternalTote, - Low, - None -} +export type AutoAction = TeleAction | BunnyAction; +export type BunnyAction = 'IntakeBunny' | 'ScoreBunnyTote' | 'ScoreBunnyLowZone'; +export type TeleAction = + | 'IntakeTote' + | 'IntakeBalloon' + | 'TakeBalloonFromCoral' + | 'ScoreYourHeldTote' + | 'ScoreOtherHeldTote' + | 'ScoreExternalTote' + | 'ScoreLowBalloon'; +export type TeleInputState = TeleAction | 'Intake' | 'Score' | 'None'; +export type AutoInputState = TeleInputState | BunnyAction; diff --git a/src/routes/scout/+page.svelte b/src/routes/scout/+page.svelte index 5f3c9b8..0d193bb 100644 --- a/src/routes/scout/+page.svelte +++ b/src/routes/scout/+page.svelte @@ -1,5 +1,10 @@ + +
+ {#if input_state == InputState.IntakeScore} +
From 0b18cca54b08471109ae53663196bee622cfb3fd Mon Sep 17 00:00:00 2001 From: Azalea Colburn Date: Wed, 30 Oct 2024 15:48:32 -0700 Subject: [PATCH 05/37] feat: state transforms --- src/lib/types.ts | 4 ++-- src/routes/scout/+page.svelte | 19 ++++++++++++++----- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/src/lib/types.ts b/src/lib/types.ts index c6c96f9..737736a 100644 --- a/src/lib/types.ts +++ b/src/lib/types.ts @@ -16,7 +16,7 @@ export type TeleActionData = { }; export type AutoAction = TeleAction | BunnyAction; -export type BunnyAction = 'IntakeBunny' | 'ScoreBunnyTote' | 'ScoreBunnyLowZone'; +export type BunnyAction = 'IntakeBunny' | 'ScoreBunnyTote' | 'ScoreBunnyLow'; export type TeleAction = | 'IntakeTote' | 'IntakeBalloon' @@ -24,6 +24,6 @@ export type TeleAction = | 'ScoreYourHeldTote' | 'ScoreOtherHeldTote' | 'ScoreExternalTote' - | 'ScoreLowBalloon'; + | 'ScoreBalloonLow'; export type TeleInputState = TeleAction | 'Intake' | 'Score' | 'None'; export type AutoInputState = TeleInputState | BunnyAction; diff --git a/src/routes/scout/+page.svelte b/src/routes/scout/+page.svelte index 0d193bb..6f72d28 100644 --- a/src/routes/scout/+page.svelte +++ b/src/routes/scout/+page.svelte @@ -1,9 +1,19 @@
From e294d065d7863694d83443e70a44371f2fd3ae5e Mon Sep 17 00:00:00 2001 From: awwpotato Date: Tue, 5 Nov 2024 11:57:11 -0800 Subject: [PATCH 06/37] add successfail screen --- src/lib/components/SuccessFail.svelte | 11 ++++++++ src/routes/+layout.svelte | 2 +- src/routes/scout/+page.svelte | 31 ++++++++++++---------- tailwind.config.js | 37 ++++++++++++++------------- 4 files changed, 49 insertions(+), 32 deletions(-) create mode 100644 src/lib/components/SuccessFail.svelte diff --git a/src/lib/components/SuccessFail.svelte b/src/lib/components/SuccessFail.svelte new file mode 100644 index 0000000..17b1a44 --- /dev/null +++ b/src/lib/components/SuccessFail.svelte @@ -0,0 +1,11 @@ + + +
+ + + +
diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index b5cccfa..0034574 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -5,7 +5,7 @@ diff --git a/src/routes/scout/+page.svelte b/src/routes/scout/+page.svelte index 6f72d28..b248e8c 100644 --- a/src/routes/scout/+page.svelte +++ b/src/routes/scout/+page.svelte @@ -1,19 +1,21 @@ -
- {#if input_state == InputState.IntakeScore} -
+ {#if actionState == 'None'} + + {/if} + + diff --git a/tailwind.config.js b/tailwind.config.js index d8fb534..3e2b173 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -1,20 +1,21 @@ /** @type {import('tailwindcss').Config} */ export default { - content: ['./src/**/*.{html,js,svelte,ts}'], - theme: { - colors: { - "navbar_black": "#1c1c1c", - "outline_gray": "#c2c2c2", - "cresc_green": "#00d586", - "bg_gray": "#2c2c2c", - "slack_purple": "#4A154B", - "robot_blue": "#0083E6", - "robot_red": "#ED1C24", - "fail_red": "#EE3C42", - "btn_grey": "#5C5C5C", - "text_white": "#ffffff" - }, - extend: {}, - }, - plugins: [], -} + content: ['./src/**/*.{html,js,svelte,ts}'], + theme: { + extend: { + colors: { + navbar_black: '#1c1c1c', + outline_gray: '#c2c2c2', + cresc_green: '#00d586', + bg_gray: '#2c2c2c', + slack_purple: '#4A154B', + robot_blue: '#0083E6', + robot_red: '#ED1C24', + fail_red: '#EE3C42', + btn_grey: '#5C5C5C', + text_white: '#ffffff' + } + } + }, + plugins: [] +}; From f5152900e77cd0c3997b75ba74c0368d2625c270 Mon Sep 17 00:00:00 2001 From: awwpotato Date: Tue, 5 Nov 2024 19:59:16 -0800 Subject: [PATCH 07/37] theme fixes --- src/lib/components/SuccessFail.svelte | 17 +++++++++++++---- src/routes/scout/+page.svelte | 15 ++++++++++----- 2 files changed, 23 insertions(+), 9 deletions(-) diff --git a/src/lib/components/SuccessFail.svelte b/src/lib/components/SuccessFail.svelte index 17b1a44..13ae46a 100644 --- a/src/lib/components/SuccessFail.svelte +++ b/src/lib/components/SuccessFail.svelte @@ -3,9 +3,18 @@
- - - + + +
diff --git a/src/routes/scout/+page.svelte b/src/routes/scout/+page.svelte index b248e8c..60df937 100644 --- a/src/routes/scout/+page.svelte +++ b/src/routes/scout/+page.svelte @@ -19,20 +19,25 @@ }; let { match_key, team_key }: { match_key: string; team_key: string } = $props(); + team_key = '1540'; let match: TeamMatch = $state({ team_key, match_key, auto_actions: [], tele_actions: [] }); + + $effect(() => console.log(actionState)); -
+
{#if actionState != 'None'} (actionState = 'None')} /> {/if} - {#if actionState == 'None'} - - {/if} - + team {team_key} +
+ + + +
From 4105ff5171233965911d7f2f7bbced1492e7fb30 Mon Sep 17 00:00:00 2001 From: awwpotato Date: Fri, 8 Nov 2024 16:50:13 -0800 Subject: [PATCH 08/37] fix: package.json --- bun.lockb | Bin 95001 -> 95016 bytes package.json | 36 ------------------------------------ 2 files changed, 36 deletions(-) diff --git a/bun.lockb b/bun.lockb index ee5d8bbb325c228caa49a9b46f919c5c5dc47865..44db62a5439e85d058652c0fe321bc4d23aa97a4 100755 GIT binary patch delta 7533 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 delta 7516 zcmaJ`2~<=^)_&FSfCnlKqD^i{bz3Es&Fw8IQhuZ`G|^ zcde?v?)Xgfe<>F8tl?wYjZ=x`W8Xx6;y-TybYde;Jfi}0@iuk-3@JSK{x=yD%1$RBVmGI z#zYI;z%6|m6WkKhB$eI($mu^~+z7ZC5JSE;K<>FZ4gL-ge|?o2ECu8qbx>kR>)451 zB0%kg?%cd0d?dh)uEqvvCRj1frG*1>Dfw_BUoC>>(A(Tv<8Iw3T*Ek@Z}c>I8a>`N zudAun-3oJ{BDV0gdKz0@s|BI1p_yAPv?FNHI>}cLgfmnF@{P-2YdGL8K)%6Ndd85w zV5cUgW=(Uwr`FZ_9z4U1J*~ldi)uz6XfDm;%~E!nZB?bTx?Q!kp4OILIyb-+Sr?;@ zz6{8vjK9qh;;*S{R z(fSmSM{59(=i44Y9-TQfBQRb{NK@6@MwbMdGIoICKHr$G`tEf=Zn_7MuX$8k`vUC@ zG@1PwD%ZQyRd^DRM`i`>4>Wa5xIuNF+uPFWMjG9x(XO@a+}*;oEJ1*ed`3X7R|{nG zz1FvSvetS9p=Ev3#+v3@cZW7!4ai-y6p+Vtp$7M6tFC(ykcUggI2<18(>-56U81Su za*is#FIQEv#nrYZtKPkFI@ozs6Et`!fXaAtOL8gwOnJVS>u3OI&wq}j1p&mQb%5=EW(-a`HOK1m1h{g9d?WRgmq_`0b-LKdrV z##hp=2#5GQutf@XZ44_G^|6P?un&OUtneiV3Bm#eYZ${0j$uEIVdcR(-(zFg;24$^ zqR-X?D_7+0AH%*I!{)#%>g)r+N)^7h#;^!@w3Nn1-597KFo^7;PLoWoP(QwDbP!(; zHAl-Nh&u6om-_Kdq=WcAK+R^E3{WS&HtILa;v=ZjGCE{*h-ZP_L|4Q)Br9qgq4NdO z#0WcCMg10;bkjk6;a00m;;7RqODhoyWRNdF;ey*S^FB4l$Yc_A;#*Gr_&!Jn@jXh- zv9k0PvZg{^5o?#qkl;vrpFvsgql4hshcRTAFNlvB{xz8{iz_BY)E_64jdT#-Bh(x( zOV^QhbHGNZE6&d6<7Kj*4&r;9niFKhPgCf!gkq9M{Ry(T1$V(y^1a}l7(2O-4kpXu#~7QhcsLEGDVMI;F5V4lAzfj1NdE(juM%mZ z*)9d*hQPstICNX=WIlDK$OfO4o=+|o`!NOOV;qJbtkjZPEas!~3TPK}S_h2V5lmev zcIhZ6zLTg}6@vQaKF1s!S3;d>GHIoLe4n9%X|iD?mRiz_rMYpsqqrI!ptu^Uw-3_6 zbeVik%^5QBQYXGIQ9r)#(7_B@^d<>HD|fc|DX=QV?X!~w;Wt>1bV|09?R0RuZ1_5v zS~80z*EB&`f+_gbVwd)V%2OC!5q9YlP`HPlQFFE|-k**HRQ5jytPD~K?M|>03mwdsC1-}3p3oe5-U~|2dLECc z>3U3&;nG4-T3$i>dqDBD4xlc${engX@>q%1OjL&A&egzp43)YQp8-`shhWD!>dceL z6za!!F&)f9ZNq)DmAPT+%$KENT;I#FQmr^tY`!f1AI8dPY^p=bv8lO?Y@1hz)4>u` zEN;aZW|JM_N5JOu{Njh|3|U%@E1c^ZOo!9$(qT|M=R`&GuR(DQp*ifx#%<1XT2Q>v zs8K;mUA?4H!Akriao_X!8pDT;IuTmy-P4U}hE03Eg#Qs+EbO2ngwYY2zr+odW{+~@$sus?y~ z+-gPrFQ`1Op=dxN-^TY9mjWwOu&uzBD%d~AuueR97As@Jz!W~I41NOx4;Aun3n=b7 zCG*Ki>MxTG*GuU6vSM)_o;!wMTqc#&UoJ~RsUWPy0yr(HkeY9jr85{&mBhs% z1t90SIRbUfwo6MuY4Odri}!+BNQX=g>1|-}D7c2R>~OJvfh^rpK9-~i&OM;CghtjJ z)8?S2(Qf#6Iel_ru~>*gD55J;9O8OlxJwYbog7mHcSqZ$Ay6n-o+eN&1;_EYZ&!fg zoJxI?PU^fx7T>`b?zI#L$?O@t3Qwdi-gqDuHH1UKLM{#$grw1E*%~rK|RAqM#;nxm=?+{z}aH#At$d8y0~XImn-Sd zbxJ#rJILMi?co(-FKF+zx$>}6H}tKJgm|Fm<* zWK;RKfh5P4TWHJ65zewoFwD?<2stHBt~wMHZWw3KyA03n+_d&;NXp;FXTn$)m#w!Y zLL!PYd&%Q(jWgu30j@(SyTbXjzJ~9laJ4-3vSH3RUn7e*KnJ}MGCeXqpFI3=_c(*z zDyg3OqZA$=_09OqPS%K}R=v0K*Kd6BcRyc6#~B7#HyFrg>?r5cdovSF^Dl4P(|&rK zFOq%58T4jO!yV6#zTbIx?l?m+OAa7)XOzNX z3dm8FG!uo6VxyC=v)=eAUTNq%_f-gtoX)cue-w+%R=q=XvZG?S`Qp))%Fc=%iWl;K zJ+YCqXy+)p6V){=JD9{0)j7zsx?og>$es#@wwe=X2;uBqPFvaKU{XrbS#}7i^UR7= zn-RZ^V-&d+Gk6#KngDTB_zrv*cm6Tow%#bR(r(MmvE>OHF~d)iuJ7-C@=ntmJ1~=H zo56L{TUeFfojTYTSp8%axu1=OVDmm^mPjHgVh)KcBKhng0IS}x>N|7JJzSR~!wE

?+C4T)*dj zR~T|_xV*QT)MN7YCFd5c_~)77@uj=iiZF87sy9)#Z8%Fh!w9!Kz+Xn`+hrP+cF%};K zFu+FnhI;FBzd8Qq{>jO~SjDeHL_%+l4nKIIZC}M3A($z!&E)Adg)NH0hQAs_WoZuE z3X~mT|n{qm@gpUTsnA$gv>_OIhp`1aS^qGKFlm>Rs2y zjJWDuk5^Y32zLZ_7k02Or=Z3?%rO;O=zZ7+f-|-)dTu{A8^vV96Zv)4Je52}{4C4_ zv0AKOU`|e*WRIAzSZ~XIF;YFWYH~<{Vxw}NtYH0MKx$mz?Dw(oXvGq^ZYqG$g#pE`qY^o!I)K#~)mG_QTWIaE9vcy=<}>R$XQ;4*J+$ zGuZV`>oT(SLfN-Zb7yHKUc@>q#LRv)6N^>vub!Cn`Ofm5T3$^&hH&X(mTN)%=ndKp zhrhOqvlsB(L7Z&(MWc$b>K)s{KV?0hcq;M?jxZcJJPWja-m+kyAxPxs`_d(ER=A7@ zxbnOVz;%fcE3_VBl~&}`uNtYGCVHQ?BKzdC<~L47K|%q71qpuEWrdquYyc9-E9?ru ze<>Fwi5HP_))<4->R|pD;vm!6doc)j1zQ&j8LQdmM1U>qT>y40mPAUY@x$B#12m2h z_WK0fEU9tip2@$w)r@2%I~qrtacXA9LlwQ%`_3n?wfyo#z2V$> z=+r4sQtpG}9E#5}k=rjP;_g*lN0zh8iKOnolzSShPlAbhpL$z+UzX=@Vk=a#^T$)3 zpoKy+L=(G^eVIf`$6}%u2wvY+$>cKmn90-NRP{xIN1)!kzEXVR>9kFUzkqC<8T>f- zZXSDd8s7M!Z2L4kR#MrQ(@2%|1^goBcj)~0Px(JN9=#X*1zZvSHFs VA?bvR6*jZsG;;RPsdVCA`2SXC10( Date: Fri, 8 Nov 2024 20:40:22 -0800 Subject: [PATCH 09/37] fix: formating --- package.json | 58 +++++++++++++-------------- src/app.html | 2 +- src/lib/components/SuccessFail.svelte | 3 +- src/routes/scout/+page.svelte | 16 +++++--- 4 files changed, 42 insertions(+), 37 deletions(-) diff --git a/package.json b/package.json index 0ae020d..46d1404 100644 --- a/package.json +++ b/package.json @@ -1,31 +1,31 @@ { - "name": "floatingchickens", - "version": "0.0.1", - "private": true, - "scripts": { - "dev": "vite dev", - "build": "vite build", - "preview": "vite preview", - "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", - "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", - "lint": "prettier --plugin-search-dir . --check . && eslint .", - "format": "prettier --plugin-search-dir . --write ." - }, - "devDependencies": { - "@sveltejs/adapter-auto": "^2.1.1", - "@sveltejs/kit": "^1.30.4", - "@typescript-eslint/eslint-plugin": "^5.62.0", - "@typescript-eslint/parser": "^5.62.0", - "eslint": "^8.57.1", - "eslint-config-prettier": "^8.10.0", - "eslint-plugin-svelte": "^2.44.1", - "prettier": "^2.8.8", - "prettier-plugin-svelte": "^2.10.1", - "svelte": "^5.0.0-next.272", - "svelte-check": "^3.8.6", - "tslib": "^2.7.0", - "typescript": "^5.6.3", - "vite": "^4.5.5" - }, - "type": "module" + "name": "floatingchickens", + "version": "0.0.1", + "private": true, + "scripts": { + "dev": "vite dev", + "build": "vite build", + "preview": "vite preview", + "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", + "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", + "lint": "prettier --plugin-search-dir . --check . && eslint .", + "format": "prettier --plugin-search-dir . --write ." + }, + "devDependencies": { + "@sveltejs/adapter-auto": "^2.1.1", + "@sveltejs/kit": "^1.30.4", + "@typescript-eslint/eslint-plugin": "^5.62.0", + "@typescript-eslint/parser": "^5.62.0", + "eslint": "^8.57.1", + "eslint-config-prettier": "^8.10.0", + "eslint-plugin-svelte": "^2.44.1", + "prettier": "^2.8.8", + "prettier-plugin-svelte": "^2.10.1", + "svelte": "^5.0.0-next.272", + "svelte-check": "^3.8.6", + "tslib": "^2.7.0", + "typescript": "^5.6.3", + "vite": "^4.5.5" + }, + "type": "module" } diff --git a/src/app.html b/src/app.html index 00b6bae..995660c 100644 --- a/src/app.html +++ b/src/app.html @@ -1,4 +1,4 @@ - + diff --git a/src/lib/components/SuccessFail.svelte b/src/lib/components/SuccessFail.svelte index 13ae46a..007da5b 100644 --- a/src/lib/components/SuccessFail.svelte +++ b/src/lib/components/SuccessFail.svelte @@ -1,5 +1,6 @@

import type { AutoInputState, TeamMatch, TeleActionData, TeleAction } from '$lib/types'; import SuccessFail from '$lib/components/SuccessFail.svelte'; - import Timeline from '$lib/components/Timeline.svelte'; + import Timeline from '$lib/components/Timeline.svelte'; let actionState: AutoInputState = $state('None'); const intake_piece = () => (actionState = actionState === 'None' ? 'Intake' : actionState); @@ -28,7 +28,7 @@ tele_actions: [] }); - let actions: ActionData[] = $state([]); + let actions: ActionData[] = $state([]); let timelineExtended = $state(false); let latestActions: ActionData[] = $state([]); @@ -39,16 +39,20 @@ {/if} team {team_key}
- - + + console.log('todo')}>Add Action (timelineExtended = !timelineExtended)}>Show Timeline
From d80ad01124a1bf29d5e9bec3817dedff6cf990cd Mon Sep 17 00:00:00 2001 From: awwpotato Date: Fri, 8 Nov 2024 20:54:32 -0800 Subject: [PATCH 10/37] fix: dependencies --- .prettierrc | 1 - bun.lockb | Bin 95016 -> 141027 bytes package.json | 43 +++++++++++++++++++++++-------------------- 3 files changed, 23 insertions(+), 21 deletions(-) diff --git a/.prettierrc b/.prettierrc index a77fdde..9573023 100644 --- a/.prettierrc +++ b/.prettierrc @@ -4,6 +4,5 @@ "trailingComma": "none", "printWidth": 100, "plugins": ["prettier-plugin-svelte"], - "pluginSearchDirs": ["."], "overrides": [{ "files": "*.svelte", "options": { "parser": "svelte" } }] } diff --git a/bun.lockb b/bun.lockb index 44db62a5439e85d058652c0fe321bc4d23aa97a4..186381bf4045f97ff800547eecad9861c7f663cc 100755 GIT binary patch literal 141027 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 delta 27612 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 AQUCw| diff --git a/package.json b/package.json index 46d1404..14cd592 100644 --- a/package.json +++ b/package.json @@ -1,31 +1,34 @@ { - "name": "floatingchickens", + "name": "test", "version": "0.0.1", - "private": true, + "type": "module", "scripts": { "dev": "vite dev", "build": "vite build", "preview": "vite preview", "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", - "lint": "prettier --plugin-search-dir . --check . && eslint .", - "format": "prettier --plugin-search-dir . --write ." + "format": "prettier --write .", + "lint": "prettier --check . && eslint ." }, "devDependencies": { - "@sveltejs/adapter-auto": "^2.1.1", - "@sveltejs/kit": "^1.30.4", - "@typescript-eslint/eslint-plugin": "^5.62.0", - "@typescript-eslint/parser": "^5.62.0", - "eslint": "^8.57.1", - "eslint-config-prettier": "^8.10.0", - "eslint-plugin-svelte": "^2.44.1", - "prettier": "^2.8.8", - "prettier-plugin-svelte": "^2.10.1", - "svelte": "^5.0.0-next.272", - "svelte-check": "^3.8.6", - "tslib": "^2.7.0", - "typescript": "^5.6.3", - "vite": "^4.5.5" - }, - "type": "module" + "@sveltejs/adapter-auto": "^3.0.0", + "@sveltejs/kit": "^2.0.0", + "@sveltejs/vite-plugin-svelte": "^4.0.0", + "@types/eslint": "^9.6.0", + "autoprefixer": "^10.4.20", + "eslint": "^9.7.0", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-svelte": "^2.36.0", + "globals": "^15.0.0", + "prettier": "^3.3.2", + "prettier-plugin-svelte": "^3.2.6", + "prettier-plugin-tailwindcss": "^0.6.5", + "svelte": "^5.0.0", + "svelte-check": "^4.0.0", + "tailwindcss": "^3.4.9", + "typescript": "^5.0.0", + "typescript-eslint": "^8.0.0", + "vite": "^5.0.3" + } } From 040d95c2d0fdb86a5285fdbb66744722a63600ac Mon Sep 17 00:00:00 2001 From: awwpotato Date: Fri, 8 Nov 2024 20:54:43 -0800 Subject: [PATCH 11/37] format thingy --- src/app.html | 2 +- src/routes/+layout.svelte | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/app.html b/src/app.html index 995660c..00b6bae 100644 --- a/src/app.html +++ b/src/app.html @@ -1,4 +1,4 @@ - + diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index c0aa26d..4b474b2 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -7,6 +7,6 @@ From c9dc82e3e59355d63925dc9e2b55033c3b6a8b62 Mon Sep 17 00:00:00 2001 From: Azalea Colburn Date: Mon, 11 Nov 2024 22:39:50 -0800 Subject: [PATCH 12/37] refactor: update types to match new schema --- src/lib/types.ts | 60 +++++++++++++++++++++++++++++++++-- src/routes/scout/+page.svelte | 27 ++++++++++++---- 2 files changed, 78 insertions(+), 9 deletions(-) diff --git a/src/lib/types.ts b/src/lib/types.ts index 737736a..1f9e380 100644 --- a/src/lib/types.ts +++ b/src/lib/types.ts @@ -1,6 +1,58 @@ +// For DB +export type Match = { + match_key: string; + event_key: string; +}; + +export type User = { + id: string; + name: string; + is_admin: boolean; + slack_token: string; +}; + +/// Counts +export type AutoActionsTM = ActionsTM & { + bunny_intake_success: number; + bunny_intake_failure: number; + bunny_tote_success: number; + bunny_tote_failure: number; + bunny_low_success: number; + bunny_low_failure: number; + actions: AutoActionData[]; +}; + +export type TeleActionsTM = ActionsTM & { + actions: TeleActionData[]; +}; + +export type ActionsTM = { + id: number; + tote_intake_success: number; + tote_intake_failure: number; + tote_eject_success: number; + tote_eject_failure: number; + balloon_intake_success: number; + bollon_intake_failure: number; + score_low_success: number; + score_low_failure: number; + score_internal_success: number; + score_internal_failure: number; + score_external_success: number; + score_external_failure: number; + score_other_robot_success: number; + score_other_robot_failure: number; +}; + export type TeamMatch = { - team_key: string; + team_action_id: number; // what is this? + scout_id: string; match_key: string; + team_key: string; + skills: number; + notes: string; + broke: boolean; + died: boolean; auto_actions: AutoActionData[]; tele_actions: TeleActionData[]; }; @@ -15,6 +67,7 @@ export type TeleActionData = { success: boolean; }; +// Action Types export type AutoAction = TeleAction | BunnyAction; export type BunnyAction = 'IntakeBunny' | 'ScoreBunnyTote' | 'ScoreBunnyLow'; export type TeleAction = @@ -25,5 +78,8 @@ export type TeleAction = | 'ScoreOtherHeldTote' | 'ScoreExternalTote' | 'ScoreBalloonLow'; -export type TeleInputState = TeleAction | 'Intake' | 'Score' | 'None'; + +// For state machine +export type ItemInputState = 'Intake' | 'Score' | 'None'; +export type TeleInputState = TeleAction | ItemInputState; export type AutoInputState = TeleInputState | BunnyAction; diff --git a/src/routes/scout/+page.svelte b/src/routes/scout/+page.svelte index 60df937..ba24b7c 100644 --- a/src/routes/scout/+page.svelte +++ b/src/routes/scout/+page.svelte @@ -1,6 +1,13 @@
{#if actionState != 'None'} (actionState = 'None')} /> + {:else if is_input_state} + team {team_key} +
+ + + +
{/if} - team {team_key} -
- - - -
From 3457625bd8d40bceea8df0678d2329cb21f2e134 Mon Sep 17 00:00:00 2001 From: Azalea Colburn Date: Mon, 11 Nov 2024 22:44:28 -0800 Subject: [PATCH 13/37] fix: id after clarifying with Brandon --- src/lib/types.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/types.ts b/src/lib/types.ts index 1f9e380..1a1740f 100644 --- a/src/lib/types.ts +++ b/src/lib/types.ts @@ -45,7 +45,7 @@ export type ActionsTM = { }; export type TeamMatch = { - team_action_id: number; // what is this? + id: number; scout_id: string; match_key: string; team_key: string; From 8601e254df5d58c3b4b0a456b52e622b98755cca Mon Sep 17 00:00:00 2001 From: awwpotato Date: Tue, 12 Nov 2024 08:08:25 -0800 Subject: [PATCH 14/37] update dep --- bun.lockb | Bin 141027 -> 142098 bytes package.json | 30 +++++++++++++++--------------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/bun.lockb b/bun.lockb index 186381bf4045f97ff800547eecad9861c7f663cc..a5d6c36f3b4cc03c2644dbf13bd17775aad5a50e 100755 GIT binary patch delta 20674 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 delta 20361 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 Sc}TOF=;jG8f8r&X4F3l?Dei9o diff --git a/package.json b/package.json index 14cd592..d954b5e 100644 --- a/package.json +++ b/package.json @@ -12,23 +12,23 @@ "lint": "prettier --check . && eslint ." }, "devDependencies": { - "@sveltejs/adapter-auto": "^3.0.0", - "@sveltejs/kit": "^2.0.0", + "@sveltejs/adapter-auto": "^3.3.1", + "@sveltejs/kit": "^2.8.0", "@sveltejs/vite-plugin-svelte": "^4.0.0", - "@types/eslint": "^9.6.0", + "@types/eslint": "^9.6.1", "autoprefixer": "^10.4.20", - "eslint": "^9.7.0", + "eslint": "^9.14.0", "eslint-config-prettier": "^9.1.0", - "eslint-plugin-svelte": "^2.36.0", - "globals": "^15.0.0", - "prettier": "^3.3.2", - "prettier-plugin-svelte": "^3.2.6", - "prettier-plugin-tailwindcss": "^0.6.5", - "svelte": "^5.0.0", - "svelte-check": "^4.0.0", - "tailwindcss": "^3.4.9", - "typescript": "^5.0.0", - "typescript-eslint": "^8.0.0", - "vite": "^5.0.3" + "eslint-plugin-svelte": "^2.46.0", + "globals": "^15.12.0", + "prettier": "^3.3.3", + "prettier-plugin-svelte": "^3.2.8", + "prettier-plugin-tailwindcss": "^0.6.8", + "svelte": "^5.1.15", + "svelte-check": "^4.0.7", + "tailwindcss": "^3.4.14", + "typescript": "^5.6.3", + "typescript-eslint": "^8.14.0", + "vite": "^5.4.11" } } From 01b033305309622e05427e267424c29ef9e95e1e Mon Sep 17 00:00:00 2001 From: awwpotato Date: Tue, 12 Nov 2024 16:08:44 +0000 Subject: [PATCH 15/37] style: format files --- bun.lockb | Bin 142098 -> 142098 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/bun.lockb b/bun.lockb index a5d6c36f3b4cc03c2644dbf13bd17775aad5a50e..bedc6aa06d6bec715aadf72ef89572cb66559141 100755 GIT binary patch delta 263 zcmbPqjbqX^j)pCare)H`dWH-PY77hvybKHt(q~jxuHcrNz`+=2q-QZbpp4O!(QtZO z8KWVKp^2Ws^xb8Q28<@t-;^;*nHd`C859(ymXu_s7Tt+62->8*vlpn(SPuvp7$yNt z6a$+0D)m-C_GfV;unfpdn{q};84Cu6;Oz;GUD1UJwKuOBCKSl=%W0UKeWXK2E33n;?{l$o#EprhTIngrHsre{2TUpb?= n9LS{%Wtkwu85lHJG6mc@e^r2$05uyoLAyz# delta 263 zcmbPqjbqX^j)pCare)FwdIk&(Y77hvybKHt(q~jxuHcrNz`+=2q-QWapp4O!(O`O8 z8KWVKIZ)m7-DQjhjKRR80nc!w<%|olrd#sC@xFQDM@8ucs=c5x>fHq37`T~J&>8x3(FZL zOo5I%4>W=sXoS~~lR2#K7l(k2FwwJQV7LX8;R4FcS8dSIZcR;s>7Bl>oKaj3?4z Date: Wed, 13 Nov 2024 17:27:41 -0800 Subject: [PATCH 16/37] refactor: action input state machine into component --- src/lib/types.ts | 9 +-- src/routes/scout/+page.svelte | 93 ++++++++-------------------- src/routes/scout/ActionInputs.svelte | 88 ++++++++++++++++++++++++++ 3 files changed, 119 insertions(+), 71 deletions(-) create mode 100644 src/routes/scout/ActionInputs.svelte diff --git a/src/lib/types.ts b/src/lib/types.ts index 1a1740f..b8e462e 100644 --- a/src/lib/types.ts +++ b/src/lib/types.ts @@ -49,7 +49,7 @@ export type TeamMatch = { scout_id: string; match_key: string; team_key: string; - skills: number; + skill: number; notes: string; broke: boolean; died: boolean; @@ -68,17 +68,18 @@ export type TeleActionData = { }; // Action Types -export type AutoAction = TeleAction | BunnyAction; -export type BunnyAction = 'IntakeBunny' | 'ScoreBunnyTote' | 'ScoreBunnyLow'; export type TeleAction = | 'IntakeTote' | 'IntakeBalloon' - | 'TakeBalloonFromCoral' + | 'IntakeCoral' | 'ScoreYourHeldTote' | 'ScoreOtherHeldTote' | 'ScoreExternalTote' | 'ScoreBalloonLow'; +export type BunnyAction = 'IntakeBunny' | 'ScoreBunnyTote' | 'ScoreBunnyLow'; +export type AutoAction = TeleAction | BunnyAction; + // For state machine export type ItemInputState = 'Intake' | 'Score' | 'None'; export type TeleInputState = TeleAction | ItemInputState; diff --git a/src/routes/scout/+page.svelte b/src/routes/scout/+page.svelte index 6cba97c..59f815b 100644 --- a/src/routes/scout/+page.svelte +++ b/src/routes/scout/+page.svelte @@ -1,82 +1,41 @@ -

- {#if actionState != 'None'} - (actionState = 'None')} /> - {:else if is_input_state} - team {team_key} -
- - - -
- {/if} - team {team_key} -
- - - +
+

Team {team_key}

+ {#if timelineExtended} + + {:else} + - -
- -
+ {/if} +
diff --git a/src/routes/scout/ActionInputs.svelte b/src/routes/scout/ActionInputs.svelte new file mode 100644 index 0000000..0c28349 --- /dev/null +++ b/src/routes/scout/ActionInputs.svelte @@ -0,0 +1,88 @@ + + +
+

Number of pieces currently held: {held_pieces}

+ {#if is_none_state} +
+ + +
+ {:else if is_intake_state} +
+ + + + +
+ {:else if is_score_state} +
+ + + + + + +
+ {:else} + (actionState = 'None')} /> + {/if} +
From 1dcc4a55bcaf97af06d874a5ecfcd62f59f50ac2 Mon Sep 17 00:00:00 2001 From: Azalea Colburn Date: Wed, 13 Nov 2024 17:53:43 -0800 Subject: [PATCH 17/37] feat: make cancel buttons go back one level --- src/lib/components/Timeline.svelte | 39 +++++++--------------------- src/routes/scout/+page.svelte | 21 ++++++++++----- src/routes/scout/ActionInputs.svelte | 23 +++++++++++----- 3 files changed, 42 insertions(+), 41 deletions(-) diff --git a/src/lib/components/Timeline.svelte b/src/lib/components/Timeline.svelte index a640534..ecaefee 100644 --- a/src/lib/components/Timeline.svelte +++ b/src/lib/components/Timeline.svelte @@ -1,35 +1,16 @@ -

Timeline

-
- - - {#each actions as _, i} - { - actions.splice(actions.indexOf(actions[i]), 1); - }} - /> - {/each} -
+ /> +{/each} diff --git a/src/routes/scout/+page.svelte b/src/routes/scout/+page.svelte index 59f815b..07694bb 100644 --- a/src/routes/scout/+page.svelte +++ b/src/routes/scout/+page.svelte @@ -27,15 +27,24 @@ }); -
-

Team {team_key}

+
+

Team {team_key}

{#if timelineExtended} - +
+ +
+ {:else} - +
+ +
+ (timelineExtended = true)}>Show Timeline {/if}
diff --git a/src/routes/scout/ActionInputs.svelte b/src/routes/scout/ActionInputs.svelte index 0c28349..5b8bba3 100644 --- a/src/routes/scout/ActionInputs.svelte +++ b/src/routes/scout/ActionInputs.svelte @@ -32,15 +32,15 @@ const is_score_state = $derived(actionState === 'Score'); -
-

Number of pieces currently held: {held_pieces}

+

Number of pieces currently held: {held_pieces}

+
{#if is_none_state} -
+
{:else if is_intake_state} -
+
@@ -53,9 +53,13 @@ +
{:else if is_score_state} -
+
@@ -81,8 +85,15 @@ onclick={() => (actionState = 'ScoreOtherHeldTote')} >Score Bunny in Tote Held by Other Robot +
{:else} - (actionState = 'None')} /> + (actionState = actionState.substring(0, 1) === 'S' ? 'Score' : 'Intake')} + /> {/if}
From c083a05f8ca30b78346dd63b666127bde5d4e9a1 Mon Sep 17 00:00:00 2001 From: Azalea Colburn Date: Wed, 13 Nov 2024 18:03:21 -0800 Subject: [PATCH 18/37] fix: actions display on timeline --- src/lib/components/Action.svelte | 18 ++++++++---------- src/lib/components/Timeline.svelte | 2 +- src/routes/scout/+page.svelte | 3 +-- 3 files changed, 10 insertions(+), 13 deletions(-) diff --git a/src/lib/components/Action.svelte b/src/lib/components/Action.svelte index 1e4f9ec..1a5a1be 100644 --- a/src/lib/components/Action.svelte +++ b/src/lib/components/Action.svelte @@ -1,15 +1,13 @@ @@ -23,5 +21,5 @@ class="{actionBackgroundColor} w-full p-1 rounded border-2 border-outline_gray text-text_white" onclick={deleteself} > - {action.type} + {action_data.action} diff --git a/src/lib/components/Timeline.svelte b/src/lib/components/Timeline.svelte index ecaefee..de4c097 100644 --- a/src/lib/components/Timeline.svelte +++ b/src/lib/components/Timeline.svelte @@ -8,7 +8,7 @@ {#each actions as _, i} { actions.splice(actions.indexOf(actions[i]), 1); }} diff --git a/src/routes/scout/+page.svelte b/src/routes/scout/+page.svelte index 07694bb..ddf130b 100644 --- a/src/routes/scout/+page.svelte +++ b/src/routes/scout/+page.svelte @@ -11,7 +11,6 @@ let actions: AutoActionData[] = $state([]); let timelineExtended = $state(false); - let latestActions: AutoActionData[] = $state([]); const match: TeamMatch = $state({ id: 0, @@ -31,7 +30,7 @@

Team {team_key}

{#if timelineExtended}
- +
- - - - - - + {#if held_bunnies > 0} + + + {#if held_totes > 0} + + {/if} + + {/if} + {#if held_balloons > 0} + + + {#if held_totes > 0} + + {/if} + + {/if} Date: Wed, 13 Nov 2024 19:14:26 -0800 Subject: [PATCH 20/37] feat: ejectables! --- src/lib/types.ts | 7 ++-- src/routes/scout/ActionInputs.svelte | 52 +++++++++++++++++++++++++--- 2 files changed, 52 insertions(+), 7 deletions(-) diff --git a/src/lib/types.ts b/src/lib/types.ts index 14bef75..74be898 100644 --- a/src/lib/types.ts +++ b/src/lib/types.ts @@ -76,7 +76,10 @@ export type TeleAction = | 'ScoreBalloonInternalTote' // Held by scorer | 'ScoreBalloonExternalTote' // Held by alliance member | 'ScoreBalloonUncontrolledTote' - | 'ScoreBalloonLow'; + | 'ScoreBalloonLow' + | 'EjectBalloon' + | 'EjectBunny' // Could happen in Tele; we could instead move this to BunnyAction and reset held_bunnies to 0 after Auto + | 'EjectTote'; export type BunnyAction = | 'IntakeBunny' @@ -87,6 +90,6 @@ export type BunnyAction = export type AutoAction = TeleAction | BunnyAction; // For state machine -export type ItemInputState = 'Intake' | 'Score' | 'None'; +export type ItemInputState = 'Intake' | 'Score' | 'Eject' | 'None'; export type TeleInputState = TeleAction | ItemInputState; export type AutoInputState = TeleInputState | BunnyAction; diff --git a/src/routes/scout/ActionInputs.svelte b/src/routes/scout/ActionInputs.svelte index 8bf785b..eadb514 100644 --- a/src/routes/scout/ActionInputs.svelte +++ b/src/routes/scout/ActionInputs.svelte @@ -9,15 +9,19 @@ let held_bunnies: number = $state(0); let held_balloons: number = $state(0); let held_totes: number = $state(0); - let held_pieces: number = $derived(held_balloons + held_bunnies); + let held_scorables: number = $derived(held_balloons + held_bunnies); + let held_ejectables: number = $derived(held_scorables + held_totes); function intake_piece() { actionState = actionState === 'None' ? 'Intake' : actionState; } function score_piece() { - if (held_pieces < 1) return; actionState = actionState === 'None' ? 'Score' : actionState; } + function eject_piece() { + actionState = actionState === 'None' ? 'Eject' : actionState; + } + function score_bunny(where: 'Low' | 'ExternalTote' | 'InternalTote' | 'UncontrolledTote') { actionState = `ScoreBunny${where}`; } @@ -31,6 +35,9 @@ else if (actionState.includes('IntakeTote')) held_totes++; else if (actionState.includes('ScoreBalloon')) held_balloons--; else if (actionState.includes('ScoreBunny')) held_bunnies--; + else if (actionState.includes('EjectBalloon')) held_balloons--; + else if (actionState.includes('EjectBunny')) held_bunnies--; + else if (actionState.includes('EjectTote')) held_totes--; const action: AutoActionData = { action: actionState as AutoAction, @@ -43,14 +50,20 @@ const is_none_state = $derived(actionState === 'None'); const is_intake_state = $derived(actionState === 'Intake'); const is_score_state = $derived(actionState === 'Score'); + const is_eject_state = $derived(actionState === 'Eject'); -

Number of pieces currently held: {held_pieces}

+

Number of pieces currently held: {held_scorables}

{#if is_none_state}
- + {#if held_scorables > 0} + + {/if} + {#if held_ejectables > 0} + + {/if}
{:else if is_intake_state}
@@ -122,10 +135,39 @@ onclick={() => (actionState = 'None')}>Cancel
+ {:else if is_eject_state} +
+ {#if held_bunnies > 0} + + {/if} + {#if held_balloons > 0} + + {/if} + {#if held_totes > 0} + + {/if} + +
{:else} (actionState = actionState.substring(0, 1) === 'S' ? 'Score' : 'Intake')} + cancel={() => + (actionState = + actionState.substring(0, 1) === 'S' + ? 'Score' + : actionState.substring(0, 1) === 'E' + ? 'Eject' + : 'Intake')} /> {/if}
From b91cc3c962fbe20cf4dad0a4b5b010186c19a2fc Mon Sep 17 00:00:00 2001 From: awwpotato Date: Wed, 13 Nov 2024 19:40:56 -0800 Subject: [PATCH 21/37] fix: name in pkg.json + update dep --- bun.lockb | Bin 142098 -> 143503 bytes package.json | 6 +++--- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/bun.lockb b/bun.lockb index bedc6aa06d6bec715aadf72ef89572cb66559141..eddf3cd098c2dd8785cd41bef4ac13268eb41487 100755 GIT binary patch delta 5787 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 L?>5w;=CtbHwSdNj delta 5524 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 Date: Thu, 14 Nov 2024 03:41:18 +0000 Subject: [PATCH 22/37] style: format files --- bun.lockb | Bin 143503 -> 143503 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/bun.lockb b/bun.lockb index eddf3cd098c2dd8785cd41bef4ac13268eb41487..776ad14f57fa27a8301a4d223a6a9a144e60317e 100755 GIT binary patch delta 27 jcmeBw$kG3hqhSkUX9c6-_O1#>IYvga?JFx8pKSvGo3jev delta 27 jcmeBw$kG3hqhSkUX9c6d_O1#>IYvg)?JFx8pKSvGo1F^X From be983f5e703b5a1777d1f340a188ed7439b468d4 Mon Sep 17 00:00:00 2001 From: awwpotato Date: Thu, 14 Nov 2024 10:59:09 -0800 Subject: [PATCH 23/37] feat: update colorsceme --- src/lib/components/Action.svelte | 6 ++-- src/lib/components/SuccessFail.svelte | 8 ++--- src/routes/+layout.svelte | 2 +- src/routes/+page.svelte | 7 +++-- src/routes/scout/+page.svelte | 6 ++-- src/routes/scout/ActionInputs.svelte | 42 +++++++++++++-------------- tailwind.config.js | 19 ++++++------ 7 files changed, 47 insertions(+), 43 deletions(-) diff --git a/src/lib/components/Action.svelte b/src/lib/components/Action.svelte index 1a5a1be..781559d 100644 --- a/src/lib/components/Action.svelte +++ b/src/lib/components/Action.svelte @@ -7,7 +7,9 @@ }: { action_data: AutoActionData; deleteself: () => void } = $props(); //let actionBorderColor = $derived(action.success ? 'border-cresc_green' : 'border-fail_red'); - let actionBackgroundColor = $derived(action_data.success ? 'bg-cresc_green' : 'bg-fail_red'); + let actionBackgroundColor = $derived( + action_data.success ? 'bg-jungle_green' : 'bg-flaming_red' + ); @@ -18,7 +20,7 @@
diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 4b474b2..493a0b6 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -7,6 +7,6 @@ diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index aefc4d7..8010bab 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -1,6 +1,9 @@ -
+

hiiii :3

- + scout
diff --git a/src/routes/scout/+page.svelte b/src/routes/scout/+page.svelte index ddf130b..6cd0d8a 100644 --- a/src/routes/scout/+page.svelte +++ b/src/routes/scout/+page.svelte @@ -26,14 +26,14 @@ }); -
+

Team {team_key}

{#if timelineExtended}
{:else} @@ -42,7 +42,7 @@
{/if} diff --git a/src/routes/scout/ActionInputs.svelte b/src/routes/scout/ActionInputs.svelte index eadb514..17ffa1d 100644 --- a/src/routes/scout/ActionInputs.svelte +++ b/src/routes/scout/ActionInputs.svelte @@ -57,104 +57,104 @@
{#if is_none_state}
- + {#if held_scorables > 0} - + {/if} {#if held_ejectables > 0} - + {/if}
{:else if is_intake_state}
- - -
{:else if is_score_state}
{#if held_bunnies > 0} - {#if held_totes > 0} {/if} - {/if} {#if held_balloons > 0} - {#if held_totes > 0} {/if} {/if}
{:else if is_eject_state}
{#if held_bunnies > 0} - {/if} {#if held_balloons > 0} {/if} {#if held_totes > 0} - {/if}
diff --git a/tailwind.config.js b/tailwind.config.js index 3e2b173..a8e0cce 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -4,16 +4,15 @@ export default { theme: { extend: { colors: { - navbar_black: '#1c1c1c', - outline_gray: '#c2c2c2', - cresc_green: '#00d586', - bg_gray: '#2c2c2c', - slack_purple: '#4A154B', - robot_blue: '#0083E6', - robot_red: '#ED1C24', - fail_red: '#EE3C42', - btn_grey: '#5C5C5C', - text_white: '#ffffff' + white: '#ffffff', + eerie_black: '#1C1C1C', + yolk_yellow: '#FFC145', + flaming_red: '#ED2C2C', + steel_blue: '#358188', + gunmetal: '#20282C', + chicken_orange: '#F7901E', + eminence: '#6C3082', + jungle_green: '#49A078' } } }, From 4bb7455bc47e411a8123e887baa4025279330634 Mon Sep 17 00:00:00 2001 From: awwpotato Date: Thu, 14 Nov 2024 11:21:04 -0800 Subject: [PATCH 24/37] feat: timeline popup above contents --- bun.lockb | Bin 143503 -> 143915 bytes package.json | 3 +++ src/lib/components/Timeline.svelte | 30 +++++++++++++++++++-------- src/routes/scout/+page.svelte | 28 ++++++++++--------------- src/routes/scout/ActionInputs.svelte | 2 +- 5 files changed, 36 insertions(+), 27 deletions(-) diff --git a/bun.lockb b/bun.lockb index 776ad14f57fa27a8301a4d223a6a9a144e60317e..c2b4f88a245b422e8269239312c2be404a42f15a 100755 GIT binary patch delta 26566 zcmeHwcU)D+y7rnS8(AuXVgUigMgRq+NDy7rDeuglwHfDL zb=df$!@L0Bx%#Ur5 z8=cHlqCK1?DeoSfu8`SdtZ6w`NpeT*s^CtL)gad(fji_gNQ!?KlKc-sIzn2rv*I(6 zhc!Fh-;p+H5CvHa(pQ(Y zb;)#DR#OYVsLKy@S)|LAkcgT$vnJY~9OHBkt1kON;$L1nUAEArr!K4N@<((-4a7Tx zcBV07%}%pr2J%H2EpG6 zye}mAS3>^~Pllv~aga2qIw70}Uqi^IkhX09({umui8Y}{*3M8e)=j2!ur4iQg zW1x`K9;H*fTZl&$wPugbv883Bk4KHRW{sDkytQ=J?941HDsmC=(DJ!?dk{bxo`Hut zyF&#b8Jp?R^3?X@pz!`0XI6oIprtjK928l50WyD3DjDMIyxRr+!Ps6yc&>H(LO=iEO~%ANb|iJ zBvs59oIeC>)3axYBy~cXJR{<11dyT8`{p0|Jj<4z6`v$Y>Ig%VE(q1e#Pm?^XY$V7 zkK{B&lH#*-Mj<%MIy&2ygsuo4} zls@0A#k&qke0WxTf;C%`21jfDYappY_aG@e-I|qb4MJBMv#X?yW-x820GWlZkY12G zVJ4_Y7C;gYZ?9SAbEsHV@YgzM9dHwp3V`vnW+zBe3b+fnJtP&V4ilsq08TB~4YE4Q z&uc>t$SiC2$h0w5DXWuKkrYVMd>|x+V-k!Un;}V?I%`9!x*ncM{e{n?m$ji3py$^Z zk}Bv1N%@TKs-<(%IaMr|YL<{Pa)d20J}ax6R?u-sGLTu;_{2n8R%U$0`1JUkgp};j z30d*kR;hA#t)NU>7K~1|lsz-UO$Negjwg%9dfvjL*)V2!GLX3^i8xLWgGDS@Gd*6`$O#12x@y4AN3A2d7>(dfVvb zX?ncTMmXAsRDBhas(5X%HlHp*QWeialK(DU1`O5WV<^R^#V1-Dfku)0nqBQGh%nm6cUTX>$NN?l^s7-V_LG!1!&$5n_yc4xSk!{OTEoaWiocJ_b zc20U$x-A{1`8z#)AJWlS*Z@g-CR)eDr;WDqxm6Ulj4!G3QbVJpYcTjU%#1DAbr^c; zoXh-bm9X6Zf4c>>-nswn-GZ?}iyrlQ*UJT^bzbeW|IQaxV!r)p(beSEvlqGUn=}66 zqubl-F4}Eb;}CZI_lGsCBc6twSu!-)W73VWE4Q93z5ng6vsQg>9wP7m{AbzWTi&vk zPx!^(=O(_N|KlA)N=XNgm(3e>dHkJSUws|DfAX-d2~`_S?|*4o?c&mUZ|)y)_34={ zJ|T{a`Bzmp?3h-~M_zNdx{2R(@!`X2`Rtfi>nmAtWRiplmS@L{e8c28#!Fu{E8f`m z!Vu;$e#bjZPLz3SoLPQP=A|)aU9a1G*Rbt6r);EGdS*Wl`}x>{orX`u_@>ZkhMgln+sdKpv8rnZQuo7w&*aX*5H9=L_bj>dju2}Mu_c`-Y z53{V);C`NF*;0e2LM*Jo3n4zQ!Am{OrVE%bh3$@`sVp{6?3%4wSo0*ePhCJ<44R%U$2V)k&)h7C_BqD|c-zcin@l zqZ%&)3!~E2lLROg)%r!z$H4KoR_aK70$ zQaJ|~&7Dd#TNLLeS{g}ZJ;6v(2X$WMgJBCo^9qGrZo&(jL4~Hgw3%7y(Ns%^To5+1 zDNk)~R?fqdvX=QMpD?+yH!p2&mOFcMKYz4`x7NN@XwoT1z_4_ZiD(jLa>8c4HBDJ1 z0WO;Rs6dl2WfS?Uu_(=TFf6Z{Sy4iLG=qQ~phgNm1im5gHT`(%$ zPSw=hOv@8BL+LZXs7VoJS2eowK6M<0}u;glA82l05626 zXN%_sywVp;GrBY?iomFQ&=64Fv8C3ns(n>DfRVDALa%{o>8Oi7*O}H3wE{KOp)6D% z3Pzo&jk_gaVPMs%8{|&{d1|;>b_n8y;btWXhQ6Ct0-AaoSXVGKXF!OCbtdbHBD`8feIL1!j)7XKJYt*N*noH|OawbBnvp9L@@Gr@+a_R=$|ysFU67R3wOo0aYGq_#s@ z?J;4&C?kajMu#b0Xfkc8(P&5l(?&xe`oGZ3OFNjApLI_f;^7X_Mn8}i$zW7( zMjER1R-S@UUI@dK4##k$I-sjCYtq1|uS~S z^!swZbl8L5W~`+M(V&+V*u^~!@oQyG6!5}NUQ z3`Xsyu?S2+%0*oXl-I$i1hN3(4tfv@!0@7ZOI@LwGNm<`Hg-toJTNLi3%dY@e|l9K zSe}b%iY3O=n@7sKExfd+S$6Nv{d$>|wC;u>!aA(127`s9{KCUbcficN3~3^J&_bn* z>S4@MvP@gSsLs$8w&6|>UfLV`pPt;Wk6GD`&Uyu5nw_cwYXRk4zGYw- zY!tI~nDPV+6DY3=zXKMIrX*!6t0OHFtTiudjd9bP`}H#`3M><~3|2OD(lMQBL-q+6 z#v=;BL|2BwzR?KNntm4;RX|&k?}BN$keT+!mqcw+5VPqFQyXj@80D!A{JUTs`Q|2( zN*FYy{1mmnM(fO;2O`Z5Fv?wPqzA9?Qf!QUv8n{X6FQ?4V|9js3pEykX%!#UElj@E zpO+3W%MD|A;UKfp2Rdl!$nfUIa6fzt*a}Z-ByAwwC}+q_ZV=1;2Ah@eIAbUj)eTcJ z!KiQ07*S#D7B3kbEjJm+{f3y?AKW%1T8o?)z*mkfR5Gkln2IhzXY=~ zGhSPUO+2ty7(2`h5~3A(c)1Bf&hcPDYO+!0FolEZebg*WIRlo8Fm)TIBqV5cfFT$} zjpb{NR$3-%b4Jr935-UJw%uC|M&>{pX{BJA2BXlmjjZKH1qLU^$_tas3WujQX))!L zZ@@5hs53Emn!!AUf?;G(rNKhff@tb51f!XPN;D5MeFD~vZ*CST*GuN9DQ3BEGA~Rq zo8~5~me@N|`57)!OEnd8TnbOMnb~??V2f7nrf3scTijaNG=0EOg;8Lnfx1Ov1-u|N zTKQi0gMDffrqn~OTD1bb!&nNpjfiH8dBKQi(0dW2ZYJO?%5- z_GwyRq^TcV7Ve+f#tx3IYRVhsu9oSB-}rLZ(Q;SS3?uZFa@UG-*LAo$tNHnlG+a5V zs|q-WCAem=oDPy0DVZ>151eD zLsI4ka_Y7twwxaLJTGZvtN>^LybI9hg_4)$)WwP@N%{1^Cm*2Hs{l&92A~f~@?WdV zb-H{Hl0GCUd_5p@>*xmYa7cypz=tG-ZX|*aNz!-=5qwBe_*Q^QEz?a<$Zv{_W|@FNqoO94?xm~q#baC2tLnCihoq~eWBFG8bzQ2 zkLwYimz2Q=x<5$;IIDA#6n;+UBq^WsIwwitpX&S{CCaCEyr4&TUQ$M10%RGU02EKn z?O#YLkl{h`?I4Mp@SqV`mB{l_ZGYW^3Z(N$`j8}Nbv(%5S?4v#6CaY~@1pzH(*2*8 z)KZ>$czr#bBvq`T&U48@88wC^zb1OXizEd##lr#8AChstt?C~xcW zNRo3J9+Z9tWM#ABKW*WQoAkJ!%0#BD|Jqic)re`m*l@% z_g~FWK4r849#nyiy4<2icwSO?5&S7=yBF zpP`UEt^1R#0sf87Ns?yY>YOCycMFmf{1uXd=;tpaf5U?YM(zV*_&hHuqeptg$BoNe6KF>=kCHhuwuU5Xg5&oaq0Bbesp;zo*O1=Dly5pun^rDR~l|lZ0 zvjHYge3CWsFJ zFl~hY+5rEx0sdH$wYf{5BLhyi%Fg+uM#|%a>;@hk{OiJ!U_!>aR=^|8!}x7!daJ4?LL^%%K^#JhbLBiEGp>hEHh z3txiVYf1bONNv7qS}d!>AL3b;_n98cTzLVWZk)}CW%YO*p6WsUhLJe%;7csAt?=fpB^J|54P_<1~ixbNIp=F6wx z>Bj@-#j<96I-bq>RXqK9#Qazmz~|%Hf|uaglDB&&mId-9cn0x1cn0&XJeGyH~_5V0(p+wg45kKoyk zyDg4o?fED?JMfcucH|A0#Il$9_$9G?K)xgYW{HJ$=Dtf~xx*?)K6|N!b>$bq_JBn# zvoH&vzAToftajvOU_E%m@>uS=#*wdBZehK63D^m+9xE)Y4_~q(mXBNO$e)1q<6T$A za-VgMeDg{R>(3v8eFZl7T?>ol1@Ff4Y4165$9xNm<8k@1Jbb+)KL9p}E30DpO|bM; z7B-mg1zWtqk$bMTu%X!IHk=(pa&M)D;apdZ+i z4Hh6YS8yao1u($a|Fo$AjRAgb(`Sc>_2UZ3)lSgcaetV$Nb_<)$OTb+BqQ`bv*j&D3 z2lNAb0ydv_-3k5PhkiRPjPr+JKKr2GE(=@83wA+2Fvr~%CV1R#=(ivGfi2-mG4wkC z{faI4Y3*LHn_!-MENlh0?SXy=p&!`0+-)!PI|TjqTG%Rn66^t(|N9oUhL3+A`W=RT zVC%T=KInG@`t7sejow8thojJMzXk8>rtgP-U}az%dBg$ecMSR+u&~X%1kCj~^gC!_ zTltcM&=2ehSP}1f2>N{h{SH~!4*n3#=R@ds*ur-4g2T`c%<+f??|kEqK);WmAJ|^5 z9EE--px;po+sF5U-30SIW?=`o?HKes3H`thakt~p?-cYqZed6GNw5cC{vTM_F+TnS z==U-71N(scehB?eL%$C#>?3{=%;605`^dsh^64KzKd>^ek9oui=yw+Sov^Soyadek z9P~SBVdwaglh6v9PcCUa*^Bo@XuW8*V!b{XU0&VBd1LbI|Vs^gCx^SNTb>2Vnl6 zSlADI{3p=w3+M-Sjr*R5eqTbr^A>i4Uj%db3i^F&VI_R}r_c|q4D2T!@fq~H2>m{@ zurgi(=6VVGeQset^Ch1{Kd>iYcX-ze(C=&LcfrE$@`qqPm!aPm7Iu#pd;$Hy9KW=% z-+A1Z(C-`Q2lkLFUqQbs(C;e?d(8KO-30TzXkkyd?IQI17W#ob<8GIr-*?dOl0{~W zpSl#oAAtIQZILT6KH=*azTqk~1T``4cR7X+_#P@=w#bzkzXa;=19bexA}fr~_$G$$ z0WAZq%6RK5F+Al*XnDmVJL0F#psv@T=C>9sYJILkO|V^8EvyD--$Tvoj@Zvd6Ka;A#G4i@ZV@F=6Kq9^1Y z=*HV@(}ugr9Y%)a4%TOBk1>tmO<6EI1a|ia2_4v{EeTOUk!`su)21R#$SVa<4nCOdDkUx z@rxaEFr9~=Q!)J3Gu3myJ#%n-8>jp@RaW!FUtp?#fO!&rRVm_QCMG%|Y<^t>}?Mc~rTIqtGfy{*zDfoNCNoHa%;B{HWk>)iNrQliytOEB0_^-DT6dD9RI_ zu}mCyVO`|b9Yyt8Y=+6TlU{l*6CQQgVL7rV=_HX^m8=&FebjY8z^FCd-@?N6! z!NooeS-qF}uxWu+rs;o|+}0+#C$YA4s{8br_JLD!SGV@s>j8sP-3cSf10UnChYon4 zn);!GAN-T(HNzOqOKPC|(JO=!3dF|?lG4$eo4NFCB3Rgq&J}Cq&F}r zy4xF);?X;e+i+9HK6)62jx-By`uOU8^s1t(?&qib(T_>m>3+=^-s+H>UY0C|gEDEZ zN2C`dl!y`-uVLxs3jLWjedv`eRmK@ur~A=sSaM?2OYiA^fx2H!_^sFdf*>ia3;q0& z-sDlnA$mkQ-7kQf643ix{G&fkmI`&hP~9)nMj`l`;0~`TofL?u70qE7)AHWlUzSKPfsDexu6Kt$e?pV-qz-z!nU=lzh zCl8ncybeqS-T>YN-U8kRrUBD|8Nf_n7BCx_1Iz{H0rP?HP~KJG2jCiT9k>D91WKrr zs7>hQfh*t!)B`*KPoO^F1<)JK-9Rxwuci9~F+dzJ5TKDY7#IQ!1>%7OAQ7+vNdQfb zWaLHD+y?jqElAataGXRSy}NrEpm%!hf$i|G1ZfAD0D6tm3-}y31$+#g0geO5fCIoG z;4nZx1lbGF&qQ_tyMV30HeeI*9*s4L=`% zUd4_9#scGjnE=g^*}xoNE-(+64CDb*0UE+IWP<@3X%m5fY&<#voq?`EH=qa57NE)0 z8-?`&`U3qVQP0Nw8sb-y(okR+5DyFo5`aX&3M7g25v+4=cR20QaOWUD0nP$P0QwaS z{W7K)*bS@)HUMjY6~Ics51`)%ECK|u1Xv0z1L#HlI{*jh*AQ<3)d45qHQ+qb?x#^) z0LNNj0zC79RlvKz3Sa>c4%7skfpv&SZ{*hiYl#Ez0W_~802g2fuoKt}&`Wr-a%8~h zM=vLUqrffjGT=6Q6%z=K*8wsLX+Sza=9COl8-R=u85;uGicLUcU<*(HkX;~d_>ao~ z!KdYTvI~uJUj`*5sAuW-BHln3gg1pGQ|>7Mgl{Ub#(#AQj*~!f12dP$sGVt_tK=tdMk-l zIn2vMMb;7N87wjv`v}zvkToEyKr^*D&NG+5_!?wm>vs2BLsAKqP=)&Z_TJ z!y&_fP@okM0t5p=Kp@Z(XaUd|#aPXiI>WIPpaDxWoMtvPEBVn+-vmGtbT%*xAp18B zcpG>NAYI-B@_-3I4v+Kw0jg#mfHuih8)6{{={z5p z3y`jJfO!B1-T@W>NT7x-hRg?+0eJvrNDWQly8z0|Xk2R49RTS~dBZZO7KqAtpQ=g? zx(A>}rJlmPRU5w;k{W(DK$=kFZwEF4tAKofdh}g@OxALMMhJ}p>NKOWE8t!YP)n}? zsI}Jug}?@Cs`UWX<~?8?Kmi3hwm@zIHUmY#R$v>D2T%c|Eot|n*4qhx>cR{lA27Od zFWffZ43K*o56b8mKuvT6I1C&F4gp7j{s0wDntu$O0*(V80v`Y$0VjZy0Odg$=j)R4 zKdZYBKpN$Bfg5uvR}DN5(peAO2T9uW0jLt^0E$eBDGpVZ{A)1HaFf-iLj8ctz%Rg0 z04Y=olmJxO=D-bry7xM84fvY+{}LP*fiHm1fD6Fqz*oSRfWC!(MqyOQkHGf;6-NA9 z;0o{!@Evd!_yM>HP&l;`Rq$uvHb5k-TRu3T`0C$03fjhu` z;CJ9R;GWK(L6QkS0`UZR3_Jp8F#iEi_)|be90pVY>;MNKcMk$8!%+#C1UChcAHg1O z6W|C?B1)j>vKnMnpa$aAg{%Wm6W4;Iwek?$&VUJU0Gt3vpc+sWr~)Xo%c~5BJzxh^ z0%{{MHMuJ!Ee+AR&u9rFP`)(7D9vdo6rcnRCiOF!*EkN8g_mR)5jMPe1Mk#Qj&%MB_w}ZyZwP?6h=@JRV)IuL!mKC zJ1*Mulb#`vv?rk5SY7Y{N(0mZ)a6hqZ#q#UgSqD#jTDRo)JW6kZixpu&1UK3`aOa4OI!jK;4qMyWCsPVsv|HZ#H+!$BESAZ6GWNCo-<<^6U(oq5>V z;3H0tWv^7Hz8p3l6rXB`ii5_nM=X@4tShXyah-$AhJ*yP3}}h9RlhpSxZuH=4QUk+ zNFj5Wn6-|%%4?YDy@t86gQ92`a}!^!WA)^ZnOF%w`D-SszXy4ZiPO87t7!Wk3z6?K z;k6c?&zP7;fljjcWH+l@DbQUO85B^FKDarDVj}S zwpydn=IEBZ`7H*{_TCj0QHu?)EH+GFUUFV#acTk!l4n&GPbaV>)Xw@E3l23d4BJ<$ zPR+q{m%MJrLIQ$90zxpR(TyI+YS*({zgDSts%b??cL#CyHRc*>TtfCm(7tE0e~o1o zF^p@<>~lU%Ognp5t_WG@AUq~QXX9eC@Lyi*Ro(gR^A$0Ea1gx_BhGlS7uD zdR7s`xGe2@yQU8JI&?f<5z7xHoQioj(+(2DR>2#4v7_!gCE8SbZ|5-`Gz={}2E@B?#ZronyShr)z$}M9)s)%9SZ@00NZE#lfOUo-l zHn@l@l-9W8=KLyW&*MHNy((fDcSoH#eYUh-?;!y)3&$iS+p@EsXr708dZwPZwFt7A zyBG%UVcb5IQUC6t3tu&fs7PUR7ehE=PH`7o@|a(hb(qw!p|~+@(Oh^xa2J122FAr= zR~ow2tP)jS#sF#=5Eza!n|g?rQ&3&w3NP#AlCfEFSJxv(ux9YuVfJG2%By3F^X%z4 z^`y)q^y*qX#AHfq+?O`+?S>N~cHRF#%RMw8R5ETm>`CF2X4hd7P2 zx^**!V#DsS=ye=2Z}AYrX2WJCz0T@+7+1*6S+%|YlS$|LBfV~*&v=OCuS3I&9wOjv zL_hmF>nY#z5cQ|R^Rb5rpNjcY)lys~K1L)pjo0H(_qZVl}4PQK_Dy%^QfB<0)d^KtcCC#SD^CeQ}Wd zmHOf<;x6??wKtK|eNU|ocbv?9r+xCKrfN>=1V+rZh!OhdF)Def+qJy7L$^)KuaxlI|zCU`2Ih1=cVo(pAoISC6UHQT|8IxaC2$u+oqi;fI6P8S}=P`Xg?iugA^CRRD zsx5TRjfL}Dbhh6_40#JRU(`g51NSg)15Ed=KfG|k@Ln*vJdJDr7B6Uf z{PR5nT#;w1fZ%{2x*3rA#IH%$m(-Jkyfu)pq-mpY;gIs18Ur#7}gehGaHBku(ieF)jccKB`Gn+p13C zh#92SHm{l3i5Q{ArG{=N<}2U4xoxAGS0D{U<8r`@)4ZRW2TfBD(vnt9RJpnEn2t`w zQ0+Y(rS%CAsngj``JEQRYXy0&AZ9?-*<|kW%i&JN^0Zd*NEW8A=FvjLT&dTtB zR$)|aV{EPs7T@Kw+6~}kTxQw-;?-s~8(1c&I--T>E=F~>88bznB(OjpVhd)WtWOCK z;|9N4GcSGL|MUmzkOTEaFupr!bMBu^mOz-8IT+%`?ShAzFS``k-?f|CK0yKD_=*G* zPV>)ac%|X+Rg`pXXw^UOrst%6@p(1}COOm6)g~NOd zeB)ZhnTZRE_Fp>rt;{G(6ed-V5SjDQEdwLOjQMQopA1D;IjOan^UlATqnF=7t^W1g zTp20+IEK5i)ReRly%&KyM2Su05B;ivv^ahc&&o^t0 z|5N($Wdm;X`4}OzMq{{Q`+AnXm>73Xx)O&G4q5 zG+BX=RspKnOX(n*FU7EUt%K;a6vN_X2Qh&pwB524t0DaVApYoO(Q+B$RqrIaEo0q7 zjoUZZq>dRq{^=l3HDC%qAmCvdsYx&jFf_y9>S0{q`KI%$X=!h;fI~FUKckF8}iM zXOswEdeCx(y~Sn9*0>pT!}zBogY(_n*{Oz~+O|U<;hc{cNqw}1=fR`bQjQK-fMu;0 zd~gPoht+c%zB2co368Udyu`R;M^`%Kn`AZyKDFUv+#}lmvs+CjjC77e`Pj!($L&T8 zoS@_dR=M+&U#D7jGFuIwTJXWfWfPTa+)erPOJ5OyN`@LYl=f_KbhX>5W3>7zG6=nKk^Ks%#{jhj;AJ`C+!+U?;jq}6&rKb`1K-(X<^I?5ONi&|@N zeDJ?^dLr7;0St!yfORa0O%mU{$K2fWW3^`gqmJBv!|>x7wHO@_(PyWqv7WiH&qOl_ zj|Yf{9dh2OM!6I2`j4Gj5zl>q7`C3dwrV**yZ1Nn=fKm=k8FRvB1Tt)&`FBjrL=J$ z{`hWMMM$F9jLhA~BLa<=&&IxMi8-2cw<5wEag{2uMLec>=Mm2f@qX?Vo6>vg&o~@3 zDtkw?*nk5e$2ie#0~=T6c%1su8Q<~LZ-?avMWe;D4J?>V6Tt;6*xk5;w%5aByY|}+ zUy8n=d5P`HaxtX<*}=vwFF;#u73T_AGj>cohHsTC1J(EZxT;y(0O|{+=v|1Nd5=Nj ztwQF9xJ8AmKUqtMjcjQz<0m*H7oT&QJgvJxQ8@j<0wNg~*#^IpFyY9G{7Eu9GFY1% z##OhS4-XNq)ozxhrU@o{c}?8ei0WbFRKwW^nPBftu!8@X6}>m3Y32w?lk2C*`1q4S zJ!uDzlaGLqK&jzSF^BTN?}0WT592(={qHO6%oZaL`igQ;(Ais{aWnXdl8{ZKw_U-& zHu}OPUVZDI*LD7`udke+S|+on!_dFt%r+d)MZ}BcyRikDw;5wmKi?C_HZy-ydn9ue ztG2Ux!f6XD3w_Z6n|6|thod)~l;%y|GdlZ3_=TWaqz#U8T1wiHo9qAH95PNI#qMpa zrW`t4oZ5y)3ri4Bw=vh}RIr1cS|%cjSTfrnRu!>eUDrC|RuKzj`^3B1t>~@T+ z3*yjDbSDhJ%Iz=!-ihMyb{166xKeoH{38P^ANIo9{Ar?QX~pd#w37D@Ru8$i+ku?^ zAIlPtcH&IHIEyt-S&d^@y?f+9?Eu#}t1UmnHI8Zj&SHt~yOF8h(H_P%$MYNCi|&`X z5~~A!wSfJUwCr7Fmv~XSTQh(yi?O_-9VQoJ)-4i6#jL;k*EqAKukKyeWo-GXfjxbD zp)b*B;LD=n9<-ZQ-P$HtY%R+=l|m%7%607EcU?HW4+C}$+0ZKG@gT42&O@7~sIy63 zB6Kx8<{$=HA>)o=#DEE>g+MzLMhW3K6@LE6nYvjo2`;syIMc>~?r*1gs3Ti2}t0}f2M(B%9JGB_be;v`X{nDYu_D(o$Hqwr(DV|c= z7oB!$X^sDn!l8z_*&epwbVb^tnxgxD)a(P)jI5OFqep>#PlZ}5VqB~#@(?5RMW>xw z?#BO$;aAfqn9clQRYls`F5)buebH&Bme%;6Hcs5nYcO$be_oNckBjg)fSM)Y02i-E z^7@)TY3AWsV|_)8i7uiyVuZfvv{TF7`2RlAhOK_~#r(b4Vi|3A&_%2~z=Em_IE0ah zkLzJ^=>TglybiLKxr3uLBlkvltJ7>;^`|-UwzRSM4=p+m`qcY&v!a&{;7bfm3-L6# zecColO?vB0-<`WXIGJYpdCe<-A8uSmzx#vCs>^!R&YEk{;(y)$wY9Muz1)_9lTn>g zw}16#wL;vlyax|wczh5sv|sd?)?aoxtkseS7MC7m?yPQG?G2EB=IERj_-Sdvh>@dn zvTcc?-BsoxMmCTud;NWowT1ulF|8uMlrCO%vDUP-7CH2P9r&lmXJ*qlvw1VpJ0Kd)6u7%}adm?|$#Se`S6?XYFV2waeOj?K0;K$2Hd+ zW?pre<<~H1^Ulpj_m>+lpBLQil?cT%Mbq#iuc zYEARCW$4mf(EpVXVM76w;En+$J{FQPra@MO?1OZ)B_{;3KBO(fcVKdAf88UD1L^r9 z9=)Dp8<>)s4)5_&`2br=qA#519XJl98&sL*o1B^upJ`3Y_D!}8v1RHE7;sXkii~8z zI&dm@KyrL$rZrJF*qSw*Eb0kIA-yutqlQ{DhGp84Gcd+Ohgs9Jblp9beAbM#bSoP2 z2;)mba0>BcV0=PqI(3aEv#&vcENkecD4YhTF;BGiA2tw*Lo#r|=P=@_;t!H+2}$6# z4C@G*Cb4j3YDgovI@}>AEj}~J7p+Z5iccPl^oNM29!!eQ@P#o0uYprJ`RGRIXXlh{ zptLxC&~T{hbTh$eT8)CFh73!$`3^!O(uSpEC8Q==x1b^9D@)ae=0ehJ$%Lc^eDAGD zExo_09}7u68VyN3T+fGkCR>*?D8n}^en_$|K7C+Xe0qk}6$#WMof;{!1tb-G5t6!) z20k8L-W&yyo;M^l^!vujtf>S}>p)9PA!?ZBtTsPo+Mb1^X)WtTAkYmF7|tARtp4l+ z>9!&1@dI=^+2hbd?g5Ggl>+!?`v%!9k(~@05TB7b6v^qL5X$RjCP?>9!Q>d>D>V z&JjkX;tOaLWz4V+8E#F7>%iDIC)*6@5pNKx=p{oE@1Gu@V8zJ)tj0GCQyMf1lG2A* z(+64uF@v?)mWqOCASNGD7y*rTn48eJPlb9_2(R*0A#u~BQ<%rRrfqfX~+Xeviu4prDGDL zevqQm1-4XNYL1$oM&pG~4mi2eR<*o5NNV6xNGj*|R!Y9PDyN1yQ_B*PQU}`-%9Zay_DX+4M{bGK$1IYZl$?XJyov?U#@ov%k85~)8UZRC4(R-cUM&&@2iXj zJTyKzKGC`xoVqrzFMpzM&{8vpPB8<9>2!mWt;5n`#I4NNRhcb$ER8Fsm*h6%GeOjeNP|J9V@|bFpJk-)P-1 z4m$<4Z3MsVXv{9{{DHOdzjgd*kyFa~cOd3T(7PKDJDroPgyvkx79 z+~V!zEmc1MY-VENvTKhu`DvF*_THb=$iL%0ao6A%Rjh+w1)W@w^?2L4A0l^+jcb=s z-fMEqg{!YluJ;adn$Npb_x9X5BkO$8gUv4Uwwph7Fdll=Z=hk!%@3ArICkf^AD>KH zewKSy@OID**mLOqtf3eAi0a-BcjsLl7&d*L>y~BJ&qd*HVWf^qw4d2%$c5s7_fd(Q;@CLh*9wE<#FbbUAE9 za@+=lta7NjgHG2^4rLUFzD7vN(FE?Lv|tiKir&rQxG4CGg}zV?C-(3I`Q3J;r3yenjPfOhsB|< zi$k@r?$ZAB*V>_Pj+u zqdu^vl4eKDK8+ZU=ohYEk5EXl)(tSqgNC{r_3zYD^5|q{1*2|okju*lYYv9;8XNV$ zfGPQMqeED2Ug&SqC*tT}lFOpjuc*z#0!;c_h$KbyrLR${<;e>X+1FDk3oZ39>KB61 zP&mr$99Sp0p4^5;`v!H;kz}hhz78*RH%Z&;@FI7U{x;&Hpyj}!r4RH{x*KgndC6d1 ztHmz$Ojfu50eY5 zjLb%YQID44xhQ2bm{K2xUjGuTHPXt-?QBtB(UiwTp9Mz!rL_7G7?p_{(7%-%C_MyE zXk?T+G~i)IlRgiT@5?F}EPMNRU?z|73D?IU6r>ac-cN$9jjMt!iaPS+01j_*gdY_M)J!;F;f`SPL&lQhAP zhnYu~tuqHe#(xiXKUzr1CX9u{TN`vfS;iV^8xG`wK_jMBycUKC}rzlF#U9)Z5`gp<&qVOd7+b_YXo zVAR+NfxM`NN%}63hqW~6^-Yy21kDykDY7XqMC39=(f}X>Ccr~5W%X$hWt5r)@sX`e z`b-p0DstyYTZ4E}E0gpzh=;W{N&e0F$kv#$7*QHxI5J#!H5g@pv!Y42z{ps|bU#dD zVwkd++=GItH}y*qN#i89T7Mo)nFlb~z6yq{ue{WLijdk=*!IxKi`tm8g zQx=R0((~L_M*T`KWwPZ)g*d25Xd<>R|4<$lZPE`5RrF;a*KYu$vJ@-sgHcOi1#B{+ zSh7%Vw|)W`)q@F-X}kwPWe8ee-aG-L@v^5i+ulE1r|T~7850na_YC{v2=$QTJW)Zk z97;k+iTeeiE)*wqjNpZ4lin4j^+17Gov{*(2BU^3<9!@VZ89423QSq^$QL?9Dvgvk z5B-N=b>7|l?7dDx$UQJH0B7LHDS7p#)J(dR|+uudku3$zCyQt`quEqGxk zlT^@x7a{Ex(x?&2f*09Rn}Yj2LL5M-6Xk67yTSZJIUj>r@F7ApAZP-n>^?9IH%cH|%fc8$C~5Y+ z!P?7h_#B~PE&EHvctk+B)VvK3d(R~8Xv0Uohgs8BnKh^%eHsa-to!?$8|`O+nfPwx zIoFnt#MV_2`y4eL=3;5;07i|4kyssOMDws1lXNSZkBl+t-@^jaUD1SDtH7X4CVLp| zi@;3s!WV)?31fru_M5Q5fx&fXgNrokzXhY_!}H;1PG)ofkBAJH63u+1#iUSRf3g;s}X}=g0%#r zG8MO<1=gC6X&A0Qix71QrX>2WDi%g!SPTqCeHSn)UFo1Hoq3UmNvhd}k90LjsSq9} z{kQNETA7s-Q0=Zf42SEquDqz1NxvLRuOHIT+Zg6kDnkQMkrS3|#l-!cj8bAZUewzp z>EGi;E+(n%dpyk5q@Vm=ai?QpJ%cn1NWm!q{LLqN0(O)twjNNW8l{55v*n z1ymqf#_%vScM`<=CjE{Wtu0tbr5iE45RuO4RvIG3cRLj`G*J4m2QNfhcJ|;S`Z7cYII3ZB`3{VR2Ls||WYu|A zd?f453*sa7SNdxHN~>W+Kdrg2mJQ=s{UfCv{di%2lf6C;PRhr$4%fFvi2MrHqYrwW$rAyU5takPG*vr+a-FzjN;w!fuO-=u%Bi{L0>0~>@ixGHAN zYcT3wEC%mWH)UBP^(PXPfm7^}5)~I!4x%P7S^^bE{}7CFD`o8gqc)%{H1FGdTXfv@^{Dm!2KQl>LL(oc8bq0*4oN`=pvT63?n8n`Z zF9t>G$EtDiCa>QPrZkN;GBP_}FgVga2sMT9G0DyC5a`S!(&Ru#{&H}*y~ALgP6@>n zhgKAa9wLPAKhO(H#tBIdjV}(JC=S&aqNVmN4y`HE zAcbiFWt;)fha|<%B!W+AlG10%sfwf?<0>af>2p;6rlfl2$?3IqI-x3%qzv;_PO=PN zm+itYW;;}&$i-?3Nr|t^bm5J29NZ|+3N?kK9k7x(f0^mxMuAmy!RMbOcN*rxGjm)U z>XEWVPFEzAw^ijNsj=IM^ZPmU2vDcXrwcwL$>c&J_`E48*Djy|@Do6K*8%#xO;YVQ z0Mfq=5WfSI1s>6O(FXzf^QNQJF)gwv4 zA-GWfRLF9W!zuDlk{X_cc&6iRCOFGJI7(F`NgbH0a*|Zsc$JeRK2hawN{atTjVDRv zOoycEW~q{^>2JtvSz#U$C{3seBq`%UmA_4r-eOgcBsFBI%Kvu>`>CT=B7+m;7BwSD z3T{<7NeXVmg(}Eb<4cp2v_sV^ge1O`E~=#9E;W94wwkaTk{WOvlGeu`)OeCq;U$%m zB)vP3@-hNRN%YeYl233USN@I2pCpy@T-AF4Nrq?3rIRM5(&r6H1=)d97nf7xOOuqO z$Aw(83Sn1I23Zkutjejo1UTKojKLk)-_P=_# z{STdO+bV}#YSEjAT53FTvUnaq>2#*04@u&GpKWiT7s&bkKHJuSL;QWVg)3-B+P}}X z3~L)rj=#^gf1hptKHI+Sh)K)Fe1s#MvARtH^ueT8VGMwKCVwwXiBY z9@nb80M}}~$~+66aM*CI!T00p%xzOG%!RuN3v=Z|adqRzaCPT(=3AHt&%)Kf&)`~< zH(X$0wRkSBwfT8mJ$b-F3#-E?k-M$1un;~J*HC^8*Dzk^Qws~{S-3XmXK;<+4L`Fm6VJsplAp&l ziU)jdVJ-M%TwC(1xVGY|Y&Td2*Kdb?8)5BsGoF_ffQ4*=wfScD0k`GDKCqKuS=?<0 z?Ar`$cbM5Iehe&n3#=_LvoSoY0QP}h0?XzN3t`_@*jH#~x%@m>>^9i9)6B;6$va`+ zcGw3tk%#VrePD}snb}ADHds-L!0bp8TtL;>vE zYi2Wf-d@;O2>bS#*=*i(AM69$4aT{CKkVBH`}UjJTwVYcvJ3VdFf+kz2VfuANw5Xn z?I7&i4f_t7*(dxMSo9v)cgV~Z^Q=R#59|`yQr_?|?Ar_b4x8C>ejY4#AM86~W}ouO zM_}K6*a!AG5B(DMfi3>h%vSN+U`YpH-%&Hm;|q?$zJst2Yz=RB4EBMoJ7#9<_zSQR zhhX1vGuy!Pj>Epgu0GP9lh7+CZ%*mugzcJr)Lun+7K*k0c7H0(PL`%atLetsS-_8+kC zjF}zelh44u6R;2LFc1A2_JJ+_+RVP>x51K5!oF|J>=t~_z}B5L zvy=P<*oafG?^`oF#q+*}eWzjHcV>2m_xuj_f$awShU>qFeP>|b_h$AjF8~Yq8upzt zv+ud>9P9%-33i^loritjz`pZl_5(i#7JU}>T`;ptJnI7N1G@zFBX9Tv?E4n>{a|KS z`FXI|?_l3WGy9oOz6krihkanzdFUnB2e$Zpxe>O|cbbQdyJ@_rqlb|nj-2GY)KL0YTyk?eu*YV?^(Lch>>t^Yt zj*qLz3Rm0BC!lVa~+2MUjy#YhP zu7j210XJdj&uHLev!rL-aY_&Fdd-O+o?@2DGhTIS4}KK%JwlQ12UP(R8y^g>fHLdJc5%O*8hkt0;KVO(*{DEi-nv*|#v7x19LXTV~0H@m`Z* zDQL&rW^8c_ZeuuaqkF+Tc)L3o&O7MdJ7#QiFTkFI^|@=tMwfRNX5K~b-ZNvX>v<2u zc@J#|tIPHGVdZ`F?R_)0y8^HsU^O3@vEkVsz{&@(1FRu;dx+tD2s0jk)?Y5!?r?32*oq?)n(r`q+%E?>yK!u!tvSY<`oUz`!SPA29q1;ujeB3*6@y zGd956V7I_J{%Xb+xZqdV_bcoJ3+L^g!oH`l@2MHv;0v(lV10fwVI7 zLSF_VQN)w5iUJY?L=`)Tfx<>2N$e+K6K?j{G}Bz{MCEeK0n%*`JG6D|^Ox zluLEebsS{Nw9)C-+LijnPj1{naNM2Ed5Pa8$&DK<+vkYC2h7a0SS@xJ1?fsIwiV60r%t^P_GPax$UEvM8~ z5-%RqVh^0@VI@YSl;PN;WGETT{5^G8mvL~3PsIi}=cB7OCaRpV+R6Xm13`uOdV{LvmV(p{UIl!#AlNXkbKR-%+V+456H zs(_xBv``i4Nh1a6fk#I*TpyD3=n=v_gsI?n)HHOrZYaX^@mAyL(SV;C*HDe4o9hkK zIC_dn_YmY~6JtQAkVdK^^*|+rDMMp5jvk&&LYO|jkkpvUz!WvEiK<7Bm!_(5{%RcE z-Jhn$1wc~XYQQYAmVo);k5q3jae#06kS)1}q2Y*>V^V4w!&QfcmT@&uLN5p?05$*{fz3c3uo_qadwxFZUgA2BrAbs zz*1ll@Ch&tm<~(=#sTB$LB>L~uP-nP7!8aCvVk06IPd{50x$rB0s2A5uRt8a+aZ?& zGl0oJKg3N0J_IHJ;{bYSUlVwS^ryfS;3IIF^OG4ymL@t)Y?{cmfag${54iyN7@#|m zQ2?!2^z)W=z$)Ml_+8*0FaQ_`xBy*&Za^7e3{VHC1XNQ&kM(B*4gjY_S{P^{pa?Bt z#1IgCyhqSN&>)5;gb|>Tr4go)rBSU1Nj*cJ;0Cw@``4rd-U9S|%Blm+Yo+7;XZH^5b}G*+z& z`2_g}`3U)nkBCoY;n{l;+yevwG)lVx`d!dkfNY>RatWGB6M@kHO&yv-9{|IFVE{EW z6G#PYKmrgC!~uPQUO-R40`vf4fG*@>?Gb1PL<4PscY)SGDv&0opdhAtQk1 zKo~&Ng{BR~6DJu3v;17HR^0-b=)Kv!Bk-b0`p&>e^c`T)HFYVrF(KY-#1 z{edK40FVe+fq_6Wpe@fs5KaNo0kU!^kOpJ`S-=Q@8cjVFkNV|qp%sdHAO{!=kma;G zQTjL_7Z?vvmr~kCz)XN93>8ELQnyq3X8@I@bv5$0o0ngz#ISx@}tQ4kc)v&fJMMEU3(tR?G8>%C7APeVwBX9vA zgU$oz0BWoo@Et(I`z>%5$UctCG2ke07&rhN0uBOS0!IM#xcZvXsFH7hGXPaa{43xj zZ~{05oCdxIz6U6sdWjl%8Mp*c5B>n40m^T6E`n@TL9KcPyaa9mH-VpktH2fDI&cH{ z8MvnM2apc|8oGPH9pE;Q0Ne#A{XXy*cm%uvegU4*_^(3XH{c173{V2a5uO6S0)GIM z=^5}`mA^w40TQ~OmhaajR7sr90@VTP_NtKO0P?3QkfiGj^g;c)%7~yns3PD5Q~=5Y zjsX2ok+vQ!gC^fcKI$c^i1scTB06~dQ{n$Y*>+U8*ffk8MVC~j&!%mPK#irTO!d`8 zxCf*cBn_u0WNm=lfhG!V;8gz0<>mCAWTj`XX$Vt1VG+w`7D62 zeBcg6zyy$TbASqX7x=4!sX?U`+!pa|0J52kB8Q>|k&}@DDr^r>Wt|~A0#sQCprkV8O9IuW)g^zG&|I44gIUec z3DOl@OQV7*jSB1v*nn<8@krJd=SHyZRo_FL1l?FVl;U%GcYatFD`Miw7?xC>&S~Yb z$IfojYkGri5uw#t023)=nWxm5iCJS=pwt_DBXboO$FffBnrM{Gno5tEh|6ZK!4*)j z0lBxmzW2n@{dj#l7UUNgbY1x1LDaG{uS!zdN@6|b)!u?tHuLMmW;u5o0N@_JXhOm-jCJ=+|8L5{(Hc6*DX+vRu~z z>64BnmZU5$BTgW%L3?S~IP=oMck>)OlxUnSGcT99N{`A2_gr+VzP#uJ9<068tI@Zg zrk@$S`F)A?4e$%}3xI(Y&Oxf?HyhIEf@C7FIx%Sua!Qtf~YkPc~>BB zHRPRSw>GI?m9P;d8rplm9IBWa?O=0Gl%yQ3Ad->SpuH)~wWuhd+wov)iN>P}Vi}dL zy<6;u@dMff%)5Zwfm;3A+sAyWdN*ZLe_mda(%4BnpuAB|@|Wlw9)7Rxpy>-Im1t;h zG&}lRPVLd3#qg4pBqz~)JX)r`1Ff6sbR$E}DyvE~xRXeOMliiL4HGYCO&eRE^vHJ> zm1t-$R!fds@%p>j1uaTazI76ND6jSgqN69iy5ruZub;$1`~rgf{Bba-uDH&C^O2il zd_%66q+F{mDojAjTGmipHe*-Jn)Onp$M6J9CCVFDLqtJC%BdmZ7C_FgA^w0A(&scP+2S8io3^*p?X&w+-&pONxL zJB!K_VVL%IEob|lH9OTDe@tSbs$u=nSL9+D9R|n5wHh~3&MViO=`8vpuaxU7u6)c~ zJ+wD={d%EpjpcbiN6MPAf!9QQA#=75#-Yqv9GQsQsE3_J^$#&kPNNLuHC#h2@W-4_ z7S!9*k+1p{c|$Nw(85Q~V)Tb>fI)j>n%mLY`b!fxu7O5VzW~3cXq}6AMP+%ph^X1< zw)P(}cgfd94ETrz8nidQ^>B|qQ~U827>4=hPxG&jit(X&wxyK5f{M?xmaNx z(G<_&?Kh@ZZ@*7ABa|wd>LLu2P?3|X=mKfbUPrgD;?2CaTM}tRX>MZ%d%B7xq@lgg zZbZRTqkULAYBY?ZKW10Ta5ZSJxC@!*JEzXUs%YO>f5j_QjbQDac0Kn#uwQifzPDUU zfS(axvE1dGs5zFdXFK+Ja_p*{;!mA6)?K7bhE0z=#H7h+v7x5eMf{zb;=9SLgF$;; zU6WO&eK#idAA_9e6Uw=+mM~4h0QIabrcFVP?w(@h6j*Y~Q@O1^e@@h)vpZs4k)xSk zQ@=oMfLuj|sjRAFTpjsaI9^95cFj|=zdyBDc93H0iZ7%<{WQZYDO-bR)pf3 zqGQm2YxR^Jt5cH$E8LDBtd5i*rD+fAiN@1lOn!Y4Hw|T$Z6HPxFXJNCgB!Fr&Yhps z;FYQOB)x1D^5S^bK>P$vL#ZB$dU0;|7XH)OR>{>z+?$IsHK(ZOBZ6kIz~B~*Fl2Cw zHFaWF6is|x4`q`ZA*c45xqHw1U+P!QAxLhooN}>|ScJSHo}e+V+`pb@Eiw8W!s;_RM;#xBB>reV?J5 z6t8tP9L5x*qd=Fj$-6FY+Oig9VhNxTR3}cb_7=n@l^pulp1tJ`G{`H^z*45C5uT2` z>MRP@-Zoc#>V=UR{N}YR9zn6P2+%1Z%I< z3rybf%kfi51ECR&(lNB!OZRTB&zf!dY3MV#-XN-1U0Q;**Yj<5t8Lz2t!_DJ&@9E! zmAY^SQ>ivTv6hylzg~3JMNbNG5k(&>gN$F^xEi##1DYmvUGbt{@@Ux>xgRjI`g8V` z>JByRQB9=)(P0jT$UQ&|n8OB02Lr`db1?ZPG!=%qC`^0x-$&&dF6sE`X6l##3`i)x z7B&@K=CXx<_E&@QRzzJ+=XGa3xc|LdGr2pE2VW9{ME7~{4hdE-KE)SpM~@H36em86G+{an7b) z7mod?_8q)T@q-%nP=K=zpO3N|go-anCWng4RIK)v!H8e>Z8~1LSrRfE(O1;^FlCvv ziw*34vg{X!k5_<@dA{gZoG!Sb|!6WRxEXu{$k6P)SeL03t82A+SXmFp9Rnw zp%!D%-e@>G|KLHJSHPtIae7b-c9rV*i5m;iWOeRnU0nUo=a0(lhvp&D5(7%8L+b#J5I> z4$I;6+RGUIQ%^0J?J|a3IG`Cu(qDHvLhONNu=f5&L({4u^-tGZ42@>WjMiSw*ZIZ4 zZM*FHFI3wDCtxN~VF|2GF^MRW(;`IX5==G39{@MxL@8&^&nGXd>(gn4NzI8>VosE( zycC*OqD0@NXx{^9lFj2cT2J|eb}pdy!Dj5o&!fc0OHp=UOL2tc@2y19Qnt{bz29=l zhdW!XepzuP_INS~e*L_)*tkrw{rEEEX#cKw1s<%uLNg}r-s_@S@xP%CthVILrKaG- zfV)X*|7q_~)ZSu;yjXvzwkd5y&T`bk+lZ~paSG60FL|eH!l*7&y~oO$^71mctuU;B zt=bDEyG{OXeXZE`j?kd-MLWi~6S+T=K=ocb#i|O{dxrv;!^d zZWg;x%OLHQl`oUo#x$?i7oedITA2>YGWEP@RMLUiIoRs%ndR^0IofM4YkFO+yHD>$ zu0dNYy2~4RD#B?JdmcQnq|!2biB&@kj`sNKCQR6-gWm(E6GnjJs@q8{5;4^g zQ|gIGK4Dxji)pmQD_eaHdvt-i>j!IZ*u0n6E9O%3eXUgkp`pFAb8TwC*5n5XOOR50 z^b!?6M^j2QT{h#d4aAo4KJps=TH`_oF^ftc*GcJ$o=1Ya-D&^g9_m-dL?^%869#MV zS40Z!)abt3oyEQ}FjVRy9*t(swfuG33qiGaGRjuSYm=&D7o_HL78gEe!Ssc^>PpsH z>ex-hu4JAD?Y*Dcs~J&1Af^dA2nD3&GgsUUp>Hi>%P3Y;THj4P!d((+Pd9OI6y(uv zqU>la3g2}T8w*(tdpOQd-9*Z0Bt7XSI&EXlb^!sex`}<8lvb++n%6To)rjKqYmY(s z8Eu4#3{(vj$5&y;#MX9W71pNzUQ?U7S(KNX&$<$vZ#?YpSe^Oco)UeUBZa*24`(T6 zb^k*tB`IA*$JNZuBNYnup>SzP&wC$^ZysNwFh}GlSeu8qMg51iNit`B6fd)3b3)9`+@~BvnaoYH8S<n0tYJR*an}7cEQYqQ)@#{9)>Zttmbo?4UNqbE7cawix;}lB zB}ID`ZQFf)#i$yM(&6ejA=8ePD}2{6H^X0S)|hxXQKJ7kxZwXRd{JMe@Vvfa<2sD0 z_8!}O*TWZ2pMG^so=;dbLg<%A*HDIbOUy(2byDj5QL4n!pnl5Nooj+7h_CjF z@T0eb)(+cv87qY5gd5`IUjpQ`o4xIa%V);lm)Jrvdp)ZoeH$mXu16i}c(RFAwf{OE_xDBW4(2ZEZpM1@O@GV) z@p>Dp0V@Qo@WkVaO>TJj9avdp&gh-^xFcjOcJNIu|{mD*t>~)Q{YV6C zVD5BcK9C^(*uny#_faIMHB-vIQjXz`qrxf85y@EmF5?r73}iQg1KITlGJc=q#|yR1;Ail)3-K80JQR`PDEAW|r=_McW9E!Rb~xi#cK zN#4?KRx5dNvw9cu8cMrat!TJ9iAPkr_Frf8cm6|Psdn|>N=h&7X0?*HyOS{OL0;{@ z<5=S1U--@KgkB|iOS@UEbZZgoC;yWZhEzOoPa8R`Z1kpB!Q3 z#k2jalBjnOE10Ynb%bpcoxfyt^FwP${;Wn+{E)P?^wdGtgv=)CR<&$V?Ew2t^ghTY s<<~mIoSAU&LN$91vqoaoZ4^AwS$ZitJ4-cKun0KBYUhu0k@DRCADt-RkpKVy diff --git a/package.json b/package.json index 62d2359..48864bc 100644 --- a/package.json +++ b/package.json @@ -30,5 +30,8 @@ "typescript": "^5.6.3", "typescript-eslint": "^8.14.0", "vite": "^5.4.11" + }, + "dependencies": { + "@svelte-put/clickoutside": "^4.0.0" } } diff --git a/src/lib/components/Timeline.svelte b/src/lib/components/Timeline.svelte index de4c097..d3ac608 100644 --- a/src/lib/components/Timeline.svelte +++ b/src/lib/components/Timeline.svelte @@ -1,16 +1,28 @@ -{#each actions as _, i} - { - actions.splice(actions.indexOf(actions[i]), 1); - }} - /> -{/each} +
(displaying = false)} +> + {#each actions as _, i} + { + actions.splice(actions.indexOf(actions[i]), 1); + }} + /> + {/each} +
diff --git a/src/routes/scout/+page.svelte b/src/routes/scout/+page.svelte index 6cd0d8a..8a4a63e 100644 --- a/src/routes/scout/+page.svelte +++ b/src/routes/scout/+page.svelte @@ -28,22 +28,16 @@

Team {team_key}

- {#if timelineExtended} -
- -
- - {:else} -
- -
+
+ +
- - {/if} + +
diff --git a/src/routes/scout/ActionInputs.svelte b/src/routes/scout/ActionInputs.svelte index 17ffa1d..322711e 100644 --- a/src/routes/scout/ActionInputs.svelte +++ b/src/routes/scout/ActionInputs.svelte @@ -54,7 +54,7 @@

Number of pieces currently held: {held_scorables}

-
+
{#if is_none_state}
From 027576e54d0dbf36319509ccd554b58600be1165 Mon Sep 17 00:00:00 2001 From: awwpotato Date: Thu, 14 Nov 2024 15:08:36 -0800 Subject: [PATCH 25/37] feat: better timeline thingy --- src/lib/components/Timeline.svelte | 37 ++++++++++++++++-------------- 1 file changed, 20 insertions(+), 17 deletions(-) diff --git a/src/lib/components/Timeline.svelte b/src/lib/components/Timeline.svelte index d3ac608..5dea604 100644 --- a/src/lib/components/Timeline.svelte +++ b/src/lib/components/Timeline.svelte @@ -1,5 +1,4 @@ -
(displaying = false)} -> - {#each actions as _, i} - { - actions.splice(actions.indexOf(actions[i]), 1); - }} - /> - {/each} -
+ From c691b063f3d6738fe9d3695ceeab5e574809bacb Mon Sep 17 00:00:00 2001 From: awwpotato Date: Thu, 14 Nov 2024 23:08:53 +0000 Subject: [PATCH 26/37] style: format files --- src/lib/components/Timeline.svelte | 39 +++++++++++++++--------------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/src/lib/components/Timeline.svelte b/src/lib/components/Timeline.svelte index 5dea604..7853d72 100644 --- a/src/lib/components/Timeline.svelte +++ b/src/lib/components/Timeline.svelte @@ -9,23 +9,24 @@ // let latestActions: AutoActionData[] = $derived(actions.toReversed().slice(0, 5)); - From 8cf10db1f88719f2f5091b770391d9cb1bf7cadb Mon Sep 17 00:00:00 2001 From: awwpotato Date: Thu, 14 Nov 2024 16:28:31 -0800 Subject: [PATCH 27/37] feat: timeline reorder + styling --- bun.lockb | Bin 143915 -> 144342 bytes package.json | 2 +- src/lib/components/Action.svelte | 32 ++++++++++++++++++--------- src/lib/components/Timeline.svelte | 20 ++++++++++++----- src/routes/scout/+page.svelte | 8 +++---- src/routes/scout/ActionInputs.svelte | 2 +- 6 files changed, 42 insertions(+), 22 deletions(-) diff --git a/bun.lockb b/bun.lockb index c2b4f88a245b422e8269239312c2be404a42f15a..98551ae555f97653d71226800d6a520f16e5b813 100755 GIT binary patch delta 25194 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 Fe*svm8CL)R delta 24714 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�LOP6r@jK3xGmk5nux-L8^8N-vLlsdR0>m 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 AJ^%m! diff --git a/package.json b/package.json index 48864bc..e1f49f0 100644 --- a/package.json +++ b/package.json @@ -32,6 +32,6 @@ "vite": "^5.4.11" }, "dependencies": { - "@svelte-put/clickoutside": "^4.0.0" + "lucide-svelte": "^0.456.0" } } diff --git a/src/lib/components/Action.svelte b/src/lib/components/Action.svelte index 781559d..778e92c 100644 --- a/src/lib/components/Action.svelte +++ b/src/lib/components/Action.svelte @@ -1,14 +1,16 @@ @@ -19,9 +21,17 @@ - +

+ {action_data.action} +
+ + + +
+
diff --git a/src/lib/components/Timeline.svelte b/src/lib/components/Timeline.svelte index 7853d72..f5d8f46 100644 --- a/src/lib/components/Timeline.svelte +++ b/src/lib/components/Timeline.svelte @@ -7,22 +7,32 @@ displaying = $bindable() }: { actions: AutoActionData[]; displaying: boolean } = $props(); // let latestActions: AutoActionData[] = $derived(actions.toReversed().slice(0, 5)); + + const remove = (index: number) => { + actions.splice(index, 1); + } + + const shift = (index: number, change: number) => { + let item = actions[index]; + actions.splice(index, 1); + actions.splice(index + change, 0, item); + } - +
diff --git a/src/routes/scout/ActionInputs.svelte b/src/routes/scout/ActionInputs.svelte index 322711e..8f09521 100644 --- a/src/routes/scout/ActionInputs.svelte +++ b/src/routes/scout/ActionInputs.svelte @@ -54,7 +54,7 @@

Number of pieces currently held: {held_scorables}

-
+
{#if is_none_state}
From 12188babf266e31685e46b01c11d43009c171c40 Mon Sep 17 00:00:00 2001 From: awwpotato Date: Thu, 14 Nov 2024 16:30:03 -0800 Subject: [PATCH 28/37] format: prettier tailwind reorder thingy --- .prettierrc | 2 +- src/lib/components/Action.svelte | 45 +++++++++++++---------- src/lib/components/SuccessFail.svelte | 8 ++--- src/lib/components/Timeline.svelte | 21 +++++------ src/routes/+page.svelte | 4 +-- src/routes/scout/+page.svelte | 8 ++--- src/routes/scout/ActionInputs.svelte | 52 +++++++++++++-------------- 7 files changed, 73 insertions(+), 67 deletions(-) diff --git a/.prettierrc b/.prettierrc index 9573023..8bc6e86 100644 --- a/.prettierrc +++ b/.prettierrc @@ -3,6 +3,6 @@ "singleQuote": true, "trailingComma": "none", "printWidth": 100, - "plugins": ["prettier-plugin-svelte"], + "plugins": ["prettier-plugin-svelte", "prettier-plugin-tailwindcss"], "overrides": [{ "files": "*.svelte", "options": { "parser": "svelte" } }] } diff --git a/src/lib/components/Action.svelte b/src/lib/components/Action.svelte index 778e92c..39c2254 100644 --- a/src/lib/components/Action.svelte +++ b/src/lib/components/Action.svelte @@ -1,16 +1,23 @@ @@ -21,17 +28,19 @@ -
- {action_data.action} -
- - - -
+
+ {action_data.action} +
+ + + +
diff --git a/src/lib/components/SuccessFail.svelte b/src/lib/components/SuccessFail.svelte index 155b0f5..8cb4f6a 100644 --- a/src/lib/components/SuccessFail.svelte +++ b/src/lib/components/SuccessFail.svelte @@ -4,18 +4,18 @@
diff --git a/src/lib/components/Timeline.svelte b/src/lib/components/Timeline.svelte index f5d8f46..0d7b4a9 100644 --- a/src/lib/components/Timeline.svelte +++ b/src/lib/components/Timeline.svelte @@ -8,32 +8,29 @@ }: { actions: AutoActionData[]; displaying: boolean } = $props(); // let latestActions: AutoActionData[] = $derived(actions.toReversed().slice(0, 5)); - const remove = (index: number) => { + const remove = (index: number) => { actions.splice(index, 1); - } - + }; + const shift = (index: number, change: number) => { let item = actions[index]; actions.splice(index, 1); actions.splice(index + change, 0, item); - } + }; - +
diff --git a/src/routes/scout/ActionInputs.svelte b/src/routes/scout/ActionInputs.svelte index 8f09521..5e2cf00 100644 --- a/src/routes/scout/ActionInputs.svelte +++ b/src/routes/scout/ActionInputs.svelte @@ -54,107 +54,107 @@

Number of pieces currently held: {held_scorables}

-
+
{#if is_none_state} -
- +
+ {#if held_scorables > 0} - + {/if} {#if held_ejectables > 0} - + {/if}
{:else if is_intake_state} -
- - -
{:else if is_score_state} -
+
{#if held_bunnies > 0} - {#if held_totes > 0} {/if} - {/if} {#if held_balloons > 0} - {#if held_totes > 0} {/if} {/if}
{:else if is_eject_state} -
+
{#if held_bunnies > 0} - {/if} {#if held_balloons > 0} {/if} {#if held_totes > 0} - {/if}
From 374c44a99fe6ca41809230d173d7abd01b2bc2d3 Mon Sep 17 00:00:00 2001 From: awwpotato Date: Fri, 15 Nov 2024 00:30:23 +0000 Subject: [PATCH 29/37] style: format files --- bun.lockb | Bin 144342 -> 143922 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/bun.lockb b/bun.lockb index 98551ae555f97653d71226800d6a520f16e5b813..a0825cf2599131342ac1e9ef7a237a566a7d2f57 100755 GIT binary patch delta 24605 zcmeHv33yFc+xA&U4%s0jhRhLjB_uM*Nkq;u6|n_D8bJ_ANXR5X1#M2NEm5lJqKleh zDlyNYrX+YPQB+$krAk{h6s_uj8ovA4L*jd1?R)+I_x}HXUH{e1y`Ocj^{lnmv*x|_ z$@=`N{r2zd-wyCC?|!fKwx#vA{!wfGry(DdFF2i1Vt2l@GAG-v{ko#BeDhZZ84Yxe zFN*h(tz(%&)SHvRVEYwLN65U%sTmVf4Tcubt_$u0Sr2kOB6vd91}FUo;N*X_sN6N? zCP;mdZy+5YKY=8rq~z?}EF`SU1@LbI|3fB&!5#9s+6IFwv{>-z$6UlhP z=ZR!6ctKu)^ng4DN&Z_PDTN})rjVJCtsr9{n?ZKa{Odus1ixVqlOT^n`ao{f4?WUXWyWPIlhJZ0ULa zV>7Zx8!k0h6}=HaZ7+RnR(3AhVndCONzY30pOj;8MU7H;J^o59*MfSecVb3pQFfPt z)8ocuBu$){nqnBAnm-x2H$=Bq_3omcDO;&|lP0ETB(u}>3OMBke=aO zTlK*kebpwElQc2SAGu3TOUf9J@Ekw2eA1Hg{E_*wso<1Ocso^pCL|e_G)}R{;MAV_ zM1jHf5CPPJCgrC4k3%MMCS~O(XQ!mDLPk*Ows~q!Z4)4=v8O;%Ump^nN({PUACGYm<&V{?*n^HLYVzg__pP6et(Qvpc{CkClSM75fPB5sd_ zsOa1vDWgMz)p6hndKUHKU`WcC-V$$wsGTk@RPB|z-ly=VaYC;es`A!P*LiMwW^U3L zgF$IdDAL7Yss(TJy{6|14kJ2gk4eg#I02!#sgv^3$DroJRr{JmsM$<{q!wa=Bz?Uc zbaOI0spjb|Wf#(=hOM`d4d7IMYa&&tm1lu%B?6Qllbt*;>M)pt3}6hf4S;M0xesFkRmfsU;?{2JaC-_Fqo(+3ceMh3gro;xL`=;~HW;$O z8-Y7Q(gT%df;c0=sRUyo>*M*h?&N^XP0h>Bn4D_J@2O@a8&YZ8kQ9zSko{to!LXy3 z+M=3h;W<=axEMIKq>fs8evp*GW{{N5^k_Ani^eHq9VutYY1!k`Q<8G?`=}2(4oRb7 zZfa6WN_uWiQdWLu(!}Jnyh+KqNqMP;`rO&xwcu7?HTj8YsaceRGaA1HNe%vytfr#3 zyS4q)(O*E4{R#cm_;bK1n}2{S6_cKoo|BZ9Hv|5}4-QcEw?R_6#j%S2AX^_es0Z~Q zs8&D^NJ>aku>EtB)Aer-Qq9!$^)clanLn_9xnTEDwHOBvQPW7nQr(TcqG`;Cs zI1OtwyA6k=Y~4&$d(34>%GMc3^53t?jw4llG?t`{q?FXQ;IPkVYs~LU&oLL?+`-ki zOOjd$9*}Ji8Bhx0(`4133O6@(iou^JIr#WpO;KyQ0-;oaTOcXxDXEi_GA5-OlCx3K z7SS;V9o>JjOfH#NkR%TsPs0Q(Rrq zJ}9)a9UOxcuOHz`R9t=0XwnteF1V5umkX*#4b6jVtm5}2T&ar7S|6i~;#yYidIXmm zVqxb$9_BkWba1t6Nww=cxO%Et!7$#FpJ?6LPH|A~c2~O|!qo$6o$WBVlOxjf zTD9v~wX2>7g`Q~D*$xhwJ9Mz(e12kFfVLpm1g@ORi$)K`ys*7h+Sv>lQuLhN&BlApxP!k%3U7{?Tk$MvZ#J%P&S(2uj5nI|Du0Wq z4c7P;KDS+@DFv=j9^(-yEhIna*XBq>`W!3_%tZY|YSB^+vs2h8jn!7zGO+M!&CkIo z9x~}+mRvDwQ z{3u}~FY-6D`dkXOO8qeOQ4+}Hz;JsIDtHGT`+`C+S0M4zzGjmPmZF^$Bgetj1^&o_ zuUXnb{)$$tr&+oMhWUizz~rd521BsQT9~D5u=ZehdXQOK3`Y5@LwS*mzN)5CDY(#T zMyZSeqZ%|SY3>E<2Br);(jQ<{a9~I!#7}=7#t!LaupY`2D4!Kzq^aiY0T?~qj#I9m zZ>Oe-oV7PgMPO=wENW*qo@mEso6+u&^Wlhq40?pyfehet{UW8$;R;pKDMIUV@K>LK zoCca%H(nWTHO+!wS4FoHt~ls2rAC_a!U!u%<&_auX?Xy25MrQs(j_p;w}BU-5w+^@ zR9}!1z^Lrirm+W%YDlr()HslaTSqj*K5&t(=p+&0_8@8$GWER1)MD@qQVmzKB#i;n zItSWaF_;;N)Td%Mei6hSqAaWdkB+iRnW)r0O8O`vsT3?43`ruIA;e%9s4_n@%jD4( zD>Lyzi&dI{f{ImR`J0Uuq1?f0k?Nwk^@k^;#>9s5LaS9;2R~}#wUz4l35==(Mxq(E zNBa%sj_#3|n+m&Fr48Vut5{&V3uaMfoFE?E)oMzI0pUExJyKc$7gZDnSrqCSFcbtm z71d@!Sy>epJ0hGHcEg|nAL=NW@w%FgW#QbRyG3dqp%$c)RVfEd9aoCFn2oz5cokHB z)l|@s+L>8L9^J#rCiB7`R^zr#ysC#qx`Ohhx<#)GSRuGHnXq$!4?ro8N(>#@yEd`>qC^6NFEHKJ<9iG6^z~q~WCp_%X@JBqG6js%#JCN%9}NF(4QOn}DyOiYl`Z6z{jA2vJ-I`F3+u$A z`&*@gUh1Qj(alr_){Q&5MVgGTsWUZKlLf9o9)r0r3$6i35+jo}+#ZCUrqr-xL@%QP zQ&|@=gmAw4R}Y`O<#;f}$P#%?h* zElE>i)ZC*_VI0~GM)}2{fx+Nj44)lmVFP((oK-r2dKru$bx?A~=zvn7r+S)ADPTwy zW86x()K2ScHA{9VGISVBTt#43Ffy}_(z0Fz>%`|;(MksJs(6d!gi(mf#9kQ-sx+oH zQ9F!XXo*y+T`={4QF~HLd_NeKzdH9m0Mk-I$%YQnI{}q*j>gaq!8U?XnrcIT0EU&1 zZ=_^_m6V>ObpPoZtIcD*%+d#7l)73zPX_Zo!z@xDrVmUGR5F-BM`#SmqV$)5sTp_f zZ#LeI<9&u(SX*8=+$s%$32HPNW8dIXqE*@rKPn=%_1vyzNQ$-LmC&#zR5t@}v-Bbu zRSK%18!|kRw$1aW>&x}ldQ&njNlHV zEs{J^Z!fe4SO=yJioRy!rIEa9w1u_gQnJ-FaTFQ}KhYyn+5#8VD^kOoOA@b4wo30L zsS_>wIWqQP67Q2@k)+YpBNoz50}EE7Ib+y-4@|2f%-WxUjZ+GU2GMcJYA(A*&ijnFNY^z_Wloiv zBUv?Pv1l6ET*|PTmcuWcpUCKJ2Sb1Rc!ME^$7DpB@~T~B)h@>jJ#;8svZA*J zu4u(|yV_;W)ctJLuF7gx!z?{?ShZ_)wd)pKy_EDqvvt?BYFCBgI+5AgE(a5VqSmk4 z#j9Osbre!oNY(=UiQpnx55Ou#xk%FUV^sP-kp)T;|AB<6)1izH&@%Qc>54EkPvshmt!d5i z|43@je=0}+J|koyTDrjmpdr!rtbqe`k*p0YB7%z~RqbMcn#U4=E?pMrj;AFlE(Iv! za)7SClB8cuO1O%Z`+t`dz5<~1R%ziR;a^}_tvU>AH2J=!K$0S^1t?+(Ko?2!Urz+r zvm}LYP(oEnCAL}PBq@9gV5Iurrg?0Kq>Cge>>z@RBqgvLApcT;E|SFe5W)4dqzr!m zQ20K8E|SFeYw`f3f%{Lc)71`+a$>limZV*w`2Mvt^32Ju1*Cmc(Vm ze?t~1Htt6Pj!38ylG3Wu5+q5^&&lq*9nV~ObWuEW<127?=l5~<;IZ$-Gf!TEyBB9X9$UW&xHsk7aQETT{CL)k zC*j_l@0}md_sn4N|u(M!Mi)8$`s&G*}pS8%5-vSHb5%0ybU|xiK2)~YdDDS#B z9$%>!;U32C;BMy8OXBfEs};CM@cX!T;;~EPStKvPy)$Ra;#m|=z}>>P;cn&9@_5#T zC*j_e@5Q|vcP@@+-FZ6hJ$O0p&vW+`@vJAGfO{`qxgwq)Tj9w4SIR7!=dXP*&;t4xp-%i*ER=}lQux}Ua+a0XpKG?Sp_U)4y=hwlmfyL~X*#f?3KkVBN`@jT`J^=d;z`g@ATg2~!-2+QJD6_@9 zTAnY$;DT1p5xbKCtCnDuaDxu&+#JEBIcpJz(DDGF!#d%VA$R>;qfF-78>U z1?;Pk*;-x+cC4a44>;V1mGJz-uj>Ep=GArkM!S;Z8e`cv5VDeU`HX6N{Q zuzO&MpULbzFZm4ieFpo^$m}bga0d3Bfqh_KbLn%~_c`qQTxOT~Ua&o2-e1VaNjRs-^l$p!0zyf3$X73?7JYdyZk!XHL#ekWcDjx^cC#;3ig5h&Z95FzKgK$ zqRj5|`(XFL62F$&AH3vi*!MN;yCkzmJmC`Ty9E0#$;KxJ?r`}9ZhsjDUX~f-doRO4 zFz;_8HB=fKW_MSU;hcUy(u!@%!hAeb|cxC#TW!oaICYs9aET?31`CbK4d(KQ%&4F-a_ z^62X@@Hz~2L2$^^!5V``~e1n`EcnbD)1)kyD8HY2et>y z`<61r-GY6$U>{g(?tUBg-G+U)Wt!%|j)D3ADAPpuBkcPT_JOtIzCXdfpJ3ll%2Wq- z7A)$HGS%IIeRp6VSP+l+8TS1Q`+k;bvIDyY7IRmo>FzG>`|is$0fHR^^M9aBfDd5b1K0;9bKgH;-yg8=4`l)bI|~-|P?-Q9!oG*F z4=k2PJc50XVBaHU0(=yYU%PgF98c5VV_5eX);(6HzbEl*2w#DF0>6*@&;_w9o()@2 zg8Oj67(}8-ATdI0BQa7)Mu<@&iA0jvOJcNet_6`S(n+Lyn@AyY{S} z@ob&a`u1!$b9oDU+}Kl9;_H9>_OWy6!Dj3r6Sf9em>>y9{V#eBcw&dPw7ePH$4U{n zhbf`g@NwJ$Y5WZ7q=r^UmBwj*ZB$!iImb}**%0PaI>D87H=4Tjqokp|fjNvzpO_A74ZjQ)S)QzuX%2p#<0O(A zGA_D!!PE{3#G!j!G2hFZ*}Kh3EU|P&Q`UghZ~^|U@=z*s7p2UfS+-RSH6Ty}VWnj)nEbrMEbT8j zyQGVrY0RR2GI;z%y^s-ur?w+O``>gCryLTp$pe?ZYe9SBFhIFz2Lt~N^v*t6^)mQq zezZq^odR(+gQR%$DPtIYvLJu@kVg-o&lAHnMfzq(PWr@pd(tL5eX62_Lp4R(Y%hVEBG4B|{HH&I zHLTbC!Zg2}bPB;A4P=RK<5+G#dikSoDj`59&=D{L;Xnk?35Wzb15p5dz^Ml~0!{#Z z=y3q(L(xMf9*<)#wW-Q;48mhPYr&?8q+HfW3>eRP6kLMNW#C)j3h+H}6}Sdm2gnB6 z^L7K=0S~|n@CKR!%>equwi_q~=)-3m@B)wk33M)YGIayC!@m}!9bf`t!21KA0ad_p-~@04I1C&B4gqBV z{iAwb{k#sTAjpMW;-!zs;0W$zTpgzz5mU`=xgsVfCiE?ha!bxmcVA91fc#&T=$=n1%fLupZaHuu2gAc1XURQ(x45{ z8{w@XX-M?~JOEF?9YAF$2Gb8fs0sEI2eMh7V*s2~;MBcbMAsaKKZp~VIjol>bvA1M z?SXcpJckV{psql*NwwMwcn_eOr6x{Io1Ra8^xGr>Pz#+4%mLm6W&tySHvoI!b-)Hp z1ttQyzyu&0$OJNgaR7D2G^){LI1&Mx42JI@301{*U<0rMCj5fHbZU%HUZm!Ex=a52G9e@TC(n0rMDCQRE1eUF`!o^ zjnnB=Nhjd=2%v-x15`xiKpAilI0Vp85C_o1$@1es6>tRj2XGYl5I6=@0+a@&TdYY+ z|D@(V0I5H(H`PCNEebph^a3c5>V~X|1t=4zfZhN_CLPKw`8zXpyraRA9_j~N0Db~~ z0LY*lz;%E!+a9v(911`WVfQpeoevN?ouV|zGjIp^ z4fq}S1^89tPaqA@FNb&p`~f@ws4+hTDEu*Cgbo8706R7kqZS-{5KsrQ7Vr|>cA6jg z*M{2!I06)j^d(K!gRBcUL(dh`1)w5s3`tYWA(1(mnd>!ylM2ucQf!;dtOZYK94C+# z^%oP+3hs1Bnj@&pnnN}NsLaa%nrkST#c)%z$x_~248*l>14zhvr z7zcejUWIv!D+%b@KAoXYU1*hlXSt2i=HR(tmq|hI- z9V9)RGDQhd7$qV2MuS3W; zqP&*ef(YCG#|e85EUI_Ab|i+L|0)J0t04$(r~BHgD_@jQwLpj2&^5yt(W{b>KS zkx|y^QncLF$GC{}{j5=4CuWHX4~Pf|G^`UVRx%g6j?~L8zs%e{_0xYwMJLy7Q5g57 zkqirhrkakccc?)*5D1UD{P@J?wxNy-p%N4j91x_Zq2|k#1q%NHmfmPO${TfHE9x+G zZkt_E5sk6wQBr_1nwLjyulHR2Q$!t?`zJ`djaWbV)LtVTgULa6q{Pf{{Y-Zj>QY_u0mUtw+?^+Sik zf11|6zSGRpH5&S{L~qV}w4}79^NpI2dSd)5$d`VO(f3_j+yC0V$B`O^7_l4*Vfw*G z@4Vub@bcte+tw)PMp>Ivd6G?P_6|KZm#J$QwI_k$D ztt@$Y+->{TpVY+FPe+<%w=r#`bEhdaA!{0nw`Ra<{XC^(bq0u@*D@<=H1rdf+#Wm# z8dw#US`%`qp}2s!p86S0=Vy%R8T9U#( ziA%4+sG~?7qqyz#3McO)ZLjyQiL4*xa_pm%H#`Q62r#nnfS^$7W&1ot!0XJ-_?d^e zy%<#*ERtSF`UAu?5;M2w9!+UG;P6x&BvJW#8VV6W{rKQE9!^(Tx{;% z&>^b65fvR65EPClv=>2dAc=4xLwM?^3b~jPy!(02s5G(&Eh7U(0V$+-spHDfna!t0 z?E3Afnow9km|=qO#8cTk5&ITvTwBS!GL*TP!mv8^62_Srzjk?v0W(>!mv%0b?X4Bt z;~u?qDh|mY1{wUBmsmCv24C_LfpeIf_;@DkXT0krn$3dsMiDU!<3U4FvI{MGT2`5=zZGf&JJW8gAh!_5H5b4g?uH5uZxg>{rsyYPTTfPotLE!R!U|k zh^Rv7O%w5jEX4T8Tg)kB!K{urM7~bq9DJFFaGZ^jRRi7N+x02x>CjAh$+0CIx@}r= z@m5mf0s*pe!mAMLf!{a0v)LK9WeLpW0_ zQ-#<%hlLu?wH4pb!SnTFvK+3*ds~a=JU}GM03xM|n7N3QBgW1}!G(*(#Ab?JU|MxH zX^Ps>kHtDStIcD}uvyqcN5c%IdUF!qZy~1Ap4{0GG5#&K3;nA3Jb0>=XeGnItfiAD3mU5 zGe0)4bo|>afqCkOK^;j5{M}*B?s-beN^{ZL)4z6@@PLkH%D>v4j2l8kz&p&%OFy_R z?%d^e4SnRPilM=jN3~D5X{}mq(C$X`gRO|i)aL7@A79n@%`d-+`{?KzM5lrd!5Uue z8-LNV!$lBBn>idJ`f}t%KZ7keW5?a9Q)y$76tyvA8P?mN5%%Z3Q$O5myStBE-l%0A zr92cXFxs3%Tu=R2u&91H`QEQrbXM#PqIRSXOH3Ol+KP_zSxA_EdX|szn-Q_MZ|7)s zVS>@m6|>BWU3q_G2F+S{5Lt}Izid7`skQFR>8tc9EFDcMpQz+$mt z0TvQHg!C?p@iav!YfRglDf74O|FRORB1#euGc*ws-bDjV5^uiC7C*C@xv@+!PyD+s zh4NF{^}p*)#x;?m{Xz^d>JV=Hsk4|$w1L>PP-)G2We7}eVhv^5C#f`f8(PfIWXX?4_UDf`${Kl?4ny1MoB z8O|OkIC>30CwCMLFlB}5N1bhRZ2Dc{+!BASaxfh0$Ho1Sd1UdBtFgxsLNg-T=6xqI zVi|gter%d&Nx|2fukON2x1xbsQRhSECpO?2p89cX(`zR#j+(OurLT|4-Nn~X=%^g@ zhTf8}q2&$7*C+3Xf;Ir?N5Of8Gz@S3ajT^W>4>E~@}DjIm!p5YDtawP6Z)~cn7$m< z?Z={7mmI^~ZM{dT})Kh*D z{qdz#8Llx;=8F@>NPb5zVO)Xar;Cm&&>I_y(<_i}zW9MeM`2otfkQtNE@jT{7t${* zyR9UzbopntYvq09mPKT(L`nX62`TSC?#5qav415CHa?QYPb*npR$oM|!U%e%uP9rE z5mY}>ZeZc(o0|^lCkbNSYSymR z<^JjfuAf);(~*~QmVEKir<4R%>nQMT1H?td_0&(UTbKVhJEYjNtDUk6q&I;+!g&oA zD4DV9_;~NZw6uyL^D)c303TYjVj6q-edgBx9dNuH+fot^S1fB#Y%;Q!;L`*?#gMdq zi2L+rtEt&e33xmfvD9`BAcWpUgBAJ4 z^=yG1MylUsMRA*wGtUjF(J+fUCFqa?MBVi$knx&c^40tk4#kVJYV>Tv3Wcx*P{0D% zcJh3m7ni!9sH#!eg%C2}*rFEAkKDaHtS02_5b@S}Wa1t)@aAE=I(GV%KTfW_P@~aU zl&@#`((wf4W1dZWKhiciri&LhU|^ajHju~`UvEH0R}IAuA<|ksrCqNMgTHE^RWVxI ztD@0H3_rVviryQUpQ#Fpo?`hD*2LiooJ|o&Tb0q<$<~b+7zT?+8(BMJ)llKLi4Deh zSg?sLHttUpUYjva=qD_Oypue&d};AZMs_Sw?FyF@#QOf zjMVKS_y1(?`fs~wB47t=$f88o9W2CTNv3Q+*~yw{c{Hv}7Poh?F~%*)!eb|GxcUczGA=L`i?J3(5S?9wo9%S**6DsBIcn?qU>(E_@L{3 zo2HJt5gz@H z7Y}0ex`enijaL|M_iA(9*rg`!v-aTBxb~vmA>`{>dvK~kpcn~-jy=%5DeYsw*?gw2 zj^j0HKWh(8jjHUyH4VNHBxZ_eF_UAc#cu%J5HNVt@- zV22@xuw{{XUAALEg3;zk*3O46a6HSP4StiErakDInSenT_& z72x>ZV0*ZH8cC{eVA?E z*k8JB|ADvXs2WwBAM9V-Xk8VyIk&3K<=Cs++J15L<0b6&(To~TqpNgjYc$X&F(=AH z4ohGPQ7_dEhAc-!I6|gQicd_7HyGL>cV%#I$SRPBk?sarADr^n)Z(w@6gy?wfK)}~ zGh}jrybDR0Vq%k1#-R;e79hS3;xC&F1{X++t-;^~c?g{3U2sbO8D*RyCt0a02E(Y- z_(}2O(o$2B6B8$nHyAR}NIj&-Lb`)ybw|Jz5v{d^T9DMh&yvAVAF>3p3FKDD29R8f z9}n3Wyfuya(_&Lo4WnzQW*iEM zK4guH8JBF0GZ^AiM^3aR#u+?otD4q=tc&#LwN!aqlO>wm2T7L5heXz_d78}9WTGYq zljOZByJboU;Vr! zkW}s{BstMmq?5R;S4bNb1PM6sy-5bYlF(ap|$iaq)KO z2;3m+34EQ>FG6AzvyMa3;;_$Km3sOv#8du_?ihb+XfYzlq>_(ni7}~O=`l%(hM1Jm z<6}}%R%enSYXIt@Rqlee1nhup0PX=v)_;km7CbX+Wk+=#K5J0@?z>K^ zwfje?4PZr#PmMJg&Lf^C#so-eQ1J8`HgXLXsny+Kj~VA@iaR4#DmvHfn2S^_aJFvybVbe-RQ2Co1$^OW3dUzW36#9 zDc5?a4YiT^UAy|3DLvKd##>Xcj-(orrcfgWLu4rftz%HG2Bhv? zmEond>i^bT)q6iUb?ZlPlEeFI17aO#9UqgLdK>YuS7uhDNVPy6NUGSTpPF$KIL(vo z;N<4{kW`VL{%6P1^YZj+|7mmT`Fb&WcYnqi5j7y}2gWF1Dd|h8xZLk}XnzVzY zG1bRbAJZqVsrhd3Jjp4f?=W>{bcUpkg+Nm22Aa$ru37|c5|bDc7e5D_6r9W-NzFUx zHy?B#FlwT~Fg7uMVhTF6Dn{+*G{|Pi4Jf68;1bk*vUf`SWJ3;*cJOE^W5&^-H$y6o zMlDF{d0hOYn8b}KQ84Q>~ zS(SKk`ye))mm*~u4{@=uFL=6(#Z<+{UBBWNR>B5}|759K@FMQlz}(A?_Bbvz@^JH$zp_=whDk zZZX=}^F8inlWcD=1n}qe!fasp*ZFhzP}466MJu7c@SlN7Xf;A=D)~}>C9Xe0LzU1L zgse))1;Z7igr*>*rd~#9v=V2=N)oSxRw6W92^q19tDzW#)Di~}QhVTpwMtE$gpe9{ z7NICAYiw47?`dc@rNPBI@^JT1X%|9R(6bn4u0cjaO+KZO*<`6{Fa+_8=3zEipL+BC zjY3WDA=Fa|eNh%_hMPY%E~PAV0HGdAK6@-8-FQZeFdHR6l`JR=-6#vSz>?67?{5}n zqXv*|cUg#T?vRMMZU}Wzdr}s~kvC6}`(_02f{tfVz1x$6f3|`vG!oK7otu2ys zL)CLJ3NAs$Ar1MS)@ErjBC(L5aEI1G#;T2YJ1?`bcOyQ<%WQfV_nBrM-YV2|93g)m zj&A=>ama5=l}POxV_JZj$b+SKz$i`eXX&WMY?U-)6N4eREN43~Du+(G21!%FsGLDz zMPM`)?Uizso2ss3qx7$9Q$EGV%rbb9k44&zBq~;klGsxo;%kw@umDoUFrHTsOW{R` z+lDyuJ`?ZY79>3cBfC2&tTk>>v9-`__6#yj0c)qIc?O~Oh_|PB$*F~EQ*;6~M1o;^ z($vfY^HXbR6eOJoYYm3>eS@TzVAMl9>WwtYQ_X2qOt+wnk?Br?(HI&PrR%lC%mGtY zBWXAonXVF_j#>nm+8&k@>1(hEr3LC|vsP+ObpVEesl!3NUI#{XqGzpxq@Tgm8QGy# zkkPj_Zx;m5L(hjOSuiT5yI_5Jc*{_!ofk$Q@lYQQHV%xsW8~9)g4i0K9&9n)M_dOb zua`I0CZxijLa{uCSl9`k9%7LywLuQV8>o~N0Y=>hgBN9kX;T3m-48~lSAE0XM;#zV zdDCRDK>pk%RN91)+6z+WJ215jscP|6nQDeiFj8FcaOotNHa*~ZHn3z6(yEf#jiG*g zPnemd^3pJiRDz@)NP@ju1xapg4TkPus1n8E!1^f+Gme$;(r^p2@({B{x(GW(s-?Vw zjLic097Y4i>hThjheRffSk_ z$k!pr*d&DS>1dW_hN$*Jb~w=mFmgq-2b;LI<5N1BrD)iU46Im#0B_%Zl{dzX)w}H)wULb#4sJP;`9mQ&%({p+lZlIQP;2oU^KXj z|C^qI4O7<4Y}}4hwW?khcxe}lR1Yprn%i;K6>}4e>XG>LPC?RaFm+aulay#_=puHZ zIu_opn^}6zq83oRS(*n%m8n{M21Y%F7SPEZEtAhG{g$j?)R3JrVON5w=BF8Q84PV9 zC#I;W4%~i#viMsOQWk&HW`qXu@E&0{@XT&XVlRXSDWT61>PsP`UnjmtHcQVtAqn+i z&Bc_DK_{pm>QHY+Q0*}-Be%fR<&0Km-_B|uX)6e}2O*!p3WJqt5g7V_F4B;H2}V`g zDy#uahKQ_cv>dbdct~%H>3779qWd4?$gX@(Z!=rUOM6?STV2)Gl_ky81a8`qKX(c> zjY24lvYS>QWgZXrB-T$*+fmMOWY_hvY5(Nfsx&nHD7uF28)pEwGJ}1 z!JG`^8F2Zr2+;_jZA{74V4BN7y?bC(yPDQs)~7P_3$_O-%V;`GjEDP%8XNZH?fRS9 zJ3PI=MY`NmohIl3?C97_U(}1kf=ole%zQtJtm#F&k@O`+pfOAsEIzKVKXn&sVg(q| zo3|TiX1jR$K#SB6i@*RiBiwN!7)(OG<`--OVpbM5Ti6JGhuVtGK~e%3W)JOFmLO>* z81)^#4#&C*hTX~nKZ)d1qRdhnRvxm5y|Tf0V}&aB&;&5JCE1j=8!+-H)!q&Is|u() z?l3T|7T9$Gm^uf@$`>>SPXwzDWvEWo&xe6U@C?sTX$3-L5KKZ??}o-O``v@2`q&(( zcGWzw1NpPp%+fqWV&5POV(<=Y4Ar7I^;7M5aql2w)FA%sbu*j8LxxzSeMnM^!HL;j zUW7Q;DAh!&@ANBUsEWPI(}!B5mC&`-pPn8jRr=hAbVg#Qu(#-zF zi$+>ZpCc)hXGDZbwPMs!RrWplViRkTo+2&)EnuSe4>GnI$)ClVrKFK%%N6QA1?H!8 zqPSy_^a4y9AZ*mZu?E8!q(N1<>=`ifKTO3T7>hVQCEhG8ic{x`s!<6T`HOll=NPXp zI;x)y1XHITRW=vQU#Sc$7c1taqb$-3#9`{90h(#uM#1XJq?nITAmX6~br_6F8kD8X zFj}1=3NwX*_23ykp=>5EO0cl~yfncgJwvSO?_~AY5>%y>)d3@1WVIM;TKO}pSsG?l zXRo>eEC(ZH!1@K-gQ&{m4#rq}41YGpEcJqMC{o!^rI}!A#~2*rJTDq+F;*JOpN%z} zLdW7BfIlA_YI+x;UI>NRXn{~ulSDNt)HIv53?byezHP!_tbgu)ZUY{u(}NeFdTvTZ91{ZbYRo1mq#>AYw{ zXpPzihVWg334oU<1O5>teMs5@i-_QpNdX$;B>;`(Qh+}HPEx*Q0F}!F==1L+ zKQYGO4bQl{|lxRNE(7JV^;Sr*V>$UZQc5RL^;h zlce+u8m~x_&X?(J8+{N^J|wB4D?l^gB|sUCRNH?cDN7|>D8DTvaXVbdU+JANef}!Z zJ~dcP%RrKX)p4Qtni{V~k@%3L_&QpAT`m4qNtW`^(i>>$B&lPKHBOT1X-X?7#Wm9s zDw34c92a}YHju=9=<+8?QREFI{cxcf90W-Xg;1m>DcBAdl9{1eAdDD3uS$vv$Av1e zXz3)0cYq|*c7?1A*$wpn1&3LaWW*CZYmYv zz20`JL4gdqXp(WSbPpbut~zs;mQs-<3uYsovdq%*k)+_exKO)uAnhPIMgB=rKjtHz zl7uD~X!#&(QhviL5e8d+8eQu-v%2EvE0C3%Sfv#qNj6*$NmbLY3P^6z(qEMnza8jgxc)e+WtH z`~*o!KWp+SB#k8fsDeJPN~-5~E#Gs7<$$_FzrvtTMUpDAM>^?US<6?Eq$EdNXvph8 z(j7)aNa`rPjiJ7@(WDO~eSD1Sa)f}|V}HnMNazGfc{oK9bkQU&19QQt+-OC20d_sFuag@z zH%HVj_63?VZwegbUr0!Qw(KxS=t`hqClBG-{$1M}sc zxlzoIPsg<_zk;hj_gxsp0{ARk1Nlu{gLufIC>G3fa1G&iaBassERJHKJQvq6{s`A_ z-hD|FGxI!LExZ)h_B?WF6zjm(;o6b2Wl^jXkH$5EZ^gAUmzGDdE<6U;uDob@6i>** zH-tQyb?4T+DDJ$%k)H;WxyuS@0+z8tX1(|cu*oZ-$x4~^;pr=($tq|97RfzVMe)zU z=B|=ie|`lld$l7EUoEqNeAenH9=yhpKLCs3A#0-e_h3ub$Sj)Q0b8)vk@s3Fv)6g< z+9=*FA78k^hVt(DQT$i1f_#~NxdxWM&XEsYC$kv7ZXHHwJw|A~%wl=;`Y3L{!IAF= zi|5jYD83skX@g8JyTB4QLcfhNelcL(2>lA6AJ|y#QULwHG74mt#7}@t-UR(N$t;;>!^r{Rjp%D5N%4`<57DB(>&<|`jci9d7z%q8rY%V_mHn|A;70L7} zun79?fqq~)+;b1~1Dm@?W}IIE%iat9_R9E0#;m>2Zy)pn6Fg)e^aES6PsZ;h?tm@W z5B>JbY!T1h5B&~6Kd>dd`vK?&R&YSZZw^br@()74gEGtG>kdM{L(uP#%vSQ~L(s1n z`hl(HQZe)cODdMxT3!T}aJVY3f4B!*$E}B<-x26{SY{iz%Ms`YmT^R81^fiq9_7A^!pV0eJZmf zJo;1UcMAG}9plm|=m(Z`N@kz%BCv$h7{Ajpeo|yT4gJnQKd?`^%NghgmT^XAr}+u6 z$!DS8S(%;X>1UzeIp_yg!adJHKd`yyWW1ld0+w9@{YqqZk7v+KMREdL_(yC}1peBDLpcM1Ak zlJR;s`V#cJ4E?~q<=zz# z4f=sCxhAtxeg|y9SJ3Y(nf=Cdzk+_(p&!_D-u*iC11q>L>a}nH?_zOSlF7ZplpI)?3i;8|VjCnY(-g{lGH5 zk(nbu0XF$t==ZJ6s`2!1q2G7V53C0F{0{no&HYYhwfGgV?Ay@qw#@4AS+}9z_s|c_ ziHCd-{lJ!dFVoHjw%`u*yCc)yb_e?1g??c5c=x-|53Jy>O#2&H{ype-Po^F29`w5p z{q8F}+T9{lHprmmi=XSjG>^P6sym zN9gyXveW$t{T@L-FkkNZ2>OA|eI(Of2bTR9`aPCuw|flzo}p31cIJ%xV1K)+vP+WUTie!oIL zu+Cii75afC{VLP`2bNF@{YsVnuN3+{gMMH#cX`kSdV^2@@_xFP!t5fQ4Od6y8KhYSGSDpQ!78EyK882*6ll3&3s++Z%qL?^WhjlZp zjzA^U=~hZ#de&uwjWfDXyKgBuY(#5kw$HStx7LQ*X9xZN9|jL3{k*BHbOg4* z#Wh#9jB%0S#;(>Gk6*huXo?Nda-0!K?yPGa{eK){6RqC#UshzyTyeskWomYtrr518 zR;{5JQn7-aqQ6uYFCNrqKh({^BYr%CuE2r^l>83m_AflpkWKF_vP{g^AxryD&)_kl z`)Fp)eDPBKpf3h@<;GZjB(8JnBw+$Y;8S1ALyx^CDlz4+>FCk=WG$|NmX98r-$R%_ z4I!x0g#kV&*C>AKm`J|IC>_(QH!G& zk@zztkXi8QmMnT$SxP2VMqf1PRZ9R62;hGV3?Tsh>ux9z2807FovJ`Jfc|}# z-v3kq@B+y|-;G{U6W|Om0+j%AgA@SnYe)mg1t#Gwo@ES^YNUfq0WyGTK&FTu!@6dE zh#&{PMt!${Z-Lvu_rM+CEihw~t6fhWg9T)Cz~y|0P@b|BsaX$#l^ z^ll&$xCER6P6KCwkAY*rL7*5o4D6wI^Lr843G4z2fvvzcU=xrJtOQm8dB9TOBVaxt zfCa!pfF7hI0!hGQpgH2O5-P75CxfR0Q-HYu&4u@Y4}hG`xO@m?0dD~_0rE@oLvp)d zU>YzH=mvBLWS}R|2j~cNVq#<>8)O=d1{1{oMAj*@7lK$NmA8l`ke>nci-se>et>>i zLBGDBUu3KU)&r}7Wx#Tv6+kbe7XZ1yB49DF1fZA3^MH>4dgY!CR0rstbp~*rp1vPI z1si}hz?+Dq*TO4-JYX3xA7}^E25JIpk&j*#uLjl-2l4@$m!Uu%U?;E(*bLBXVp^qW zrqM4dP69^(dO!OE8=G&;U?h zD2_aoJe555Jzy>{2bcw91OEc3rFVeoz*K zfq0s~}fZ_?XDoz0=1CxL^fOKFQ@FqZuBdRoH0dE7Oe2Q~sL0O|mZ?{Z)n zumo5HkWbJMQfH`xc4cG!~ z1r+l^lD4E>Mb_Jicp5?)PU@^alzR{!1Dv73I*kDJ^e8|kIt&y82Z2Mt5nvENjg#i5 zfKP#Az$d`Rz;WONa1x+8&H&UPNvi*>7CxYHYOg!6kj9@9KLfe}lzAUO+Vlgc6XyWR zOob^A6{dJv_h`|i#giIs1zZCj0rvq?=pJwvpw4;$-vczfw}J0~%r9}d3VZ=v1}*@X zfQ!Ht;B!E`i+o9G)X2BMEr1#$egn7;dbw$1s?$DK&G-h zJp>^$5~x?TfNId{8DuH&6YvCh4EzH83j7Q_)wlt989+n#0{9*H4IpQJ4p90_h)R$~ zpfX?rBnCGxLV`Vr4KNL1N}xD`9m2LiRe%affP*F-A*%p2kk1*?2_O^GRzus;A#rRR z3#w8VK{B8Vq}V!<1&O}NOvfVxeCN(Cvt4d4yX2Ioak3zaSM zbXP%MNH?s3fDOU{kaX8UcOTB+ZKw>O>_mMsX%DRgN_tX%s5tF=dXdfuM*y7w2c*%B ziC(n@VX|rmARM5LpUN7MuPzXVFm3Yf0m@5zGnMZOX!ZL2rDEz(MHSN>Qa8X)l)S;* zn7?=c5l!8t?(_plYZ;&#dH|#`m7qL&m}=<>(CQNj*$1eCaBoOENGfX&*-OMsW*z~( zwCKK&tr1ODqGT#gX;iE~Fcug9lo{5;W(=sfFqsXg>V(V*Q$X?QcBrsjI%~-2j+Q=R zUD4B|=XW|}&(Z(oj-^3U7nntl@5357}h*)1F zy@?FoqQ-XSRLR%3oya3zR+YR-VGY+qXcc>8pyER!JOfde#X%AlF@eNkfqYK&{0;g^ zLN{NW-qgb1aRK`1>+R?5ixo{RpyqV*G3fu^e{cTH(e38WcdpKc1$g^H8}TTES!>+iYieNNsjnBu#@E?}_)Pv9|0Nkpz{+m(y5pbgxw=qO!#BOy&}xpAoe4 z<^9JFt|yz?Fn@19e{X+mo)||D)ET+(;luXJOJ0sOe*gL6!p1f3mgg8R+GL?$`q@X{b!ck;bEk-- zawS0bd==``1s?UCT4*2QFFcB1ffUpNK0@Y3(3R zWie-W{fMTwf*|jlCj%{l#k#f zF?~A5I$JCvu~3xkW3}x3e7ys(8H=-s3((Ix3ha4mSKfy^rr0naZ#9E{8j?@Pg~JPN ztHH8*$}LgvEvTp;pOkI0F=2R(c9Y99=*KeH*D$x*&E}mdPjRm$65oP~KDCrD^jXf& zp857W85m!lBchgAjvN8XaZMQct20J*@tyw#p1JAG>jyfutl6S1n|&*H{W5S-1Ot6T#n~R z*Jf_nfE;bH0JX(Uv3ULt){{xX_g@gxMLdL?ek|4?*KQ>qkG7-lSlN7NW!oy|=Acje zh3`C8mzLI##Z`*9C|EYcb>Wtc`4v-N^vz~|Zu;?DhpOIQ*L8awjSa1km_%t}2{N*2 zq6EdX{Lb$B@m|66z2-GMQWNb?^YK>3QmxTBU|a*`n^IQv!H1^BUp;7{)adISgxgM} zVBgA$ioDQk=;ISNwLZfLpNXVdXe6SM$ezXg*m$uQluZ>EXR%)H`axZ7)|wA}H*;hL zia}Ab9cwDg@3Nk(K+Jv@`SV4G*{rrGdY5^)>xXYGnAiU3h24XlQ78br6U?C++*wqa z&1yRAXs&K%Ra=OC^RfCURcJN2h_uE=7;Lc^PVAmY2Qx<16PxB>4(MlXUCD0t!u)!+q$uG}wTp;Wz5T+Y@^u!0kl?~%vjA|99ji)D$eHOrk`xqcUt1UFSl;rhzc+dX)qM0 zb_viAb8A!0exygv_PfYHLyW#uFmZz5pD3#Od4PV1R_)ned_C~gvDGL_!-9G9_cKbJ z5$^i=T=CQHypa-pb1jN$7HIA-s$<#)>gR;{C2oIm@@&Frw(!gmr61~} zS-YVR%~$=*Gjn$2iqheUZz|d-hQKr#$=MmzkzCkMLY{}AdMV=PvC;7O)ALv_ya00h z2y3Q(l-a-RJeT%bxs6QXi-8Ei_e9a>Bev*|K3QM!N#$EvR-b~BHy&Je2~Z4yGWZ84 z(SJT`8~E>LqFVG%Hbl`sPDi5@CVrfcbwS-Hj03`jS%9XB2|_VK$qH;62Ly9vZ;G?D zg*>M4IN`VeD*gScV-+2c!Ke;)9UF|@Br$OTCT(SlSibf*B3XdGIHuBB>%g(IT>uj|37vC*JXSJ=!@ zmGmB{8@3Vq{NhC@trWYX4oltoaCH4VwaM<*b2qbxJ%)8?f+1y!c(52duzp0{y`-ay z2H%eS6d7o_f;a0YXQs~T_F~8CCgjc968E+UT>|%2R}S``NG6smgXY^HX<9CYv$mgaXHRs;8W^mJUO_m@-fI2D9i$_$^ccOSH_7IPy%){6}LbP8B zy(Wm%rI;d0Qd_)6jVWNYZI$IVT~u3!lw)G(GE}agPd8&r{MnWveTuX`W9Pdja+blb zoVtmRm!ZNNqI4NsADSXmw&ainWo&i{-d&)DQ9- zIO6`xXCK5oMg3R_$qg$^!M;py8p$y3hw!}--vYB1)hWE|I&fnszwgZB0dnyu_daSy^>KLXFCX3fL_jjLVI^1(wY z_YnK3k_n)l<;jPZ*vpE{4KFd1mk)Q`(sy8gp^b?baa zcXPqe0i9_SDfXd}G5Udc&lA~}@r@$BKn`srN+OlleObRgo0@QV@H}iUdk{mW)DP9G z*XU;BLsBCeZQ9genWxA>_c?LVM-DHow%lZ7HxW|@F*f~#8T+DJ!+xq&eH|X%YuTl? zjgdJbrZ#e%5EE9xJe$O92yGv&V}iEYmKva+)ptMcwSm{d4n=6nAcubX-^OI$9f=QP zmm;O?2E}nT?*A*)Qt9#E>w=|s$ZGWX?{nmf_fffZ4PU$vdY z7pqwyeXXmxhD8|L4-$jdum*1b>4ykg*JA!)8UJoA^9%ewN?h z%j7|a)1H(UEfw|FVMtw~)y9wKHfnhE$<5cxGlU_f0V@5WPgFwR89(50qORjyseDLt}tpUudHinl4Z zY<91U1M5-0vR>8|57x7KM%ULxl?|+=*&B~l@qMxE#MYt#SyMMx&;PYL>yDKANcsC4 zKHQe3ZNLh(TNH0#t&HBUi-#N70IbfPHnK&=2E)XSjo7R8qb1vZ7(1nS$#Q&KXgy4w zZ2IAoT@MWtQ|q)!L6336Mqf<&4inx5aPq&|bTFlrMZc}vUn?IwT&;Yv*j#|I)(@^M zbUyawxpObRK^s_synTbQ5Z@|*FY3=V^k0P}FF0FmT6RxSomCp4{K_HgnxJQ0Uiu-t z$M5)WoVevH%qM;Prp2hoU3SmedG)K384rxOdCS>^XHl!f_DvWd^%Rb?AFTqivj+w2h52)`}BfZNuiNsMpKbEKZErj(saAPMq7xS{mEOi9_3&v#I?c zda~@hnYq#pU5@x|J8SEzpZ)n}PVsAYhZxl#kucA&=paf71m zE*7ah<7Das%vT?AmOa~49~aceT@L+^F6|WVzh+h5ad6{w#U+&+B<+Ez`dIY892SvX z$a)8?f@4UiE#lIV+;0v#Z`K?f?yDbSn$!4aOaJjpu_MvHkqkb8E+81Su!yV(HuXH5NhQn%IPHhu14OW$Vb`!u$lu2wOuh&h*OisrmUP7yXS z?Xd_VBCVq5UgW`p-y6uw{+(LN4UO`6wyq84jkfqGb!k<)xa)_o9?tB2Gx_@7Vd#yv z)v1q^{VINLsO)vGR#;cyA#yFzelK${>V4Go5!3dvnyg6V>}8KCm_Fw42EMqxGN{wX zO+P-}S`?P=Z=3WTJwWrt6CNLf@?g@1Z4~$RVST9Rk))dMobcF>1^re{by}`iH*L&A z`=+0jS5(m>Nwug{ON`r(rOzGnneHKu+w~P)zE3(_Ubdn~l4@BzlH7-~ZWTR}RC6SX zAJDOYEUog9b$^$tdDMPdUU@~2B-NtIBgtB#?*V4(rXOX$)Xitl`8%<%m6ul@Rl2a- zV)g;t5mxk&Qmw64ZE@%ToCuF3zc|4B92OjcPvSGUSkyhpI$|n`K?kuw92c_=;_kgg zC$at@t55PIWV>gw`UwB(z^SXEHZ*WC^;GX$r#lU-`m(nFS2e(^!+OU;hWEEjYIixi zSgqdNwy@D5yzg;tuf8Mj8b2|u4SviQJ2rV@TB1^+CCp8nZfvw`_Lm%O Ty#7$Yi|(L(3MYKRipTsPbzAd4 From 151ef86a8c76dcd09039dec24399bff54edfeb1d Mon Sep 17 00:00:00 2001 From: awwpotato Date: Thu, 14 Nov 2024 18:16:01 -0800 Subject: [PATCH 30/37] feat: some small styling tweaks --- src/lib/components/Action.svelte | 21 ++++++++++----------- src/lib/components/Timeline.svelte | 2 +- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/src/lib/components/Action.svelte b/src/lib/components/Action.svelte index 39c2254..103f0fb 100644 --- a/src/lib/components/Action.svelte +++ b/src/lib/components/Action.svelte @@ -21,22 +21,21 @@ ); - - - - - - -
{action_data.action} -
- - - - +
+ + + +
From d9869fdb8692d71cb0255f693f5441997127c9ca Mon Sep 17 00:00:00 2001 From: awwpotato Date: Fri, 15 Nov 2024 21:42:30 -0800 Subject: [PATCH 32/37] feat: more updating styling --- src/routes/scout/+page.svelte | 13 ++- src/routes/scout/ActionInputs.svelte | 116 +++++++++++++++------------ 2 files changed, 69 insertions(+), 60 deletions(-) diff --git a/src/routes/scout/+page.svelte b/src/routes/scout/+page.svelte index e3ca2c1..7491f7b 100644 --- a/src/routes/scout/+page.svelte +++ b/src/routes/scout/+page.svelte @@ -1,5 +1,5 @@ -
- Team {team_key} -
- -
+
+ Team {team_key} + + +
+ {#if held_scorables > 0} - + {/if} {#if held_ejectables > 0} - + {/if}
{:else if is_intake_state} -
+
@@ -87,75 +93,79 @@ >
{:else if is_score_state} -
+
{#if held_bunnies > 0} - - - {#if held_totes > 0} +

Score Bunny

+
+ score_bunny('UncontrolledTote')}>Uncontrolled Tote - {/if} - + {#if held_totes > 0} + + {/if} + +
{/if} {#if held_balloons > 0} - - - {#if held_totes > 0} +

Score Ballon

+
+ score_balloon('UncontrolledTote')}>Uncontrolled Tote - {/if} - + {#if held_totes > 0} + + {/if} + +
{/if} - (actionState = 'None')} + >Cancel
{:else if is_eject_state} -
+
+

Eject

{#if held_bunnies > 0} - (actionState = 'EjectBunny')}>Bunny {/if} {#if held_balloons > 0} (actionState = 'EjectBalloon')}>Ballon {/if} {#if held_totes > 0} - (actionState = 'EjectTote')}>Tote {/if} - (actionState = 'None')} + >Cancel
{:else} From 08ef46e0f7b9a50cba3ae02180c7ed22624f9565 Mon Sep 17 00:00:00 2001 From: Azalea Colburn Date: Sat, 16 Nov 2024 19:31:45 -0800 Subject: [PATCH 33/37] fix: success vs. failure logic --- src/routes/scout/ActionInputs.svelte | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/src/routes/scout/ActionInputs.svelte b/src/routes/scout/ActionInputs.svelte index f0a5cbf..8a191c4 100644 --- a/src/routes/scout/ActionInputs.svelte +++ b/src/routes/scout/ActionInputs.svelte @@ -29,15 +29,18 @@ actionState = `ScoreBalloon${where}`; } function complete(success: boolean) { - // Assume that the robot ejects even if they fail to score - if (actionState.includes('IntakeBalloon')) held_balloons++; - else if (actionState.includes('IntakeBunny')) held_bunnies++; - else if (actionState.includes('IntakeTote')) held_totes++; - else if (actionState.includes('ScoreBalloon')) held_balloons--; + // Assume that a failure means a note remains where it is + if (success) { + if (actionState.includes('IntakeBalloon')) held_balloons++; + else if (actionState.includes('IntakeBunny')) held_bunnies++; + else if (actionState.includes('IntakeTote')) held_totes++; + else if (actionState.includes('EjectBalloon')) held_balloons--; + else if (actionState.includes('EjectBunny')) held_bunnies--; + else if (actionState.includes('EjectTote')) held_totes--; + } + // Assume failed scoring is still ejecting + if (actionState.includes('ScoreBalloon')) held_balloons--; else if (actionState.includes('ScoreBunny')) held_bunnies--; - else if (actionState.includes('EjectBalloon')) held_balloons--; - else if (actionState.includes('EjectBunny')) held_bunnies--; - else if (actionState.includes('EjectTote')) held_totes--; const action: AutoActionData = { action: actionState as AutoAction, @@ -61,7 +64,7 @@ >Intake {#if held_scorables > 0} - {/if} @@ -72,7 +75,7 @@ {/if}
{:else if is_intake_state} -
+
From 90c83b8ec69d8c7530b3b99b31b6c4f8acbb6dbc Mon Sep 17 00:00:00 2001 From: Azalea Colburn Date: Sat, 16 Nov 2024 19:57:54 -0800 Subject: [PATCH 34/37] feat: make timeline grow up --- src/routes/scout/ActionInputs.svelte | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/routes/scout/ActionInputs.svelte b/src/routes/scout/ActionInputs.svelte index 8a191c4..58cde21 100644 --- a/src/routes/scout/ActionInputs.svelte +++ b/src/routes/scout/ActionInputs.svelte @@ -9,8 +9,8 @@ let held_bunnies: number = $state(0); let held_balloons: number = $state(0); let held_totes: number = $state(0); - let held_scorables: number = $derived(held_balloons + held_bunnies); - let held_ejectables: number = $derived(held_scorables + held_totes); + const held_scorables: number = $derived(held_balloons + held_bunnies); + const held_ejectables: number = $derived(held_scorables + held_totes); function intake_piece() { actionState = actionState === 'None' ? 'Intake' : actionState; @@ -46,13 +46,13 @@ action: actionState as AutoAction, success: success }; - actions.push(action); + actions.unshift(action); // TODO: Make sure unshift works actionState = 'None'; } - const is_none_state = $derived(actionState === 'None'); - const is_intake_state = $derived(actionState === 'Intake'); - const is_score_state = $derived(actionState === 'Score'); + const is_none_state: boolean = $derived(actionState === 'None'); + const is_intake_state: boolean = $derived(actionState === 'Intake'); + const is_score_state: boolean = $derived(actionState === 'Score'); const is_eject_state = $derived(actionState === 'Eject'); From 0967248849ef4cd8e2466347136942168ccb616b Mon Sep 17 00:00:00 2001 From: awwpotato Date: Sun, 17 Nov 2024 18:46:05 -0800 Subject: [PATCH 35/37] feat: more consistent titles & layout --- src/routes/scout/ActionInputs.svelte | 41 ++++++++++++++-------------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/src/routes/scout/ActionInputs.svelte b/src/routes/scout/ActionInputs.svelte index 58cde21..ff1e920 100644 --- a/src/routes/scout/ActionInputs.svelte +++ b/src/routes/scout/ActionInputs.svelte @@ -57,7 +57,7 @@ Number of pieces currently held: {held_scorables} -
+
{#if is_none_state}
Bunny Tote Balloon From Ground - Ballon From Coral
+ {:else if is_score_state}
{#if held_bunnies > 0}

Score Bunny

-
+
@@ -121,7 +122,7 @@ {/if} {#if held_balloons > 0}

Score Ballon

-
+
@@ -142,13 +143,13 @@
{/if} -
+ {:else if is_eject_state} -
-

Eject

+
+

Eject

{#if held_bunnies > 0} {/if} -
+ {:else} Date: Mon, 18 Nov 2024 02:46:23 +0000 Subject: [PATCH 36/37] style: format files --- src/routes/scout/ActionInputs.svelte | 30 +++++++++++++--------------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/src/routes/scout/ActionInputs.svelte b/src/routes/scout/ActionInputs.svelte index ff1e920..3abfd80 100644 --- a/src/routes/scout/ActionInputs.svelte +++ b/src/routes/scout/ActionInputs.svelte @@ -57,7 +57,7 @@ Number of pieces currently held: {held_scorables} -
+
{#if is_none_state}
(actionState = 'IntakeBalloonCoral')}>Ballon From Coral
- + {:else if is_score_state}
{#if held_bunnies > 0} @@ -144,12 +142,12 @@
{/if}
- + {:else if is_eject_state} -
-

Eject

+
+

Eject

{#if held_bunnies > 0}
- + {:else} Date: Sun, 17 Nov 2024 19:02:50 -0800 Subject: [PATCH 37/37] fix: dont display held pieces --- src/routes/scout/ActionInputs.svelte | 1 - 1 file changed, 1 deletion(-) diff --git a/src/routes/scout/ActionInputs.svelte b/src/routes/scout/ActionInputs.svelte index 3abfd80..a018aba 100644 --- a/src/routes/scout/ActionInputs.svelte +++ b/src/routes/scout/ActionInputs.svelte @@ -56,7 +56,6 @@ const is_eject_state = $derived(actionState === 'Eject'); -Number of pieces currently held: {held_scorables}
{#if is_none_state}