From 986e35ecc75a5c2f2362a91cb66e14e21c17edc3 Mon Sep 17 00:00:00 2001 From: Dominic Zimmer Date: Wed, 27 Mar 2024 16:34:00 +0100 Subject: [PATCH] Implement CS bingo --- public/index.html | 4 +- public/manifest.json | 4 +- src/App.css | 84 ++++++++++++++++++++---------- src/App.tsx | 118 ++++++++++++++++++++++++++++++++++++------- src/cs_regular.ttf | Bin 0 -> 51896 bytes src/prompts.ts | 40 +++++++++++++++ 6 files changed, 202 insertions(+), 48 deletions(-) create mode 100644 src/cs_regular.ttf create mode 100644 src/prompts.ts diff --git a/public/index.html b/public/index.html index aa069f2..1c01e35 100644 --- a/public/index.html +++ b/public/index.html @@ -7,7 +7,7 @@ - React App + CS Tournament Bingo diff --git a/public/manifest.json b/public/manifest.json index 080d6c7..6bb3093 100644 --- a/public/manifest.json +++ b/public/manifest.json @@ -1,6 +1,6 @@ { - "short_name": "React App", - "name": "Create React App Sample", + "short_name": "CS Tournament Bingo", + "name": "CS Copenhagen Major Bingo", "icons": [ { "src": "favicon.ico", diff --git a/src/App.css b/src/App.css index 74b5e05..716ce02 100644 --- a/src/App.css +++ b/src/App.css @@ -1,38 +1,70 @@ -.App { - text-align: center; +@font-face { + font-family: "cs_regular"; + src: url(./cs_regular.ttf) format("ttf"); + font-weight: normal; + font-style: normal; } - -.App-logo { - height: 40vmin; - pointer-events: none; +h1, span { + user-select: none; } - -@media (prefers-reduced-motion: no-preference) { - .App-logo { - animation: App-logo-spin infinite 20s linear; - } -} - -.App-header { - background-color: #282c34; - min-height: 100vh; +.container { + padding: 5px; display: flex; flex-direction: column; align-items: center; - justify-content: center; - font-size: calc(10px + 2vmin); + margin: auto; +} +.bingo-board { + width: 100%; + display: grid; + grid-template-columns: repeat(5, 1fr); + gap: 3px; +} +.bingo-board > div { + width: 100%; +} +.bingo-board > div > div { + background: #E48720; + display: grid; + border-radius: .5rem; + aspect-ratio: 1; +} +.bingo-board div span { + font-size: 3.5rem; + place-self: center; color: white; } - -.App-link { - color: #61dafb; +.legend { + display: grid; + grid-template-columns: auto 1fr; + column-gap: 1rem; +} +.legend .header span { + font-weight: bold; +} +div.highlighted { + animation: fadeinout 1s linear; +} +div > div.begone { + animation: disappear 1s forwards; } -@keyframes App-logo-spin { - from { - transform: rotate(0deg); +@keyframes fadeinout { + 0% { + background-color: white; } - to { - transform: rotate(360deg); + 50% { + background-color: yellow; + } + 100% { + background-color: white; + } +} +@keyframes disappear { + 0% { + transform: scale(1) rotate(0deg); + } + 100% { + transform: scale(0) rotate(720deg); } } diff --git a/src/App.tsx b/src/App.tsx index a53698a..c990485 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,24 +1,106 @@ -import React from 'react'; -import logo from './logo.svg'; +import React, { Fragment, useEffect, useState } from 'react'; import './App.css'; -function App() { +import {prompts} from './prompts'; + +const alphabet = "ABCDEFGHIKLMNOPQRSTUVWXYZ"; +const lskey_prompts = "cs_bingo_prompts"; +const lskey_ticked = "cs_bingo_ticked"; + +const shuffle = (array: T[]): T[] => { + return array + .map((item) => ({ key: Math.random(), value: item })) + .sort((a, b) => b.key - a.key) + .map((item) => item.value); + } + +const App: React.FC<{}> = () => { + const [resetCounter, setResetCounter] = useState(0); + const [lines, setLines] = useState<[string,string][]>([]); + const saveLines = (lines: [string,string][]) => { + localStorage.setItem(lskey_prompts, JSON.stringify(lines)); + }; + const saveTicks = (lines: boolean[]) => { + localStorage.setItem(lskey_ticked, JSON.stringify(lines)); + }; + const [highlighted, setHighlighted] = useState(null); + const highlight = (index: number) => { + setHighlighted(index); + setTimeout(() => setHighlighted(null), 800); + document.getElementById("letter-" + alphabet[index])?.scrollIntoView(); + }; + useEffect(() => { + console.log("no lines"); + if (lines.length !== 0) return; + const loadLines = localStorage.getItem(lskey_prompts); + const loadTicks = localStorage.getItem(lskey_ticked); + if (loadLines === null || loadTicks === null) { + const newPrompts = shuffle(prompts).slice(0, 25) + const newTicks = new Array(25).fill(false); + setLines(newPrompts); + setTicked(newTicks); + saveLines(newPrompts); + saveTicks(newTicks); + } else { + setLines(JSON.parse(loadLines)); + setTicked(JSON.parse(loadTicks)); + } + }, [lines]) + + const [ticked, setTicked] = useState(new Array(25).fill(false) ); + const toggleField = (index: number) => { + console.log("ticking", index); + setTicked((old) => { + const newTicks = old.map((e, i) => i === index ? !e : e); + saveTicks(newTicks); + return newTicks; + }); + }; + const incCounter = () => { + setResetCounter((old) => { + if (old === 15) { + const newPrompts = shuffle(prompts).slice(0, 25) + const newTicked = new Array(25).fill(false) ; + setLines(newPrompts); + setTicked(newTicked); + saveLines(newPrompts); + saveTicks(newTicked) + } + return old + 1; + }); + } + return ( -
-
- logo -

- Edit src/App.tsx and save to reload. -

- - Learn React - -
+
+

CS Bingo

+
+ {Array.from(alphabet).map((e, index) => +
+
highlight(index)} onContextMenu={(e) => {e.preventDefault(); toggleField(index);}}> + {e} +
+
+ )} +
+
+
+
+ Letter +
+
+ Goal +
+ {lines.map(([category, line], index)=> + +
+ {alphabet[index]} +
+
+ {line} +
+
+ )} +
); } diff --git a/src/cs_regular.ttf b/src/cs_regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..b036253e079448ecb669f0ab8391cb73d777d2d1 GIT binary patch literal 51896 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 literal 0 HcmV?d00001 diff --git a/src/prompts.ts b/src/prompts.ts new file mode 100644 index 0000000..5dde8d3 --- /dev/null +++ b/src/prompts.ts @@ -0,0 +1,40 @@ +type Categories = "kills" | "rounds" | "fails" | "epic" | "meta" | "unexpected"; +export const prompts: [Categories, string][] = [ + ["kills", "Zeus Kill"], + ["kills", "Knife Kill"], + ["kills", "Team Kill"], + ["kills", "HE Kill"], + ["kills", "Molotov Kill"], + ["rounds", "9 rounds in a row"], + ["rounds", "10 rounds in one half"], + ["fails", "Ninja Defuse"], + ["fails", "Eco win vs Full Buy"], + ["fails", "Trigger discipline moment"], + ["fails", "Knife try"], + ["fails", "Underestimated bomb radius"], + ["fails", "T dies after time"], + ["fails", "4:3 Moment"], + ["fails", "CT forgot defuser"], + ["fails", "CS2 is bug free"], + ["fails", "Death while throwing util"], + ["fails", "#Chicken Moment"], + ["epic", "Ace"], + ["epic", "IGL > 15 kills"], + ["epic", "30 bomb"], + ["epic", "AWP Collat"], + ["epic", "Clutch 1v3"], + ["epic", "Clutch 2v5"], + ["epic", "Get down Mr. President!"], + ["meta", "Inferno picked"], + ["meta", "Double OT"], + ["meta", "Rush B Blyat"], + ["meta", "5 CTs save"], + ["unexpected", "Ladder kill"], + ["unexpected", "Kill while flashed"], + ["unexpected", "AWP noscope"], + ["unexpected", "Tech Timeout"], + ["unexpected", "Player hiding in smoke"], + ["unexpected", "150 damage with 1 HE"], +] + +export default {};