mirror of
https://github.com/Xevion/xevion.dev.git
synced 2025-12-17 00:13:55 -06:00
New flexible project item with blurred bg design
This commit is contained in:
@@ -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} />;
|
||||
|
||||
@@ -1,51 +1,70 @@
|
||||
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" />
|
||||
<title>Xevion.dev</title>
|
||||
<meta name="description" content="My personal website."/>
|
||||
<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.
|
||||
<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>
|
||||
</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/>
|
||||
<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>
|
||||
</Link>
|
||||
</div>
|
||||
<p className="text-2xl text-white">
|
||||
{hello.data ? hello.data.greeting : "Loading tRPC query..."}
|
||||
</p>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
</>
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
@tailwind base;
|
||||
@tailwind components;
|
||||
@tailwind utilities;
|
||||
47
src/styles/globals.scss
Normal file
47
src/styles/globals.scss
Normal file
@@ -0,0 +1,47 @@
|
||||
@import url("https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,300;1,400;1,500;1,600;1,700;1,800&family=Raleway:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap");
|
||||
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap");
|
||||
@import url("https://fonts.googleapis.com/css2?family=Roboto+Mono&display=swap");
|
||||
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;600&display=swap');
|
||||
|
||||
@tailwind base;
|
||||
@tailwind components;
|
||||
@tailwind utilities;
|
||||
|
||||
html, body {
|
||||
@apply font-manrope;
|
||||
}
|
||||
|
||||
.item {
|
||||
@apply w-full aspect-[5/3] h-[12rem] sm:h-[14rem] md:h-[16rem] relative pointer-events-auto cursor-pointer overflow-hidden transition-all rounded;
|
||||
> img {
|
||||
@apply rounded transition-all;
|
||||
}
|
||||
|
||||
.elements {
|
||||
@apply hidden transition-all delay-100;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
.elements {
|
||||
@apply grid;
|
||||
}
|
||||
|
||||
> img {
|
||||
@apply blur-2xl;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.stepped {
|
||||
@apply text-white text-8xl;
|
||||
font-family: monospace;
|
||||
|
||||
> span {
|
||||
@apply transition-colors delay-300;
|
||||
|
||||
&:hover {
|
||||
@apply text-black bg-white;
|
||||
transition-delay: 0s;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user