add solid

This commit is contained in:
Aman Varshney
2025-05-05 09:51:33 +05:30
parent e9f63be765
commit 4f89b8bc15
41 changed files with 1362 additions and 207 deletions

View File

@@ -0,0 +1,38 @@
import { authClient } from "@/lib/auth-client";
import { orpc } from "@/utils/orpc";
import { useQuery } from "@tanstack/solid-query";
import { createFileRoute } from "@tanstack/solid-router";
import { createEffect, Show } from "solid-js";
export const Route = createFileRoute("/dashboard")({
component: RouteComponent,
});
function RouteComponent() {
const session = authClient.useSession();
const navigate = Route.useNavigate();
const privateData = useQuery(() => orpc.privateData.queryOptions());
createEffect(() => {
if (!session().data && !session().isPending) {
navigate({
to: "/login",
});
}
});
return (
<div>
<Show when={session().isPending}>
<div>Loading...</div>
</Show>
<Show when={!session().isPending && session().data}>
<h1>Dashboard</h1>
<p>Welcome {session().data?.user.name}</p>
<p>privateData: {privateData.data?.message}</p>
</Show>
</div>
);
}

View File

@@ -0,0 +1,23 @@
import SignInForm from "@/components/sign-in-form";
import SignUpForm from "@/components/sign-up-form";
import { createFileRoute } from "@tanstack/solid-router";
import { createSignal, Match, Switch } from "solid-js";
export const Route = createFileRoute("/login")({
component: RouteComponent,
});
function RouteComponent() {
const [showSignIn, setShowSignIn] = createSignal(false);
return (
<Switch>
<Match when={showSignIn()}>
<SignInForm onSwitchToSignUp={() => setShowSignIn(false)} />
</Match>
<Match when={!showSignIn()}>
<SignUpForm onSwitchToSignIn={() => setShowSignIn(true)} />
</Match>
</Switch>
);
}