chore: update dependencies and improve UI components

- Updated dependencies in bun.lock and package.json to specific versions for better stability.
- Added a new Contact component to display contact methods with tooltips.
- Introduced a Banner component for notifications with customizable actions.
- Enhanced the Dialog, Checkbox, Button, Input, and Label components for better usability and styling.
- Integrated react-snowfall for a snow effect in the main page.
- Added a Discord SVG icon to the project.
This commit is contained in:
암냥 2025-12-19 17:21:23 +09:00
commit aa721322da
No known key found for this signature in database
11 changed files with 486 additions and 265 deletions

View file

@ -1,13 +1,25 @@
'use client';
import Projects from "@/components/Projects";
import TimelineComponent from "@/components/timeline";
import Image from "next/image";
import DraggableWindow from "@/components/DraggableWindow";
import ReadmeWindow from "@/components/ReadmeWindow";
import Snowfall from 'react-snowfall';
import { useTheme } from "next-themes";
import { Banner } from "@/components/ui/banner";
import { LinkIcon, TreeDeciduous, TreePalmIcon, TreesIcon } from "lucide-react";
import { useState } from "react";
import Contact from "@/components/Contact";
export default function Page() {
const { theme } = useTheme();
const [show, setShow] = useState(true);
export default async function BlogIndex() {
return (
<main className="min-h-screen w-screen overflow-y-scroll snap-y snap-mandatory">
<div className="max-w-4xl w-full flex flex-row h-auto mx-auto gap-4 items-center my-8 lg:px-0 px-8">
<Snowfall color={theme === 'dark' ? '#ffffff' : '#bcbcd6ff'} />
<div className="max-w-3xl w-full flex flex-row h-auto mx-auto gap-4 items-center my-8 lg:px-0 px-8">
<Image
src="/Frame.svg"
alt="logo"
@ -19,9 +31,31 @@ export default async function BlogIndex() {
<a href="mailto:me@imnya.ng">me@imnya.ng</a>
</h1>
</div>
<div className="max-w-3xl w-full flex mx-auto mb-8">
<Contact />
</div>
<section id="about" className="w-full snap-start snap-always flex flex-col items-center justify-center px-8 lg:px-0">
<div className="max-w-3xl w-full mb-8">
<Banner
show={show}
onHide={() => setShow(false)}
icon={
<TreeDeciduous className="w-4 h-4 text-green-800" />
}
title={
<>
!
</>
}
action={{
label: "트리 꾸미러 가기",
onClick: () => window.open("https://imnya.ng/tree", "_blank"),
}}
/>
</div>
<DraggableWindow />
<div className="max-w-4xl w-full">
<div className="max-w-3xl w-full">
<p> <strong></strong> <strong></strong> <strong>, </strong> .</p>
<p><strong> </strong> , .</p>
<p><strong> 4 Python</strong> , <strong>TypeScript</strong> .</p>