add links page back, update header

This commit is contained in:
2025-02-10 13:58:15 -05:00
parent 7bba0d5ea2
commit 42d85db5e5
7 changed files with 133 additions and 61 deletions
+2 -2
View File
@@ -15,8 +15,8 @@
"devDependencies": { "devDependencies": {
"@eslint/eslintrc": "^3", "@eslint/eslintrc": "^3",
"@types/node": "^20", "@types/node": "^20",
"@types/react": "^19", "@types/react": "^19.0.8",
"@types/react-dom": "^19", "@types/react-dom": "^19.0.3",
"eslint": "^9", "eslint": "^9",
"eslint-config-next": "15.1.6", "eslint-config-next": "15.1.6",
"postcss": "^8", "postcss": "^8",
+8 -8
View File
@@ -9,19 +9,19 @@
"lint": "next lint" "lint": "next lint"
}, },
"dependencies": { "dependencies": {
"next": "15.1.6",
"react": "^19.0.0", "react": "^19.0.0",
"react-dom": "^19.0.0", "react-dom": "^19.0.0"
"next": "15.1.6"
}, },
"devDependencies": { "devDependencies": {
"typescript": "^5", "@eslint/eslintrc": "^3",
"@types/node": "^20", "@types/node": "^20",
"@types/react": "^19", "@types/react": "^19.0.8",
"@types/react-dom": "^19", "@types/react-dom": "^19.0.3",
"postcss": "^8",
"tailwindcss": "^3.4.1",
"eslint": "^9", "eslint": "^9",
"eslint-config-next": "15.1.6", "eslint-config-next": "15.1.6",
"@eslint/eslintrc": "^3" "postcss": "^8",
"tailwindcss": "^3.4.1",
"typescript": "^5"
} }
} }
+4 -4
View File
@@ -27,23 +27,23 @@ export const metadata: Metadata = {
}, },
appleWebApp: { appleWebApp: {
title: "Alex Frantz", title: "Alex Frantz",
startupImage: "https://alexav.gg/apple-touch-icon.png" startupImage: "/apple-touch-icon.png"
}, },
icons: [ icons: [
{ {
rel: "icon", rel: "icon",
type: "image/png", type: "image/png",
sizes: "32x32", sizes: "32x32",
url: "https://alexav.gg/favicon-32x32.png" url: "/favicon-32x32.png"
}, },
{ {
rel: "icon", rel: "icon",
type: "image/png", type: "image/png",
sizes: "16x16", sizes: "16x16",
url: "https://alexav.gg/favicon-16x16.png" url: "/favicon-16x16.png"
} }
], ],
manifest: "https://alexav.gg/site.webmanifest" manifest: "/site.webmanifest"
}; };
export default function RootLayout({ export default function RootLayout({
+42
View File
@@ -0,0 +1,42 @@
import Link from "next/link";
import CustomButton from "@/components/CustomButton";
export default function Links() {
return (
<div className="min-h-screen bg-black flex justify-center items-center text-black">
<div className="bg-white rounded-lg p-4 text-center mb-20">
<Link href="/">
<h1 className="hover:underline font-bold text-2xl text-center">Alex Frantz</h1>
</Link>
<p>QA @ <a href="https://medal.tv" className="hover:underline" target="_blank">Medal.tv</a></p>
<hr className="my-2 mx-auto border-black" />
<div className="space-y-2">
<CustomButton
to="https://medal.tv/users/215577"
label="Medal"
/>
<CustomButton
to="https://twitter.com/carlgrimesdupe"
label="Twitter"
/>
<CustomButton
to="https://bsky.app/profile/alexav.gg"
label="Bluesky"
/>
<CustomButton
to="https://github.com/azpha"
label="GitHub"
/>
<CustomButton
to="https://last.fm/user/lulawex"
label="Last.fm"
/>
<CustomButton
to="https://linkedin.com/in/thatalex"
label="LinkedIn"
/>
</div>
</div>
</div>
)
}
+12 -7
View File
@@ -1,3 +1,4 @@
import Image from 'next/image';
import { Twitter, Bluesky, Medal, GitHub, LinkedIn } from '@/components/Icons' import { Twitter, Bluesky, Medal, GitHub, LinkedIn } from '@/components/Icons'
import ProjectComponent from '@/components/ProjectComponent'; import ProjectComponent from '@/components/ProjectComponent';
import ContactForm from '@/components/ContactForm'; import ContactForm from '@/components/ContactForm';
@@ -13,14 +14,16 @@ export default function Home() {
return ( return (
<div className=""> <div className="">
<section id="about"> <section id="about">
<div className="w-full mx-auto text-center p-10"> <div className="mx-auto text-center p-10">
<div className="my-1"> <div className="mx-auto grid gap-4 grid-cols-1 lg:grid-cols-2 lg:w-1/2">
<h1 className="text-3xl font-bold">Hi, I&apos;m Alex</h1> <div className="flex justify-center">
<p>I&apos;m a junior developer primarily working as QA, but sometimes writing questionable code at <a className="hover:underline text-yellow-400" href="https://medal.tv" target="_blank">Medal.tv</a></p> <Image className="rounded-full" src={"https://storage.alexav.gg/content/picture.jpg"} alt="Profile Picture" width={250} height={250} />
</div> </div>
<div className="text-center lg:text-left lg:my-10 w-full">
<h1 className="text-4xl font-bold">Hi, I&apos;m Alex</h1>
<p>I&apos;m a junior developer primarily working as QA, but sometimes writing questionable code at <a className="hover:underline text-yellow-400" href="https://medal.tv" target="_blank">Medal.tv</a></p>
<div className="block space-x-2"> <div className="block my-2 space-x-2">
{/* socials */}
<a href="https://twitter.com/carlgrimesdupe" target="_blank"> <a href="https://twitter.com/carlgrimesdupe" target="_blank">
<Twitter /> <Twitter />
</a> </a>
@@ -36,11 +39,13 @@ export default function Home() {
<a href="https://linkedin.com/in/thatalex" target="_blank"> <a href="https://linkedin.com/in/thatalex" target="_blank">
<LinkedIn /> <LinkedIn />
</a> </a>
</div>
<a href="/links" className="opacity-40 text-sm"> <a href="/links" className="opacity-40 text-sm">
<p className="underline">and more..</p> <p className="underline">and more..</p>
</a> </a>
</div> </div>
</div>
</div>
</div>
</section> </section>
<section id="projects"> <section id="projects">
+24
View File
@@ -0,0 +1,24 @@
import React from "react"
import Link from "next/link"
export default function CustomButton({
to,
label
}: {
to: string,
label: string
}) {
return (
<div>
<Link href={to} target="_blank">
<div className={`bg-black text-white text-lg font-semibold text-left p-2 w-52 rounded-lg`}>
<div className="px-1 space-x-2">
<div className="inline">
{label}
</div>
</div>
</div>
</Link>
</div>
)
}
+7 -6
View File
@@ -1,5 +1,8 @@
"use client"
import { useState, useEffect } from 'react';
import Link from "next/link" import Link from "next/link"
export default function Header() {
const quoteArray = [ const quoteArray = [
"It works on my machine", "It works on my machine",
"Revert 'Revert 'Revert", "Revert 'Revert 'Revert",
@@ -15,13 +18,11 @@ const quoteArray = [
"where else would you rather be..", "where else would you rather be..",
"..than right here, right now?!" "..than right here, right now?!"
] ]
const [ quote, setQuote ] = useState<string>(quoteArray[0])
async function getQuote(index: number) { useEffect(() => {
return quoteArray[index] setQuote(quoteArray[Math.floor(Math.random() * quoteArray.length)]);
} }, [])
export default async function Header() {
const quote = await getQuote(Math.floor(Math.random() * quoteArray.length))
return ( return (
<div className="bg-zinc-900 p-4 flex justify-between"> <div className="bg-zinc-900 p-4 flex justify-between">