diff options
author | 2024-08-05 22:01:50 -0700 | |
---|---|---|
committer | 2024-08-05 22:01:50 -0700 | |
commit | 9f655af04e728f359801552c0aac9ba204c5bbbf (patch) | |
tree | ac169a43b060be1b0c3fb40f16cfcdf145a84086 /frontend/src/app/page.tsx | |
parent | f566fa80a9fb0f1af1198a62b60a80bb6ee1983b (diff) | |
download | ibd-trader-9f655af04e728f359801552c0aac9ba204c5bbbf.tar.gz ibd-trader-9f655af04e728f359801552c0aac9ba204c5bbbf.tar.zst ibd-trader-9f655af04e728f359801552c0aac9ba204c5bbbf.zip |
Initial implementation
Diffstat (limited to 'frontend/src/app/page.tsx')
-rw-r--r-- | frontend/src/app/page.tsx | 134 |
1 files changed, 27 insertions, 107 deletions
diff --git a/frontend/src/app/page.tsx b/frontend/src/app/page.tsx index 2acfd44..9f42d3a 100644 --- a/frontend/src/app/page.tsx +++ b/frontend/src/app/page.tsx @@ -1,113 +1,33 @@ import Image from "next/image"; +import {Metadata} from "next"; +import Link from "next/link"; +import {getSession} from "@auth0/nextjs-auth0"; +import {redirect} from "next/navigation"; -export default function Home() { - return ( - <main className="flex min-h-screen flex-col items-center justify-between p-24"> - <div className="z-10 w-full max-w-5xl items-center justify-between font-mono text-sm lg:flex"> - <p className="fixed left-0 top-0 flex w-full justify-center border-b border-gray-300 bg-gradient-to-b from-zinc-200 pb-6 pt-8 backdrop-blur-2xl dark:border-neutral-800 dark:bg-zinc-800/30 dark:from-inherit lg:static lg:w-auto lg:rounded-xl lg:border lg:bg-gray-200 lg:p-4 lg:dark:bg-zinc-800/30"> - Get started by editing - <code className="font-mono font-bold">src/app/page.tsx</code> - </p> - <div className="fixed bottom-0 left-0 flex h-48 w-full items-end justify-center bg-gradient-to-t from-white via-white dark:from-black dark:via-black lg:static lg:size-auto lg:bg-none"> - <a - className="pointer-events-none flex place-items-center gap-2 p-8 lg:pointer-events-auto lg:p-0" - href="https://vercel.com?utm_source=create-next-app&utm_medium=appdir-template&utm_campaign=create-next-app" - target="_blank" - rel="noopener noreferrer" - > - By{" "} - <Image - src="/vercel.svg" - alt="Vercel Logo" - className="dark:invert" - width={100} - height={24} - priority - /> - </a> - </div> - </div> - - <div className="relative z-[-1] flex place-items-center before:absolute before:h-[300px] before:w-full before:-translate-x-1/2 before:rounded-full before:bg-gradient-radial before:from-white before:to-transparent before:blur-2xl before:content-[''] after:absolute after:-z-20 after:h-[180px] after:w-full after:translate-x-1/3 after:bg-gradient-conic after:from-sky-200 after:via-blue-200 after:blur-2xl after:content-[''] before:dark:bg-gradient-to-br before:dark:from-transparent before:dark:to-blue-700 before:dark:opacity-10 after:dark:from-sky-900 after:dark:via-[#0141ff] after:dark:opacity-40 sm:before:w-[480px] sm:after:w-[240px] before:lg:h-[360px]"> - <Image - className="relative dark:drop-shadow-[0_0_0.3rem_#ffffff70] dark:invert" - src="/next.svg" - alt="Next.js Logo" - width={180} - height={37} - priority - /> - </div> - - <div className="mb-32 grid text-center lg:mb-0 lg:w-full lg:max-w-5xl lg:grid-cols-4 lg:text-left"> - <a - href="https://nextjs.org/docs?utm_source=create-next-app&utm_medium=appdir-template&utm_campaign=create-next-app" - className="group rounded-lg border border-transparent px-5 py-4 transition-colors hover:border-gray-300 hover:bg-gray-100 hover:dark:border-neutral-700 hover:dark:bg-neutral-800/30" - target="_blank" - rel="noopener noreferrer" - > - <h2 className="mb-3 text-2xl font-semibold"> - Docs{" "} - <span className="inline-block transition-transform group-hover:translate-x-1 motion-reduce:transform-none"> - -> - </span> - </h2> - <p className="m-0 max-w-[30ch] text-sm opacity-50"> - Find in-depth information about Next.js features and API. - </p> - </a> +export const metadata: Metadata = { + title: "IBD Trader", +} - <a - href="https://nextjs.org/learn?utm_source=create-next-app&utm_medium=appdir-template-tw&utm_campaign=create-next-app" - className="group rounded-lg border border-transparent px-5 py-4 transition-colors hover:border-gray-300 hover:bg-gray-100 hover:dark:border-neutral-700 hover:dark:bg-neutral-800/30" - target="_blank" - rel="noopener noreferrer" - > - <h2 className="mb-3 text-2xl font-semibold"> - Learn{" "} - <span className="inline-block transition-transform group-hover:translate-x-1 motion-reduce:transform-none"> - -> - </span> - </h2> - <p className="m-0 max-w-[30ch] text-sm opacity-50"> - Learn about Next.js in an interactive course with quizzes! - </p> - </a> +export default async function Home() { + const user = await getSession(); - <a - href="https://vercel.com/templates?framework=next.js&utm_source=create-next-app&utm_medium=appdir-template&utm_campaign=create-next-app" - className="group rounded-lg border border-transparent px-5 py-4 transition-colors hover:border-gray-300 hover:bg-gray-100 hover:dark:border-neutral-700 hover:dark:bg-neutral-800/30" - target="_blank" - rel="noopener noreferrer" - > - <h2 className="mb-3 text-2xl font-semibold"> - Templates{" "} - <span className="inline-block transition-transform group-hover:translate-x-1 motion-reduce:transform-none"> - -> - </span> - </h2> - <p className="m-0 max-w-[30ch] text-sm opacity-50"> - Explore starter templates for Next.js. - </p> - </a> + if (user) { + redirect("/dashboard") + } - <a - href="https://vercel.com/new?utm_source=create-next-app&utm_medium=appdir-template&utm_campaign=create-next-app" - className="group rounded-lg border border-transparent px-5 py-4 transition-colors hover:border-gray-300 hover:bg-gray-100 hover:dark:border-neutral-700 hover:dark:bg-neutral-800/30" - target="_blank" - rel="noopener noreferrer" - > - <h2 className="mb-3 text-2xl font-semibold"> - Deploy{" "} - <span className="inline-block transition-transform group-hover:translate-x-1 motion-reduce:transform-none"> - -> - </span> - </h2> - <p className="m-0 max-w-[30ch] text-balance text-sm opacity-50"> - Instantly deploy your Next.js site to a shareable URL with Vercel. - </p> - </a> - </div> - </main> - ); + return ( + <div className="min-h-screen flex flex-col items-center justify-center bg-gray-100"> + <main className="flex flex-col items-center justify-center w-full flex-1 px-20 text-center"> + <div className="flex justify-center"> + <Image src="/logo.svg" alt="IBD Trader" width={200} height={200}/> + </div> + <h1 className="text-6xl font-bold mt-4">Trader</h1> + <button className="mt-16 px-6 py-3 bg-blue-500 text-white rounded-md hover:bg-blue-600"> + <Link href="/api/auth/login"> + Login + </Link> + </button> + </main> + </div> + ); } |