Skip to content

Commit d4a2a16

Browse files
authored
feat: go straight to catalog page after login (#79)
1 parent 7df0daf commit d4a2a16

File tree

4 files changed

+24
-71
lines changed

4 files changed

+24
-71
lines changed

src/app/(authed)/layout.tsx

Lines changed: 0 additions & 14 deletions
This file was deleted.

src/app/(authed)/page.tsx

Lines changed: 0 additions & 37 deletions
This file was deleted.

src/app/__tests__/page.test.tsx

Lines changed: 8 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,9 @@
1-
import { render, screen } from "@testing-library/react";
2-
import { expect, test } from "vitest";
3-
import Home from "@/app/(authed)/page";
4-
5-
test("Home page renders welcome heading and link to catalog when user is logged in", async () => {
6-
render(await Home());
7-
8-
expect(
9-
screen.getByRole("heading", {
10-
level: 1,
11-
name: /Welcome to ToolHive Cloud UI/i,
12-
}),
13-
).toBeDefined();
14-
15-
expect(screen.getByText(/You are logged in as/i)).toBeDefined();
16-
expect(screen.getByText(/test@example.com/i)).toBeDefined();
17-
18-
const catalogLink = screen.getByRole("link", { name: /Go to Catalog/i });
19-
expect(catalogLink).toBeDefined();
20-
expect(catalogLink.getAttribute("href")).toBe("/catalog");
1+
import * as nextNavigation from "next/navigation";
2+
import { expect, test, vi } from "vitest";
3+
import Home from "@/app/page";
4+
5+
test("Home redirects to /catalog when user is logged in", async () => {
6+
const redirectSpy = vi.spyOn(nextNavigation, "redirect");
7+
await Home();
8+
expect(redirectSpy).toHaveBeenCalledWith("/catalog");
219
});

src/app/page.tsx

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
import { headers } from "next/headers";
2+
import { redirect } from "next/navigation";
3+
import { auth } from "@/lib/auth/auth";
4+
5+
export default async function Home() {
6+
const session = await auth.api.getSession({
7+
headers: await headers(),
8+
});
9+
10+
if (!session) {
11+
redirect("/signin");
12+
}
13+
14+
// Authenticated: redirect straight to Catalog
15+
redirect("/catalog");
16+
}

0 commit comments

Comments
 (0)