feat: budget crud actions
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
import { createCliRenderer } from "@opentui/core";
|
||||
import { createRoot, useKeyboard } from "@opentui/react";
|
||||
import { createRoot, useKeyboard, useRenderer } from "@opentui/react";
|
||||
import { App, type Route } from "@money/ui";
|
||||
import { ZeroProvider } from "@rocicorp/zero/react";
|
||||
import { schema } from "@money/shared";
|
||||
import { schema, createMutators } from "@money/shared";
|
||||
import { useState } from "react";
|
||||
import { AuthClientLayer, getAuth } from "./auth";
|
||||
import { Effect } from "effect";
|
||||
@@ -13,24 +13,14 @@ import { config } from "./config";
|
||||
|
||||
function Main({ auth }: { auth: AuthData }) {
|
||||
const [route, setRoute] = useState<Route>("/");
|
||||
const renderer = useRenderer();
|
||||
|
||||
useKeyboard((key) => {
|
||||
if (key.name == "c" && key.ctrl) process.exit(0);
|
||||
if (key.name == "i" && key.meta) renderer.console.toggle();
|
||||
});
|
||||
|
||||
return (
|
||||
<ZeroProvider
|
||||
{...{
|
||||
userID: auth.user.id,
|
||||
auth: auth.session.token,
|
||||
server: config.zeroUrl,
|
||||
schema,
|
||||
kvStore,
|
||||
}}
|
||||
>
|
||||
<App auth={auth} route={route} setRoute={setRoute} />
|
||||
</ZeroProvider>
|
||||
);
|
||||
return <App auth={auth} route={route} setRoute={setRoute} />;
|
||||
}
|
||||
|
||||
const auth = await Effect.runPromise(
|
||||
@@ -40,4 +30,17 @@ const auth = await Effect.runPromise(
|
||||
),
|
||||
);
|
||||
const renderer = await createCliRenderer({ exitOnCtrlC: false });
|
||||
createRoot(renderer).render(<Main auth={auth} />);
|
||||
createRoot(renderer).render(
|
||||
<ZeroProvider
|
||||
{...{
|
||||
userID: auth.user.id,
|
||||
auth: auth.session.token,
|
||||
server: config.zeroUrl,
|
||||
schema,
|
||||
mutators: createMutators(auth),
|
||||
kvStore,
|
||||
}}
|
||||
>
|
||||
<Main auth={auth} />
|
||||
</ZeroProvider>,
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user