diff --git a/packages/example/src/todo/Todo.tsx b/packages/example/src/todo/Todo.tsx index 04606e4..95e7469 100644 --- a/packages/example/src/todo/Todo.tsx +++ b/packages/example/src/todo/Todo.tsx @@ -1,6 +1,6 @@ import { Box, Button, Flex, IconButton } from "@radix-ui/themes" import { GetRandomValues, makeUuid4 } from "@typed/id" -import { Chunk, Effect, Match, Option, Ref, Runtime, Schema, Stream } from "effect" +import { Chunk, type DateTime, Effect, Match, Option, Ref, Schema, Stream } from "effect" import { Component, Form, Subscribable } from "effect-fc" import { FaArrowDown, FaArrowUp } from "react-icons/fa" import { FaDeleteLeft } from "react-icons/fa6" @@ -31,7 +31,6 @@ export type TodoProps = ( ) export class Todo extends Component.makeUntraced("Todo")(function*(props: TodoProps) { - const runtime = yield* Effect.runtime() const state = yield* TodosState const [ @@ -83,7 +82,9 @@ export class Todo extends Component.makeUntraced("Todo")(function*(props: TodoPr state.sizeSubscribable, form.canSubmitSubscribable, ]) - const submit = yield* Form.useSubmit(form) + + const runSync = yield* Component.useRunSync() + const runPromise = yield* Component.useRunPromise() const TextFieldFormInputFC = yield* TextFieldFormInput @@ -102,7 +103,7 @@ export class Todo extends Component.makeUntraced("Todo")(function*(props: TodoPr /> {props._tag === "new" && - } @@ -114,19 +115,19 @@ export class Todo extends Component.makeUntraced("Todo")(function*(props: TodoPr Runtime.runSync(runtime)(state.moveLeft(props.id))} + onClick={() => runSync(state.moveLeft(props.id))} > = size - 1} - onClick={() => Runtime.runSync(runtime)(state.moveRight(props.id))} + onClick={() => runSync(state.moveRight(props.id))} > - Runtime.runSync(runtime)(state.remove(props.id))}> + runSync(state.remove(props.id))}>