diff --git a/public/icon/mizuki.svg b/public/icon/mizuki.svg new file mode 100644 index 0000000..ee95759 --- /dev/null +++ b/public/icon/mizuki.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/public/icon/project-sekai.webp b/public/icon/project-sekai.webp new file mode 100644 index 0000000..75b4baa Binary files /dev/null and b/public/icon/project-sekai.webp differ diff --git a/public/icon/steam.svg b/public/icon/steam.svg new file mode 100644 index 0000000..affefa5 --- /dev/null +++ b/public/icon/steam.svg @@ -0,0 +1 @@ +Steam \ No newline at end of file diff --git a/public/icon/vrchat.svg b/public/icon/vrchat.svg new file mode 100644 index 0000000..0c4a3ea --- /dev/null +++ b/public/icon/vrchat.svg @@ -0,0 +1 @@ +VRChat \ No newline at end of file diff --git a/public/projects/epc-finale.avif b/public/projects/epc-finale.avif new file mode 100644 index 0000000..78462bd Binary files /dev/null and b/public/projects/epc-finale.avif differ diff --git a/src/components/About.astro b/src/components/About.astro index 6a53488..f4f5a49 100644 --- a/src/components/About.astro +++ b/src/components/About.astro @@ -1,6 +1,7 @@ --- import { events } from "@/lib/events"; import AboutRow from "@/components/AboutRow.astro"; +import DDay from "./DDay.astro"; const sortedEvents = [...events].sort((a, b) => b.date.localeCompare(a.date)); const years = [...new Set(sortedEvents.map((event) => event.date.slice(0, 4)))]; @@ -38,6 +39,26 @@ const daysUntilYearEnd = Math.ceil( 안녕하세요, 정보보안과 소프트웨어 엔지니어링을 주로하고 있는 암냥입니다.

+
+ 생일 : +
+ + 연락하기 + + +

저는...

@@ -87,20 +108,40 @@ const daysUntilYearEnd = Math.ceil(
-

+
+ 등등... + +

을 이루어냈어요.

+
- 활동 사진 콜라주 + /> -->
diff --git a/src/components/ContactSection.astro b/src/components/ContactSection.astro new file mode 100644 index 0000000..c86c338 --- /dev/null +++ b/src/components/ContactSection.astro @@ -0,0 +1,583 @@ +--- +// biome-ignore lint/correctness/noUnusedVariables: Used in the Astro template below. +const groups = [ + { + id: "direct", + title: "연락처", + items: [ + { + name: "개인 이메일", + value: "me@imnya.ng", + href: "mailto:me@imnya.ng", + icon: "mail", + tone: "pink", + email: true, + }, + { + name: "dazzle.st 이메일", + value: "imnyang@dazzle.st", + href: "mailto:imnyang@dazzle.st", + icon: "mail", + tone: "green", + email: true, + }, + { + name: "Discord", + value: "@imnyang", + href: "https://discord.com/users/909353223901569035", + icon: "discord", + tone: "purple", + }, + ], + }, + { + id: "social", + title: "소셜", + items: [ + { + name: "X (Twitter)", + value: "@imnya_ng", + href: "https://twitter.com/imnya_ng", + icon: "x", + tone: "blue", + }, + { + name: "Instagram", + value: "@imnya.ng", + href: "https://instagram.com/imnya.ng", + icon: "instagram", + tone: "pink", + }, + { + name: "YouTube", + value: "@imnyang", + href: "https://youtube.com/@imnyang", + icon: "youtube", + tone: "red", + }, + ], + }, + { + id: "work", + title: "코드와 글", + items: [ + { + name: "GitHub", + value: "@imnyang", + href: "https://github.com/imnyang", + icon: "github", + tone: "neutral", + }, + { + name: "git.mizuki.guru", + value: "@imnyang", + href: "https://git.mizuki.guru/imnyang", + icon: "mizuki", + tone: "orange", + }, + { + name: "Blog", + value: "blog.imnya.ng", + href: "https://blog.imnya.ng", + icon: "blog", + tone: "green", + }, + ], + }, + { + id: "game", + title: "Game", + items: [ + { + name: "Steam", + value: "@imnyang", + href: "https://steamcommunity.com/id/imnyang/", + icon: "steam", + tone: "blue", + }, + { + name: "maimai", + value: "@imnya.ng", + href: "https://mai.sft.sh/imnyang", + icon: "maimai", + tone: "blue", + }, + { + name: "Project Sekai KR", + value: "7354623251148069648", + href: "#", + icon: "project-sekai", + tone: "blue", + }, + { + name: "Project Sekai JP", + value: "729310364018688008", + href: "#", + icon: "project-sekai", + tone: "blue", + }, + { + name: "VRChat", + value: "@imnyang", + href: "https://vrchat.com/home/user/usr_d53ac697-182d-40d0-9fd8-1a7442b0ebfd", + icon: "vrchat", + tone: "blue", + }, + ], + }, +]; + +// biome-ignore lint/correctness/noUnusedVariables: Used in the Astro template below. +const imageIcons: Record = { + github: { src: "/icon/github.svg", monochrome: true }, + discord: { src: "/icon/discord.svg", monochrome: true }, + mizuki: { src: "/icon/mizuki.svg", monochrome: false }, + // Source: https://github.com/simple-icons/simple-icons/blob/develop/icons/steam.svg + steam: { src: "/icon/steam.svg", monochrome: true }, + maimai: { src: "/icon/maimai.webp", monochrome: false }, + vrchat: { src: "/icon/vrchat.svg", monochrome: true }, + // Source: https://pjsekai.sega.jp/assets/data/webp/icon/icon_app.png.webp + "project-sekai": { src: "/icon/project-sekai.webp", monochrome: false }, +}; + +// biome-ignore lint/correctness/noUnusedVariables: Used in the Astro template below. +const paths: Record = { + mail: "M22 12a10 10 0 1 0-4 8 M16 8v5a3 3 0 0 0 6 0v-1 M16 12a4 4 0 1 1-8 0 4 4 0 0 1 8 0", + x: "M4 3h4l12 18h-4L4 3Z M20 3l-7 8 M4 21l7-8", + instagram: + "M7 3h10a4 4 0 0 1 4 4v10a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4V7a4 4 0 0 1 4-4Z M16 12a4 4 0 1 1-8 0 4 4 0 0 1 8 0 M17.5 6.5h.01", + youtube: + "M7 5h10a5 5 0 0 1 5 5v4a5 5 0 0 1-5 5H7a5 5 0 0 1-5-5v-4a5 5 0 0 1 5-5Z M10 9l5 3-5 3V9Z", + blog: "M5 3h11l3 3v15H5V3Z M15 3v4h4 M9 11h6 M9 15h6", +}; +--- + +
+
+
+

Contact

+

+ 새로운 이야기와 재미있는 만남은 언제나 환영해요. +

+
+ +
+ { + groups.map((group) => ( +
+

+ {group.title} +

+ +
+ )) + } +
+ +

+

+
+
+ + + + diff --git a/src/components/DDay.astro b/src/components/DDay.astro index a7ed4a9..2ffac2a 100644 --- a/src/components/DDay.astro +++ b/src/components/DDay.astro @@ -1,27 +1,31 @@ --- export interface Props { - targetDate: string; - label: string; + targetDate: string; + label?: string; } const { targetDate, label } = Astro.props; --- -
- D-Day - {label} | {new Date(targetDate).toDateString()} +
+ {label && `${label} | `}{ + new Date(targetDate).toLocaleDateString() + } + D-Day
diff --git a/src/components/EPCProjects.astro b/src/components/EPCProjects.astro index 2677828..b477917 100644 --- a/src/components/EPCProjects.astro +++ b/src/components/EPCProjects.astro @@ -125,12 +125,12 @@ const roles = ["Broadcast Manager", "ARG Creator", "Developer"];
-

+

저는 {years.length}년간 {events.length}개의 개성있는 조각들을 모아왔어요.

diff --git a/src/pages/index.astro b/src/pages/index.astro index 50b0680..06a5d54 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -1,6 +1,8 @@ --- import About from "@/components/About.astro"; +import ContactSection from "@/components/ContactSection.astro"; import EPCProjects from "@/components/EPCProjects.astro"; +import Experience from "@/components/Experience.astro"; import Header from "@/components/Header.astro"; import Hero from "@/components/Hero.astro"; import "@/globals.css"; @@ -39,6 +41,8 @@ import "@/globals.css"; + +