New flexible project item with blurred bg design

This commit is contained in:
Xevion
2022-12-21 14:53:17 -06:00
parent 403df77672
commit a7d21bf5ab
4 changed files with 114 additions and 51 deletions

View File

@@ -2,7 +2,7 @@ import { type AppType } from "next/app";
import { trpc } from "../utils/trpc";
import "../styles/globals.css";
import "../styles/globals.scss";
const MyApp: AppType = ({ Component, pageProps }) => {
return <Component {...pageProps} />;

View File

@@ -1,55 +1,74 @@
import { type NextPage } from "next";
import {type NextPage} from "next";
import Head from "next/head";
import Link from "next/link";
import { trpc } from "../utils/trpc";
import {trpc} from "../utils/trpc";
import Image from "next/image";
import {ArrowLongRightIcon} from "@heroicons/react/24/outline";
import SteppedSpan from "../components/SteppedSpan";
interface Project {
title: string;
banner: string;
description: React.ReactNode;
}
const Home: NextPage = () => {
const hello = trpc.example.hello.useQuery({ text: "from tRPC" });
const projects: Project[] = [
{
title: "Phototag",
banner: "/phototag.png",
description: <>
Phototag is a <b>powerful</b> and <b>efficient</b> tool that helps
you <b>quickly</b> and <b>easily</b> describe your photos with
tags. Using Google's advanced Vision API, Phototag can automatically generate tags for your photos,
making it faster and easier to organize and search for your images.
</>
},
{
title: "Paths",
banner: "/paths.png",
description: ""
}
]
return (
<>
<Head>
<title>Create T3 App</title>
<meta name="description" content="Generated by create-t3-app" />
<link rel="icon" href="/favicon.ico" />
</Head>
<main className="flex min-h-screen flex-col items-center justify-center bg-gradient-to-b from-[#2e026d] to-[#15162c]">
<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>
<p className="text-2xl text-white">
{hello.data ? hello.data.greeting : "Loading tRPC query..."}
</p>
</div>
</main>
</>
);
return (
<>
<Head>
<title>Xevion.dev</title>
<meta name="description" content="My personal website."/>
<link rel="icon" href="/favicon.ico"/>
</Head>
<main
className="flex max-h-screen min-h-screen flex-row items-center justify-center bg-zinc-900 text-zinc-50">
<div className="h-full max-w-[85%] w-[70%] 2xl:w-[70%] mx-auto">
<div className="flex h-full m-1 flex-col justify-start gap-y-4">
<SteppedSpan >Ryan Walters</SteppedSpan>
{
projects.map((project, index) =>
<div key={index} className="item">
<Image fill src={project.banner}
alt={`Banner for ${project.title}`}
style={{objectFit: "cover"}}
/>
<div className="elements grid grid-cols-5 h-full">
<div className="col-span-3 z-30 drop-shadow-2xl p-3 pl-4">
<div className="mt-3 text-3xl">{project.title}</div>
<div className="mt-1.5 text-xl">{project.description}</div>
</div>
<div/>
<div className="col-span-1 w-full h-full flex align-center justify-center text-zinc-50 pr-10">
<ArrowLongRightIcon
className="max-w-full stroke-1 text-white z-10 aspect-square w-50"/>
</div>
</div>
</div>
)
}
</div>
</div>
</main>
</>
);
};
export default Home;