-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
16 changed files
with
255 additions
and
47 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
import Image from "next/image"; | ||
|
||
export default function About() { | ||
return ( | ||
<section className="mb-16 lg:relative"> | ||
<h1 className="text-2xl tracking-widest max-lg:mb-8 lg:absolute lg:right-full lg:mr-6"> | ||
About | ||
</h1> | ||
<p className="mb-4"> | ||
Hi, I'm Oz, a UI Developer with a passion for building user-friendly | ||
interfaces. I enjoy working with TypeScript, React, and Next.js, and | ||
have spent the last 3 years building reusable UI components at{" "} | ||
<a | ||
target="_blank" | ||
href="https://atolye15.com" | ||
className="underline items-center gap-1 inline-flex align-baseline" | ||
> | ||
<Image src="/a15.svg" alt="Atolye15 logo" width={14} height={14} /> | ||
Atolye15 | ||
</a> | ||
. Outside of coding, I enjoy writing and am committed to continuous | ||
learning. | ||
</p> | ||
</section> | ||
); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
export default function Contact() { | ||
return ( | ||
<div className="mb-8 lg:relative"> | ||
<h2 className="text-2xl max-lg:mb-8 lg:absolute lg:right-full lg:mr-6"> | ||
Contact | ||
</h2> | ||
<p className="mt-2 mb-4 text-neutral-600 dark:text-neutral-400"> | ||
Feel free to reach out to me via email. I'm always open to interesting | ||
conversations and opportunities. | ||
</p> | ||
<div className="mt-4"> | ||
<div className="inline-block font-mono bg-stone-50 dark:bg-stone-800 px-3 py-2 rounded"> | ||
<span>hey</span> | ||
<span className="select-none text-neutral-400 px-1">[at]</span> | ||
<span>ertas.dev</span> | ||
</div> | ||
</div> | ||
</div> | ||
); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
import Image from "next/image"; | ||
import { TiltCard } from "./tilt-card"; | ||
|
||
const projects = [ | ||
{ | ||
title: "Bettermark", | ||
url: "https://bettermark.app", | ||
description: | ||
"My most recent side project. A modern bookmark manager that helps prevent link rot by taking snapshots of the pages you save. It's cross-platform by default since bookmark saving is done by prefixing your URL with the apps url.", | ||
}, | ||
{ | ||
title: "tomatotomato", | ||
url: "https://tomatotomato.fly.dev", | ||
description: | ||
"One of my first ever projects. A simple recipe manager I built for my wife. She is still the only user. It was an experiment to learn how to use Remix. It has a lot of room for improvement but I don't think that's happening any time soon. (My wife's pretty sad about it.)", | ||
}, | ||
]; | ||
|
||
export default function Projects() { | ||
return ( | ||
<div className="mb-16 lg:relative"> | ||
<h2 className="text-2xl max-lg:mb-8 lg:absolute lg:right-full lg:mr-6"> | ||
Projects | ||
</h2> | ||
<div className="grid gap-6 mt-4"> | ||
{projects.map((project) => ( | ||
<TiltCard | ||
key={project.title} | ||
title={project.title} | ||
description={project.description} | ||
link={project.url} | ||
/> | ||
))} | ||
</div> | ||
</div> | ||
); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
import { TiltCard } from "./tilt-card"; | ||
|
||
const talks = [ | ||
{ | ||
title: "Navigating Redesigns", | ||
occasion: "BBT", | ||
date: "2024", | ||
description: | ||
"A talk about the challenges of redesigning a component library that has been around for a long time.", | ||
link: "https://bursa.dev/event-detail/bbt-connect-atolye15-e0c52b3a", | ||
}, | ||
]; | ||
|
||
export default function Talks() { | ||
return ( | ||
<div className="mb-16 lg:relative"> | ||
<h2 className="text-2xl max-lg:mb-8 lg:absolute lg:right-full lg:mr-6"> | ||
Talks | ||
</h2> | ||
<div className="grid gap-6 mt-4"> | ||
{talks.map((talk) => ( | ||
<TiltCard | ||
key={talk.title} | ||
title={talk.title} | ||
description={talk.description} | ||
link={talk.link} | ||
metadata={ | ||
<p className="text-sm text-neutral-600"> | ||
{talk.occasion} · {talk.date} | ||
</p> | ||
} | ||
/> | ||
))} | ||
</div> | ||
</div> | ||
); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
"use client"; | ||
|
||
import { useEffect, useRef } from "react"; | ||
import VanillaTilt from "vanilla-tilt"; | ||
|
||
type TiltCardProps = { | ||
title: string; | ||
description: string; | ||
link: string; | ||
metadata?: React.ReactNode; | ||
}; | ||
|
||
export function TiltCard({ | ||
title, | ||
description, | ||
link, | ||
metadata, | ||
}: TiltCardProps) { | ||
const tiltRef = useRef<HTMLAnchorElement>(null); | ||
|
||
useEffect(() => { | ||
const element = tiltRef.current; | ||
if (!element) return; | ||
|
||
VanillaTilt.init(element, { | ||
max: 5, | ||
speed: 750, | ||
glare: true, | ||
"max-glare": 0.25, | ||
scale: 1.02, | ||
}); | ||
|
||
return () => { | ||
if (element) { | ||
// @ts-ignore - vanilla-tilt adds this method to the element | ||
element.vanillaTilt.destroy(); | ||
} | ||
}; | ||
}, []); | ||
|
||
return ( | ||
<a | ||
ref={tiltRef} | ||
href={link} | ||
target="_blank" | ||
className="group block p-4 border-l border-stone-400 hover:border-brand-400 hover:bg-stone-100 dark:hover:bg-stone-800 transition-all duration-200" | ||
> | ||
<div className="flex items-center gap-2 mb-2"> | ||
<div> | ||
<h3 className="font-semibold text-lg transition-all duration-200"> | ||
{title} | ||
</h3> | ||
{metadata && metadata} | ||
</div> | ||
</div> | ||
<p className="text-neutral-600 dark:text-neutral-400">{description}</p> | ||
</a> | ||
); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,22 +1,15 @@ | ||
import { BlogPosts } from "app/components/posts"; | ||
import Projects from "./components/projects"; | ||
import Talks from "./components/talks"; | ||
import Contact from "./components/contact"; | ||
import About from "./components/about"; | ||
|
||
export default function Page() { | ||
return ( | ||
<section className="grow"> | ||
<h1 className="mb-8 text-3xl font-semibold tracking-tighter">Oz Ertas</h1> | ||
<p className="mb-4"> | ||
Hi, I'm Oz, a UI Developer with a passion for building user-friendly | ||
interfaces. I enjoy working with TypeScript, React, and Next.js, and | ||
have spent the last 3 years building reusable UI components at{" "} | ||
<a target="_blank" href="https://atolye15.com" className="underline"> | ||
Atolye15 | ||
</a> | ||
. Outside of coding, I enjoy writing and am committed to continuous | ||
learning. | ||
</p> | ||
<div className="my-8"> | ||
<BlogPosts /> | ||
</div> | ||
</section> | ||
<> | ||
<About /> | ||
<Projects /> | ||
<Talks /> | ||
<Contact /> | ||
</> | ||
); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
Oops, something went wrong.