import { createRouter, Todo } from "@<@var(context.project.name)>/rpc" import { useEffect, useState } from "react" import { ScrollView, Button, Checkbox, Host, Column, TextInput, Text, useNativeState, Row, Icon } from "@expo/ui"; import * as Crypto from "expo-crypto" import { colorInvert, controlSize } from "@expo/ui/swift-ui/modifiers"; import { fillMaxWidth, padding, width } from "@expo/ui/jetpack-compose/modifiers"; export default function Index() { const router = createRouter("http://10.0.2.2:8080") const [todos, setTodos] = useState>([]) const todoToCreateTask = useNativeState("") const fetchTodos = () => { router.todos.listTodos({}).then((r) => { setTodos(r.todos) }) } useEffect(() => { fetchTodos(); }) const setTodoDone = (id: string, task: string) => { return (done: boolean) => { router.todos.updateTodo({ todo: { id, task, done } }) fetchTodos() } } const deleteTodo = (id: string) => { return () => { router.todos.deleteTodo({ todo: { id } }) fetchTodos() } } const createTodo = () => { router.todos.createTodo({ todo: { id: Crypto.randomUUID(), task: todoToCreateTask.value } }).then((r) => { console.log(r) fetchTodos() }).catch((e) => { console.log(e) }) } const updateTodoToCreateTask = (task: string) => { todoToCreateTask.value = task } return ( create todo