Implement Auth.

This commit is contained in:
2024-07-19 12:08:09 -05:00
parent 3c9a23481e
commit 6414307462
9 changed files with 105 additions and 98 deletions

View File

@ -1,19 +1,20 @@
import "~/styles/globals.css";
import { Inter as FontSans } from "next/font/google";
import { cn } from "~/lib/utils";
import { SessionProvider } from "next-auth/react";
import { type Metadata } from "next";
export const metadata: Metadata = {
title: "Tech Tracker",
description: "App used by COG IT employees to update their status throughout the day.",
icons: [{ rel: "icon", url: "/favicon.ico" }],
};
const fontSans = FontSans({
subsets: ["latin"],
variable: "--font-sans",
});
import { type Metadata } from "next";
export const metadata: Metadata = {
title: "Create T3 App",
description: "Generated by create-t3-app",
icons: [{ rel: "icon", url: "/favicon.ico" }],
};
export default function RootLayout({
children,
}: Readonly<{ children: React.ReactNode }>) {
@ -22,10 +23,11 @@ export default function RootLayout({
<body
className={cn(
"min-h-screen bg-background font-sans antialiased",
fontSans.variable
)}
fontSans.variable)}
>
{children}
<SessionProvider>
{children}
</SessionProvider>
</body>
</html>
);

View File

@ -1,37 +1,21 @@
import Link from "next/link";
import { auth } from "~/auth";
import { db } from "~/server/db";
import No_Session from "~/components/auth/No_Session";
export default function HomePage() {
return (
<main className="flex min-h-screen flex-col items-center justify-center bg-gradient-to-b from-[#2e026d] to-[#15162c] text-white">
<div className="container flex flex-col items-center justify-center gap-12 px-4 py-16">
<h1 className="text-5xl font-extrabold tracking-tight text-white sm:text-[5rem]">
Create <span className="text-[hsl(280,100%,70%)]">T3</span> App
</h1>
<div className="grid grid-cols-1 gap-4 sm:grid-cols-2 md:gap-8">
<Link
className="flex max-w-xs flex-col gap-4 rounded-xl bg-white/10 p-4 text-white hover:bg-white/20"
href="https://create.t3.gg/en/usage/first-steps"
target="_blank"
>
<h3 className="text-2xl font-bold">First Steps </h3>
<div className="text-lg">
Just the basics - Everything you need to know to set up your
database and authentication.
</div>
</Link>
<Link
className="flex max-w-xs flex-col gap-4 rounded-xl bg-white/10 p-4 text-white hover:bg-white/20"
href="https://create.t3.gg/en/introduction"
target="_blank"
>
<h3 className="text-2xl font-bold">Documentation </h3>
<div className="text-lg">
Learn more about Create T3 App, the libraries it uses, and how to
deploy it.
</div>
</Link>
</div>
</div>
</main>
export default async function HomePage() {
const user = await auth();
const employees = await db.query.users.findMany({
orderBy: (model, {desc}) => desc(model.id),
});
if (!user) {
return (
<No_Session />
);
} else {
return (
<main className="min-h-screen bg-gradient-to-b from-[#111111] to-[#111325] text-white">
<h1 className="text-2xl font-semibold">Welcome!</h1>
</main>
);
}
}