Create a frontend wireframe. (#7)

Sets up API methods and types.
Sets up a colorscheme.
Sets up a homepage.

Removes tailwind in favor of mui for now.

Reviewed-on: #7
Co-authored-by: Drew Galbraith <drew@tiramisu.one>
Co-committed-by: Drew Galbraith <drew@tiramisu.one>
This commit is contained in:
Drew 2025-09-23 04:08:45 +00:00 committed by Drew
parent 7d2b7fc90c
commit d60d834f38
27 changed files with 3114 additions and 977 deletions

View file

@ -3,8 +3,14 @@ import { describe, it, expect } from 'vitest'
import Home from './home'
describe('Home component', () => {
it('should render welcome component', () => {
it('should render task management interface', () => {
render(<Home />)
expect(screen.getByText(/React Router/i)).toBeInTheDocument()
expect(screen.getByText(/Tasks/i)).toBeInTheDocument()
expect(
screen.getByText(/GTD-inspired task management system/i)
).toBeInTheDocument()
expect(
screen.getByText(/Task Management Interface Coming Soon/i)
).toBeInTheDocument()
})
})

View file

@ -1,13 +1,44 @@
import type { Route } from './+types/home'
import { Welcome } from '../welcome/welcome'
import { Box, Typography, Container } from '@mui/material'
export function meta(_: Route.MetaArgs) {
return [
{ title: 'New React Router App' },
{ name: 'description', content: 'Welcome to React Router!' },
{ title: "Captain's Log - Tasks" },
{ name: 'description', content: 'GTD-inspired task management system' },
]
}
export default function Home() {
return <Welcome />
return (
<Container maxWidth="lg">
<Box sx={{ py: 4 }}>
<Typography variant="h1" component="h1" gutterBottom>
Tasks
</Typography>
<Typography variant="body1" color="text.secondary" sx={{ mb: 4 }}>
Your GTD-inspired task management system. Capture everything, see only
what matters.
</Typography>
<Box
sx={{
p: 4,
textAlign: 'center',
color: 'text.secondary',
border: '2px dashed',
borderColor: 'grey.300',
borderRadius: 2,
}}
>
<Typography variant="h6" gutterBottom>
Task Management Interface Coming Soon
</Typography>
<Typography variant="body2">
The task list, task cards, and quick capture components will be
implemented in the next phase.
</Typography>
</Box>
</Box>
</Container>
)
}