From 668526f369425c0880bce70ce27260b2bda9d9ae Mon Sep 17 00:00:00 2001 From: Azalea Colburn <62953415+azaleacolburn@users.noreply.github.com> Date: Tue, 19 Nov 2024 13:51:31 -0800 Subject: [PATCH] Style Action Input Screen and Timeline (#9) * feat: type model for scouting system * chore: update svelte * feat: add none * refactor: type state model * feat: state transforms * add successfail screen * theme fixes * fix: package.json * fix: formating * fix: dependencies * format thingy * refactor: update types to match new schema * fix: id after clarifying with Brandon * update dep * style: format files * refactor: action input state machine into component * feat: make cancel buttons go back one level * fix: actions display on timeline * feat: piece specific error prevention * feat: ejectables! * fix: name in pkg.json + update dep * style: format files * feat: update colorsceme * feat: timeline popup above contents * feat: better timeline thingy * style: format files * feat: timeline reorder + styling * format: prettier tailwind reorder thingy * style: format files * feat: some small styling tweaks * fix: make successfail work on all screen sizes * feat: more updating styling * fix: success vs. failure logic * feat: make timeline grow up * feat: full-size buttons on ActionInput screen * feat: move page title + styling fixes * fix: better pageName handling * style: format files --------- Co-authored-by: awwpotato Co-authored-by: awwpotato --- .prettierrc | 2 +- bun.lockb | Bin 143503 -> 143922 bytes package.json | 3 + src/lib/components/Action.svelte | 52 ++++--- src/lib/components/SuccessFail.svelte | 30 ++-- src/lib/components/Timeline.svelte | 41 ++++-- src/routes/+layout.svelte | 2 +- src/routes/+page.svelte | 7 +- src/routes/scout/+page.svelte | 37 +++-- src/routes/scout/ActionInputs.svelte | 196 ++++++++++++++------------ tailwind.config.js | 19 ++- 11 files changed, 228 insertions(+), 161 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/bun.lockb b/bun.lockb index 776ad14f57fa27a8301a4d223a6a9a144e60317e..a0825cf2599131342ac1e9ef7a237a566a7d2f57 100755 GIT binary patch delta 26572 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 c!u1BU+uwM3-&T^e|on`Kc)2-JX z=Uj7~>)$kZ>+Y@Nvuta|NPjess25V>c676go7;GLojDn|rp=z>Mz5MnI{FNoXRVvl zDv`-Vc~sTua!1=UZNw5YY@=-{nHlM+$;qSAbh=07bh_F|KL=@qEQIucT&BiPhI9u{ zgscPE3bG+&eMm1z2Q~g0YHt9(AF_T90xJ=y3z?_N1V}2N9VAuct;SbU`D3)$6YAr0U| zY_>E%dxkFE75!fY5q1-$o@!2TXI7o8$sGL{Dvl{4%R)wIFOzn z;?e85_Ms`M>F}QVDo?bh4Do~WG=bw#x>1#Be#xl`@tL-?9KU4y2z#c^hyf>s>c~hI zYyhW%6O-dJGi^h3!);lk$)Y}R6w)gPJ!+^eV^pR+IRj%na+EDSOV`6o$!E(*OShpR zk1)P81g8;C2F53(rc>8wGUqxJ$g-yO6@@e4H0DEWgGUX8;)o19@HvWjs`%|BdqNVp zJ;OGJrb%zOGBv~(t`2v|O^eS=@Af z8!Ii2A2u55I^7&_npR^WsUf4%?S8}1h_q2DSqZ5_Y}?Qf@|6{8L-QbMwq!z51HSWC zq?SHd)$a{SJsJl|J>1ZTdL~DgJ1oO5D}F?>EVDMSs^oYn5HOxtsiG_7U5ChcBjn$uh zAl*J9Jw8#VlRXYSeWivL2H7zDQ*yKaGZwFEX<-04b1UF&0x> zMuJZF0Had_d=?~CD7y*rTmh#ZJOf!7_2(X<0A#u?BQ<%nP4_%TX~+XevivF}rDGDL zzMZ1e1+`LKYQCDDM&pG~E;zZ;cD1~GNNV5;NGj*|)=ItwDyN3IP|FgMQit1z#HT-R zqg2%44Su&motzKbD&?iw)3MlO=tg8yEjrz#c1pRKNwyTKdbr9*Lz1g=2$-BZKKj*#y5kM9@+%i80vtWEeU>3Jx4>G zZX2UJl)(Es)oD6zh+?G`$>a%bAgS#`Y@_3oN7-}XG&OLPe zVVk$Jw^a4QvpGWwS6+Xt$q%|#(R;sNtKhE3ls&_Xs@aCW3_i6u>+z2B-$(D6FsOY( z#ro5GUcC15)JE@M=S940O>eK=v$HM~KiKNJ@KehNj;15e1`aijzxDR=O~>#4_QR7| ztIlz+O5TpT#C=EZ&mDP*kE!YH`18VRL&M))=(cTT&GV9^V?5hvmXa7RgxJJ*vC*t| zcF^hG;xCL5`Xq$<$f1J>_2e(=L^|lT#E}TSDJLF5sJ|SlR~{?09GZbpyd3%&Atg1g z0`?&}ZWBT_IaJe8ryIzl>P9-q0jl*Ygp>@;;ap1n(-0acXSh`o7XxpxQk*25c(}V+ z`pStH)-&t9;Q6h1lrh3E7$Gdzxs2!a31t;|c73z{XT+KK_=b^m0PW28){oGKV`_Gk zLsLsaUzLRFVBb?xhauEK*4vIy9FJ-e=^zKFkT#hAadP6UlF+%5kP-7hNgYxW`lKZE zD?)9Rrc~ELxh0{`J=I?UFSa zN_X_+g@}y92^i}O#wWI!Nh&1l3m39AuWJvhp(92o_qRc@vECp_v{gLz6m6KAp^LVAKhYa=rqv zNH7PU7Zb|r@azDy)U+-y3@{sp;H*GRDJM65bzL4FXg1tNB$bRV^fMXicqxqWgWW?N zL8vG_kM%SemVnVXIDyGYok37bQjD^04$3q8#GPZ80AzvvL@h(HYV97)d* zRA1?A2f4sxu�$)E9fef|L^Ln+y-Ynt`EJfhL1T1Et{=9R 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 NS;c}6U8UI`{|`F6;feqN diff --git a/package.json b/package.json index 62d2359..e1f49f0 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": { + "lucide-svelte": "^0.456.0" } } diff --git a/src/lib/components/Action.svelte b/src/lib/components/Action.svelte index 1a5a1be..103f0fb 100644 --- a/src/lib/components/Action.svelte +++ b/src/lib/components/Action.svelte @@ -1,25 +1,45 @@ - - - - - - - - + {action_data.action} +
+ + + +
+ diff --git a/src/lib/components/SuccessFail.svelte b/src/lib/components/SuccessFail.svelte index 007da5b..a2ffa60 100644 --- a/src/lib/components/SuccessFail.svelte +++ b/src/lib/components/SuccessFail.svelte @@ -3,19 +3,21 @@ $props(); -
- - - +
+ + + +
diff --git a/src/lib/components/Timeline.svelte b/src/lib/components/Timeline.svelte index de4c097..769a74d 100644 --- a/src/lib/components/Timeline.svelte +++ b/src/lib/components/Timeline.svelte @@ -2,15 +2,38 @@ import type { AutoActionData } from '$lib/types'; import Action from './Action.svelte'; - let { actions = $bindable() }: { actions: AutoActionData[] } = $props(); + let { + actions = $bindable(), + 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); + }; -{#each actions as _, i} - { - actions.splice(actions.indexOf(actions[i]), 1); - }} - /> -{/each} + 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..cfde746 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..7e480ec 100644 --- a/src/routes/scout/+page.svelte +++ b/src/routes/scout/+page.svelte @@ -1,5 +1,5 @@ -
-

Team {team_key}

- {#if timelineExtended} -
- -
- - {:else} -
- -
+
+
+ Team {team_key} + {pageName} +
- - {/if} + + + +
diff --git a/src/routes/scout/ActionInputs.svelte b/src/routes/scout/ActionInputs.svelte index eadb514..407d974 100644 --- a/src/routes/scout/ActionInputs.svelte +++ b/src/routes/scout/ActionInputs.svelte @@ -1,16 +1,20 @@ -

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} -
- - + - (actionState = 'IntakeTote')} + >Tote - (actionState = 'IntakeBalloon')} + >Balloon: Ground (actionState = 'IntakeBalloonCoral')}>Ballon: Coral
+ {:else if is_score_state} -
+
{#if held_bunnies > 0} - - - {#if held_totes > 0} - - {/if} - +
+

Bunny

+
+ + + {#if held_totes > 0} + + {/if} + +
+
{/if} {#if held_balloons > 0} - - - {#if held_totes > 0} - - {/if} - +
+

Ballon

+
+ + + {#if held_totes > 0} + + {/if} + +
+
{/if} - (actionState = 'None')} + >Cancel
{:else if is_eject_state} -
+
{#if held_bunnies > 0} - (actionState = 'EjectBunny')}>Bunny {/if} {#if held_balloons > 0} (actionState = 'EjectBalloon')}>Ballon {/if} {#if held_totes > 0} - (actionState = 'EjectTote')}>Tote {/if} -
+ {:else}