diff --git a/app/entities/portfolio/PortfolioPreview.tsx b/app/entities/portfolio/PortfolioPreview.tsx index 93f35cd..6985142 100644 --- a/app/entities/portfolio/PortfolioPreview.tsx +++ b/app/entities/portfolio/PortfolioPreview.tsx @@ -35,7 +35,7 @@ const PortfolioPreview = ({ return (
setIsHovered(true)} onMouseLeave={() => setIsHovered(false)} > @@ -50,7 +50,7 @@ const PortfolioPreview = ({ src={project.image} alt={`${project.title} 프로젝트 이미지`} className={`w-full aspect-video object-cover transition-transform duration-500 ${ - showOverlay ? 'scale-105' : 'scale-100' + showOverlay ? 'scale-110' : 'scale-100' }`} /> @@ -140,22 +140,22 @@ const PortfolioPreview = ({
-
+
-

+

{project.title}

-

+

{project.description}

{!hideTags && project.tags && project.tags.length > 0 && ( -
+
{project.tags.map((tag, index) => ( {tag} @@ -164,7 +164,7 @@ const PortfolioPreview = ({ )} {/* 모바일 하단 액션 버튼들 */} -
+
{project.demoUrl && ( - @@ -185,7 +185,7 @@ const PortfolioPreview = ({ rel="noopener noreferrer" className="flex-1" > - @@ -197,7 +197,7 @@ const PortfolioPreview = ({ rel="noopener noreferrer" className="flex-1" > - diff --git a/app/page.tsx b/app/page.tsx index c058ceb..0d7d48a 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -18,6 +18,7 @@ import { Post } from '@/app/types/Post'; import ErrorBox from '@/app/entities/common/Error/ErrorBox'; import { useRouter } from 'next/navigation'; import useShortcut from '@/app/hooks/common/useShortcut'; +import DecryptedText from './entities/bits/DecryptedText'; export default function Home() { const { fingerprint } = useFingerprint(); @@ -58,95 +59,163 @@ export default function Home() { useShortcut(goToPostsPage, ['Ctrl', ';'], true); return ( -
-
-
+
+ {/* Hero Section */} +
+
Hero image -
-
-

Frontend Developer

-

- Jeongwoo Seo -

-
-
React · NextJS · TypeScript
+
+
+
+

+ +

+

+ Jeongwoo Seo +

+
+
+
+ + React + + + NextJS + + + TypeScript + +
-

- 안녕하세요, 서정우입니다. 사용자 경험과 깔끔한 코드 작성에 중점을 두고 - 있으며, 멈추지 않는 기술의 변화를 즐깁니다. + +

+ 안녕하세요, 서정우입니다. +

+

+ 깔끔한 코드 작성에 중점을 두고, 확장성에 대해 고민하며 멈추지 않는 + 기술의 변화를 즐깁니다.

-
-
- About image -
-
-

About Me

-

- 프론트엔드 개발자로서 React, Next.js, TypeScript를 주로 사용합니다. - 항상 사용자 입장에서 생각하고, 성능 최적화에 관심이 많으며, 지속적인 - 학습과 성장을 추구합니다. -

-
- - - - - - +
+
+
+
+
+ About image +
+
+
+
+

+ About Me +

+
+
+

+ 프론트엔드 개발자로서 React, Next.js, TypeScript를 주로 + 사용합니다. 항상 사용자 입장에서 생각하고, 성능 최적화에 관심이 + 많으며, 지속적인 학습과 성장을 추구합니다. +

+
-
-

Featured Projects

-
+
+
+

+ Featured Projects +

+
+
+
{projects.map((project) => { return ; })}
-
-

Latest Articles

-
+
+
+

+ Latest Articles +

+
+
+
{loading ? ( <> -
- - - +
+ +
+ + +
-
- - - +
+ +
+ + +
-
- - - +
+ +
+ + +
) : ( @@ -155,9 +224,9 @@ export default function Home() { -
+
{`Article
-

{post.title}

-

- {post.subTitle && post.subTitle.slice(0, 80)} -

+
+

+ {post.title} +

+

+ {post.subTitle && post.subTitle.slice(0, 80)} +

+
)) )} diff --git a/tailwind.config.ts b/tailwind.config.ts index 3513af4..345940e 100644 --- a/tailwind.config.ts +++ b/tailwind.config.ts @@ -40,12 +40,10 @@ const config: Config = { slideUp: { '0%': { transform: 'translateY(50%)', - width: '20%', opacity: '0', }, '100%': { transform: 'translateY(0)', - width: '100%', opacity: '1', }, },