From b0750c82d9e277cc1b2a41d4cff97cb4daa3f73a Mon Sep 17 00:00:00 2001 From: Drew Galbraith Date: Sat, 27 Sep 2025 01:46:13 -0700 Subject: [PATCH] Fix typecheck. --- .forgejo/workflows/ci.yml | 2 +- frontend/app/components/TaskForm.tsx | 7 +++---- frontend/app/routes/home.test.tsx | 26 ++++++++++++++++++++++++-- 3 files changed, 28 insertions(+), 7 deletions(-) diff --git a/.forgejo/workflows/ci.yml b/.forgejo/workflows/ci.yml index 3207491..8dc5c5a 100644 --- a/.forgejo/workflows/ci.yml +++ b/.forgejo/workflows/ci.yml @@ -74,7 +74,7 @@ jobs: working-directory: frontend - name: Typecheck - run: npm run typecheck || echo "Failed" + run: npm run typecheck working-directory: frontend - name: Test diff --git a/frontend/app/components/TaskForm.tsx b/frontend/app/components/TaskForm.tsx index 8da2698..74692b2 100644 --- a/frontend/app/components/TaskForm.tsx +++ b/frontend/app/components/TaskForm.tsx @@ -10,6 +10,7 @@ import { Paper, Typography, Alert, + type SelectChangeEvent, } from '@mui/material' import { useNavigate } from 'react-router' import type { CreateTaskRequest, Task } from '~/types/task' @@ -134,12 +135,10 @@ export function TaskForm({ } } - const handleStatusChange = ( - e: React.ChangeEvent<{ name?: string; value: unknown }> - ) => { + const handleStatusChange = (event: SelectChangeEvent) => { setFormData(prev => ({ ...prev, - status: e.target.value as TaskStatus, + status: event.target.value as TaskStatus, })) } diff --git a/frontend/app/routes/home.test.tsx b/frontend/app/routes/home.test.tsx index 3c7ed84..f4fd844 100644 --- a/frontend/app/routes/home.test.tsx +++ b/frontend/app/routes/home.test.tsx @@ -2,13 +2,35 @@ import { render, screen } from '@testing-library/react' import { describe, it, expect } from 'vitest' import { MemoryRouter } from 'react-router' import Home from './home' +import type { Route } from './+types/home' describe('Home component', () => { it('should render task management interface', () => { - const mockLoaderData = { tasks: [] } + const mockComponentProps: Route.ComponentProps = { + loaderData: { tasks: [] }, + params: {}, + matches: [ + { + id: 'root', + params: {}, + pathname: '/', + data: undefined, + loaderData: undefined, + handle: undefined, + }, + { + id: 'routes/home', + params: {}, + pathname: '/', + data: { tasks: [] }, + loaderData: { tasks: [] }, + handle: undefined, + }, + ], + } render( - + ) expect(