ServerTime
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import { Schema as S } from "@effect/schema"
|
||||
import { createLazyFileRoute } from "@tanstack/react-router"
|
||||
import { ServerTime } from "@todo-tests/common/data"
|
||||
import { Option, flow, identity } from "effect"
|
||||
import { type IObservableArray, observable } from "mobx"
|
||||
import { observer } from "mobx-react-lite"
|
||||
@@ -9,6 +10,8 @@ import { VTodo } from "../todo/VTodo"
|
||||
import { trpc } from "../trpc/trpc"
|
||||
|
||||
|
||||
const decodeServerTime = S.decodeSync(ServerTime)
|
||||
|
||||
const decodeTodos = flow(
|
||||
S.decodeSync(
|
||||
S.mutable(S.Array(JsonifiableTodo))
|
||||
@@ -19,10 +22,10 @@ const decodeTodos = flow(
|
||||
|
||||
export const Index = observer(() => {
|
||||
|
||||
const [serverTime, setServerTime] = useState("")
|
||||
const [serverTime, setServerTime] = useState(new Date())
|
||||
|
||||
trpc.serverTime.useSubscription(undefined, {
|
||||
onData: setServerTime
|
||||
onData: flow(decodeServerTime, setServerTime)
|
||||
})
|
||||
|
||||
|
||||
@@ -35,7 +38,7 @@ export const Index = observer(() => {
|
||||
|
||||
return (
|
||||
<div className="flex flex-col gap-1 items-stretch">
|
||||
<p className="text-center">{serverTime}</p>
|
||||
<p className="text-center">{serverTime.toString()}</p>
|
||||
|
||||
{todos.map(todo => (
|
||||
<VTodo
|
||||
|
||||
Reference in New Issue
Block a user