import { Todo } from "@/domain" import { Box, Button, Card, Flex, TextArea } from "@radix-ui/themes" import { Effect, Option, SubscriptionRef } from "effect" import { R } from "../reffuse" import { TodosState } from "../services" const createEmptyTodo = Todo.generateUniqueID.pipe( Effect.map(id => Todo.Todo.make({ id, content: "", completedAt: Option.none(), }, true)) ) export function VNewTodo() { const runSync = R.useRunSync() const todoRef = R.useMemo(() => createEmptyTodo.pipe(Effect.flatMap(SubscriptionRef.make)), []) const [todo, setTodo] = R.useRefState(todoRef) return (