-
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.
Signed-off-by: Vu Van Dung <[email protected]>
- Loading branch information
Showing
14 changed files
with
72 additions
and
102 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
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 was deleted.
Oops, something went wrong.
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 |
---|---|---|
|
@@ -2,19 +2,16 @@ import type { Metadata } from "next"; | |
import Markdown from "react-markdown"; | ||
import remarkGfm from "remark-gfm"; | ||
|
||
import { ChevronRight, GitHub, Mail } from "~/components/icons"; | ||
import { LinkButton } from "~/components/ui/button"; | ||
import { GitHub, Mail } from "~/components/icons"; | ||
import { Card } from "~/components/ui/card"; | ||
import { Link } from "~/components/ui/link"; | ||
import { List, ListContent, ListHeader, ListItem } from "~/components/ui/lists"; | ||
import { cn } from "~/lib/cn"; | ||
|
||
import { opengraphImage } from "~/app/opengraph"; | ||
|
||
import { getGithubReadme } from "./get-github-readme"; | ||
import { GitHubStats } from "./github-stats"; | ||
import { MusicData } from "./music-data"; | ||
import styles from "./page.module.css"; | ||
|
||
function ReadmeA({ href, ...rest }: React.ComponentPropsWithoutRef<"a">) { | ||
return <Link href={href ?? "/"} {...rest} />; | ||
|
@@ -35,10 +32,11 @@ export default function Page() { | |
<Card className="flex flex-col p-0"> | ||
<section className="flex flex-col gap-6 bg-bg-darker p-6 pt-9 sm:p-9"> | ||
<h1 className="text-3xl font-medium">Vu Van Dung</h1> | ||
<div className="flex flex-row flex-wrap justify-between sm:justify-normal gap-x-9 gap-y-2 font-mono text-text-secondary [&_a:hover]:text-text-primary [&_a]:transition"> | ||
<dl className="flex flex-row flex-wrap justify-between sm:justify-normal gap-x-9 gap-y-2 font-mono text-text-secondary [&_a:hover]:text-text-primary [&_a]:transition"> | ||
<div className="flex flex-col gap-2"> | ||
<div className="flex flex-row items-center gap-3"> | ||
<svg width="24" height="24" fill="none"> | ||
<dt className="sr-only">Native Vietnamese name</dt> | ||
<dd className="flex flex-row items-center gap-3"> | ||
<svg width="24" height="24" fill="none" className="not-sr-only"> | ||
<title>Vietnam flag</title> | ||
<g clipPath="url(#a)"> | ||
<path | ||
|
@@ -56,7 +54,7 @@ export default function Page() { | |
</clipPath> | ||
</defs> | ||
</svg> | ||
<div aria-label="Native name"> | ||
<span> | ||
<a | ||
href="https://en.wiktionary.org/wiki/Vũ" | ||
target="_blank" | ||
|
@@ -79,83 +77,49 @@ export default function Page() { | |
<strong>Dũng</strong> | ||
</a>{" "} | ||
<span className="font-sans text-xs text-text-tertiary">/vu van zuŋ/</span> | ||
</div> | ||
</div> | ||
<div className="flex flex-row items-center gap-3"> | ||
<svg width="24" height="24" fill="none"> | ||
</span> | ||
</dd> | ||
<dt className="sr-only">Location</dt> | ||
<dd className="flex flex-row items-center gap-3"> | ||
<svg width="24" height="24" fill="none" className="not-sr-only"> | ||
<title>Location</title> | ||
<path | ||
d="M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z" | ||
className="stroke-text-tertiary" | ||
/> | ||
<circle cx="12" cy="10" r="3" className="fill-text-secondary" /> | ||
</svg> | ||
<div>Singapore</div> | ||
</div> | ||
<span>Singapore</span> | ||
</dd> | ||
</div> | ||
<div className="flex flex-col gap-2 sm:mx-auto"> | ||
<div className="flex flex-row items-center gap-3"> | ||
<GitHub className="[&_path]:stroke-1 text-text-tertiary" /> | ||
<dt className="sr-only">GitHub Profile</dt> | ||
<dd className="flex flex-row items-center gap-3"> | ||
<GitHub className="[&_path]:stroke-1 text-text-tertiary not-sr-only" /> | ||
<a href="https://github.com/joulev" target="_blank" rel="noreferrer noopener"> | ||
@joulev | ||
</a> | ||
</div> | ||
<div className="flex flex-row items-center gap-3"> | ||
<Mail className="[&_path]:stroke-1 text-text-tertiary" /> | ||
</dd> | ||
<dt className="sr-only">Email</dt> | ||
<dd className="flex flex-row items-center gap-3"> | ||
<Mail className="[&_path]:stroke-1 text-text-tertiary not-sr-only" /> | ||
<a href="mailto:[email protected]" target="_blank" rel="noreferrer noopener"> | ||
[email protected] | ||
</a> | ||
</div> | ||
</dd> | ||
</div> | ||
</div> | ||
</section> | ||
<hr /> | ||
<section className="flex flex-col bg-bg-darker sm:flex-row"> | ||
<div className="flex flex-col items-start gap-6 p-6 sm:w-2/3 sm:p-9"> | ||
<h2 className="text-lg font-bold">Current project</h2> | ||
<p> | ||
I am building a glassmorphic component system based on{" "} | ||
<Link href="https://www.figma.com/community/file/1253443272911187215/apple-design-resources-visionos"> | ||
visionOS UI design | ||
</Link> | ||
. You are seeing that design system at work in this very page, and if you are curious, | ||
you can check out the completed components (so far) here: | ||
</p> | ||
<LinkButton href="/glui" variants={{ variant: "primary" }}> | ||
Completed components | ||
<ChevronRight /> | ||
</LinkButton> | ||
</div> | ||
<div | ||
className="relative min-h-[120px] flex-grow bg-[1.5rem_0px] sm:bg-[0px_2.5rem]" | ||
style={{ | ||
backgroundImage: | ||
"url(\"data:image/svg+xml,%3Csvg width='54' height='54' viewBox='0 0 54 54' fill='none' xmlns='http://www.w3.org/2000/svg' %3E%3Crect x='5' y='5' width='36' height='36' rx='4' stroke='%238080804d' strokeWidth='2' /%3E%3C/svg%3E\")", | ||
}} | ||
> | ||
<div | ||
className={cn( | ||
"absolute left-1/2 top-1/2 h-18 w-24 -translate-x-[68px] -translate-y-12 rounded-[1rem] bg-bg-idle backdrop-blur", | ||
styles.cardSm, | ||
)} | ||
/> | ||
<div | ||
className={cn( | ||
"absolute left-1/2 top-1/2 h-18 w-24 -translate-x-7 -translate-y-6 rounded-[1rem] bg-bg-idle backdrop-blur", | ||
styles.cardSm, | ||
)} | ||
/> | ||
</div> | ||
</dl> | ||
</section> | ||
<section className="flex flex-col gap-6 p-6 sm:p-9"> | ||
<h2 className="sr-only">About me</h2> | ||
<ReadmeContent /> | ||
<div className="grid grid-cols-1 grid-rows-2 gap-6 sm:grid-cols-2 sm:grid-rows-1"> | ||
<GitHubStats /> | ||
<MusicData /> | ||
</div> | ||
</section> | ||
<hr /> | ||
<section className="mx-auto flex w-full max-w-lg flex-col gap-6 p-6 sm:p-9"> | ||
<div className="mx-auto flex w-full max-w-lg flex-col gap-6 p-6 sm:p-9"> | ||
<List> | ||
<ListHeader asChild> | ||
<h2>Packages</h2> | ||
|
@@ -231,7 +195,7 @@ export default function Page() { | |
))} | ||
</ListContent> | ||
</List> | ||
</section> | ||
</div> | ||
</Card> | ||
</main> | ||
); | ||
|
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
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
Oops, something went wrong.