diff --git a/.github/workflows/ts-check.yml b/.github/workflows/ts-check.yml
new file mode 100644
index 0000000000..0e30bd2d89
--- /dev/null
+++ b/.github/workflows/ts-check.yml
@@ -0,0 +1,26 @@
+name: TypeScript Check
+
+on:
+ pull_request:
+ types: [opened, reopened, edited]
+
+jobs:
+ # Test job
+ build:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout Code
+ uses: actions/checkout@v3
+
+ - name: Install Node
+ uses: actions/setup-node@v3
+ with:
+ node-version: 20.x
+
+ - name: Install Dependencies
+ run: |
+ yarn install
+
+ - name: Build Project
+ run: |
+ yarn tsc --noEmit
diff --git a/package.json b/package.json
index 031c757a89..e17a9fe92d 100644
--- a/package.json
+++ b/package.json
@@ -52,6 +52,7 @@
"@types/esprima": "^4.0.3",
"@types/grecaptcha": "^3.0.4",
"@types/js-beautify": "^1.14.3",
+ "@types/node-statsd": "^0.1.6",
"@types/three": "^0.149.0",
"@types/throttle-debounce": "^5.0.0",
"@types/w3c-web-serial": "^1.0.3"
diff --git a/src/components/big-interactive-pages/login.tsx b/src/components/big-interactive-pages/login.tsx
index 65fed7e151..b544a43ceb 100644
--- a/src/components/big-interactive-pages/login.tsx
+++ b/src/components/big-interactive-pages/login.tsx
@@ -36,11 +36,11 @@ export default function Login({ session, email, to }: LoginProps) {
Log In to Sprig
{auth.stage.value === 'EMAIL' ? (<>
Please enter your email address below. We'll send you a code to access all your games.
-
+
-
+ undefined} value={auth.email.value} type='email' id='email' autoComplete='email' placeholder='fiona@hackclub.com' bind={auth.email} />
{auth.state.value === 'EMAIL_INCORRECT' && Failed sending login code. Did you enter the right email?
}
-
+
@@ -54,9 +54,9 @@ export default function Login({ session, email, to }: LoginProps) {
-
+
-
+ undefined} value={auth.code.value} id='code' type='text' maxLength={6} placeholder='123456' bind={auth.code} />
{auth.state.value === 'CODE_INCORRECT' && Incorrect login code.
}