diff --git a/packages/webui/package.json b/packages/webui/package.json index 1da50bf..b47c5c7 100644 --- a/packages/webui/package.json +++ b/packages/webui/package.json @@ -10,6 +10,10 @@ }, "dependencies": { "@effect/schema": "^0.68.17", + "@emotion/react": "^11.11.4", + "@emotion/styled": "^11.11.5", + "@mui/icons-material": "^5.16.1", + "@mui/material": "^5.16.1", "@tanstack/react-query": "4", "@tanstack/react-router": "^1.44.2", "@thilawyn/thilalib": "^0.1.5", diff --git a/packages/webui/src/routes/index.lazy.tsx b/packages/webui/src/routes/index.lazy.tsx index 02682ee..1aad391 100644 --- a/packages/webui/src/routes/index.lazy.tsx +++ b/packages/webui/src/routes/index.lazy.tsx @@ -31,6 +31,7 @@ export const Index = observer(() => { } }) + return (
{todos.map(todo => ( diff --git a/packages/webui/src/todo/VTodo.tsx b/packages/webui/src/todo/VTodo.tsx index f0e0217..076b788 100644 --- a/packages/webui/src/todo/VTodo.tsx +++ b/packages/webui/src/todo/VTodo.tsx @@ -1,6 +1,15 @@ +import { Schema as S } from "@effect/schema" +import { ArrowUpward } from "@mui/icons-material" +import { JsonifiableTodo } from "@todo-tests/common/data" import { observer } from "mobx-react-lite" -import { Card } from "primereact/card" +import { Button } from "primereact/button" import { Todo } from "../data" +import { trpc } from "../trpc/trpc" + + +const encodeTodo = S.encodeSync( + JsonifiableTodo.pipe(S.compose(Todo)) +) export interface VTodoProps { @@ -10,10 +19,24 @@ export interface VTodoProps { export const VTodo = observer(({ todo }: VTodoProps) => { + const updateTodo = trpc.todos.update.useMutation() + + return ( - +

{todo.content}

- + +
+
+
) })