-
Notifications
You must be signed in to change notification settings - Fork 0
refactor: about 페이지 디자인 수정 #29
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -1,9 +1,78 @@ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| import { FaReact, FaGithub, FaMobileAlt, FaBlog } from "react-icons/fa"; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| import { HiMail } from "react-icons/hi"; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| import { SiNextdotjs, SiTypescript, SiJavascript, SiTailwindcss } from "react-icons/si"; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| export default function AboutPage() { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| const techStack = [ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| { icon: <FaReact className="text-4xl text-[#61DAFB]" />, label: "React" }, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| { icon: <SiNextdotjs className="text-4xl text-black" />, label: "Next.js" }, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| { icon: <SiJavascript className="text-4xl text-[#F7DF1E]" />, label: "JavaScript" }, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| { icon: <SiTypescript className="text-4xl text-[#3178C6]" />, label: "TypeScript" }, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| { icon: <FaMobileAlt className="text-4xl text-[#61DAFB]" />, label: "React Native" }, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| { icon: <SiTailwindcss className="text-4xl text-[#06B6D4]" />, label: "Tailwind" }, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ]; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| return ( | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| <div className="mx-auto flex size-full flex-col justify-between py-10 tablet:w-tablet desktop:w-desktop"> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| <section className="flex flex-col items-center"> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| <span className="text-xl">프론트엔드 개발자 정민재 입니다!</span> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| <div className="mx-auto size-full max-w-4xl px-5 py-12 md:py-20"> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| {/* 헤로 섹션 */} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| <section className="mb-20 text-center"> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| <div className="relative inline-block"> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| {/* <div className="absolute -inset-1 rounded-lg bg-gradient-to-r from-blue-600 to-purple-600 opacity-20 blur-[14px]" /> */} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| <h1 className="relative text-5xl font-bold tracking-tight md:text-6xl"> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| <span className="bg-gradient-to-r from-blue-600 to-purple-600 bg-clip-text text-transparent">정민재</span> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| </h1> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| </div> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| <p className="mt-4 text-2xl font-medium text-gray-800">사용자 경험을 완성하는 개발자</p> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| <p className="mx-auto mt-6 max-w-2xl text-lg leading-relaxed text-gray-700"> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| <span className="mb-4 block font-medium text-brand-quaternary">{`"개발자가 불편해야 사용자가 편하다"`}</span> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 프론트엔드의 시각적 표현과 기술적 완성도의 조화를 추구합니다. 사용자 피드백을 반영한 개선 경험을 바탕으로, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 눈에 보이는 결과물에서 보람을 느끼는 개발자입니다. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| </p> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| </section> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Comment on lines
+16
to
31
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧹 Nitpick (assertive) 헤더 섹션 디자인 개선 이름과 소개 문구가 포함된 헤더 섹션이 시각적으로 잘 구성되어 있습니다. 그라데이션 텍스트 효과와 간결한 설명이 효과적입니다. 20번 라인에 주석 처리된 배경 효과 코드가 있습니다. 이 효과를 사용할 계획이 없다면 제거하는 것이 코드 가독성에 도움이 될 것입니다. - {/* <div className="absolute -inset-1 rounded-lg bg-gradient-to-r from-blue-600 to-purple-600 opacity-20 blur-[14px]" /> */}📝 Committable suggestion
Suggested change
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| {/* 기술 스택 섹션 */} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| <section className="mb-20"> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| <h2 className="mb-12 text-center text-3xl font-bold">Tech Stack</h2> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| <div className="grid grid-cols-3 gap-6 md:grid-cols-6"> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| {techStack.map(({ icon, label }, index) => ( | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| <div | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| key={index} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| className="flex flex-col items-center justify-center space-y-2 rounded-xl bg-gray-200 p-4 transition-all duration-300 hover:bg-gray-300 hover:shadow-lg" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| > | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| <div className="flex size-12 items-center justify-center">{icon}</div> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| <span className="text-sm font-medium text-gray-800">{label}</span> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| </div> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ))} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| </div> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| </section> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Comment on lines
+33
to
+47
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧹 Nitpick (assertive) 기술 스택 섹션 구현 확인 기술 스택을 그리드 레이아웃으로 표현한 것이 시각적으로 효과적입니다. 각 기술에 대한 아이콘과 레이블이 잘 표시되며, 호버 효과도 적절히 구현되어 있습니다. map 함수에서 index를 key로 사용하고 있는데(39번 라인), React에서는 항목의 순서가 변경될 가능성이 있을 때 index를 key로 사용하는 것을 권장하지 않습니다. 이 경우에는 label과 같은 고유한 값을 key로 사용하는 것이 더 좋습니다. - {techStack.map(({ icon, label }, index) => (
- <div
- key={index}
+ {techStack.map(({ icon, label }) => (
+ <div
+ key={label}📝 Committable suggestion
Suggested change
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| {/* 연락처 섹션 */} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| <div className="flex flex-col items-center space-y-6"> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| <h3 className="text-2xl font-bold">{"Let's Connect!"}</h3> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| <div className="flex space-x-8"> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| {[ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| name: "GitHub", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| icon: <FaGithub className="text-4xl hover:text-purple-600" />, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| url: "https://github.com/wjsdncl", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| }, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| name: "Email", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| icon: <HiMail className="text-4xl hover:text-blue-600" />, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| url: "mailto:wjsdncl2222@gmail.com", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| }, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| name: "Blog", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| icon: <FaBlog className="text-4xl hover:text-green-600" />, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| url: "/", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| }, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ].map((link) => ( | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| <a key={link.name} href={link.url} className="transition-transform duration-300 hover:scale-110"> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| {link.icon} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| </a> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ))} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| </div> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| </div> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| </div> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| } | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧹 Nitpick (assertive)
기술 스택 데이터 구조 구현 확인
기술 스택을 표현하기 위한 데이터 구조가 잘 구성되어 있습니다. 각 기술에 대한 아이콘과 레이블이 포함되어 있고, 아이콘에 적절한 스타일링이 적용되어 있습니다.
다만, React Native 항목에 React와 동일한 색상(#61DAFB)을 사용하고 FaMobileAlt 아이콘을 사용하는 것은 약간 혼란스러울 수 있습니다. React Native의 공식 색상이나 로고를 확인해보는 것이 좋겠습니다.