mirror of
https://github.com/FranP-code/create-better-t-stack.git
synced 2025-10-12 23:52:15 +00:00
add solid
This commit is contained in:
38
apps/cli/templates/auth/web/solid/src/routes/dashboard.tsx
Normal file
38
apps/cli/templates/auth/web/solid/src/routes/dashboard.tsx
Normal 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>
|
||||
);
|
||||
}
|
||||
23
apps/cli/templates/auth/web/solid/src/routes/login.tsx
Normal file
23
apps/cli/templates/auth/web/solid/src/routes/login.tsx
Normal 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>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user