Skip to content

Commit

Permalink
design: add animation in about page
Browse files Browse the repository at this point in the history
  • Loading branch information
hyunji-lee99 committed Dec 24, 2023
1 parent 69c7da8 commit 461f35c
Show file tree
Hide file tree
Showing 9 changed files with 115 additions and 67 deletions.
115 changes: 58 additions & 57 deletions .firebase/hosting.YnVpbGQ.cache
Original file line number Diff line number Diff line change
@@ -1,57 +1,58 @@
asset-manifest.json,1700081560379,f21148f2009ad4c63cfccb73c229df874ccb01bf4591bde63736ee565710f549
robots.txt,1700081552465,391d14b3c2f8c9143a27a28c7399585142228d4d1bdbe2c87ac946de411fa9a2
index.html,1700081560379,035534b484d4b580cf8e8fce9c6f10f276a5c5a4dc65f6c043e302cc38a4f241
images/intro/wave.svg,1700081552373,6151d95838f42150e8c78e0c3973747e09ccd76be9fc84af17ed6ac457bd6de1
images/board/write.png,1700081552373,5473773d23481ebdd97943f540d4da1d27efddca99c7bcb522b1080ac8c0a15b
images/board/snowman.png,1700081552372,9cc2e6f125dc0f5774292c6f54b1d241701fafddcc35bb73e4b78c474f47c892
images/skillset/arrow.png,1700081552461,f43a1625e422049c809d51f92a186fb9096a69f4fc412cf2e0330dcf804867f7
images/skillset/css3.svg,1700081552461,811935f4f923aaaaf32657099da4c6b2479b7223925c578d4a2c54346efee5aa
images/skillset/django.svg,1700081552461,80a481dd97dd5c2c020e6d669c664cc600805d305156af3cd4a69f78bd2533a2
images/skillset/figma.svg,1700081552461,429f024f6e8927d7aa6af473a8c83f56f97239788c48ecaafde378144aab6483
images/skillset/firebase.svg,1700081552461,e72d249bc93151e9cc0d0b1759c38db6a058097269b074d46edafd674abacabc
images/skillset/html.svg,1700081552462,3f9690a7d12e4e6a9547029700af6182af5a649478f9d52ee50bb4221252adb1
images/skillset/js.svg,1700081552462,59c30d67021f35934f46ba864a2a9895b9e718e58b28c1d2f8e3ec481d55782e
images/skillset/github.svg,1700081552462,8a7e2d52d47289ea7d8aafe2ef74805aa7c0a142c2dfa3e0d26729822514e106
images/skillset/python.svg,1700081552462,12ce1785f64589d3ff06296f4aae99507b460a780420cac766440cead01549c9
images/skillset/react.svg,1700081552462,9a6a3af9cd8950b71d5222495d285326b2e603d3bc8d10f18f3e0cfa0a434f41
images/skillset/slack.svg,1700081552463,b53b44465c98a16a8cb00e41ba1b74e1da7831cfebd452f937d1e1d249a55dfc
images/skillset/qnet.svg,1700081552462,13de1d298717d37cc8732ff92a94f31131b99e58b184307f18bc94a83f92e8a3
images/skillset/styled-components.svg,1700081552463,5384e068549ad22dbfd59d421aa3434ab6c76c72d0b339f7d63fe4d9b7dd8e88
images/skillset/ts.svg,1700081552463,1181a5aeee960fa5e8f13df3a4e2be54fa324aef32e29281fc617470f688dd29
static/css/main.43ab9f8e.css,1700081560397,a1f22ab015b278105326b876a18cd6941cc4a487cc1a1bb6a4257c2878e2c19c
images/skillset/zeplin.svg,1700081552463,7e318a83c540f699d820e217dfbea626f5b40f1ecea1ea85a93de8fc5b65c0a1
images/skillset/sqld.svg,1700081552463,e2a8d0b40e96c2d3844d200d1bcebe64f97ece72800d1cd31e6413cd7c4106ac
images/board/message_bubble.png,1700081552372,e73ba70bf7456717ad0998c131dd1f9b8b5751bdb2b3ab95c9dacdd35ebb4959
static/css/main.43ab9f8e.css.map,1700081560397,d5c98c9051147fa26ceca15c69e8fc1675a7387041d557b42ed6fea24b68f350
static/js/main.393e30a0.js.LICENSE.txt,1700081560397,cd5416542907cd17a5a0433b74fd8fbe4b37e2ec21b8636c57dd54ffa5fdf267
logo.svg,1700081552465,0765f2bdc493af04ef7819d6a3395430138973cb0599cb016b0aba1f84396afe
images/project/qrcode/qrcode-3.png,1700081552455,94e6fc25fb240bc7a2f48f44568e0d547a087b26acc97a3b9ef3e3f90109d88a
images/project/qrcode/qrcode-4.png,1700081552456,d94c0988f712fe864bfaee1042d471d817df655598d4ca37201a64ec33cc989c
images/project/portfolio/portfolio-2.png,1700081552442,7c48f1ba3be77b880c812222ac42b7e5c46bbcc72bfa3b5852a4786076903e69
images/project/qrcode/qrcode-6.png,1700081552460,1bcfd5dccbf4ce13a6e63e60199186273da536ebabc2355ed97081cb4e6989ae
images/project/qrcode/qrcode-5.png,1700081552457,583565fb8241b20306afc73691c957f3b595767d2f4109c893644501ab239255
static/media/SUITE-Regular.680ae46430dcc1be483d.otf,1700081560396,96be007d3c4e799ae9c5b282e6c41cdcb24b8621ab9bebfb4d2d3988ea40bf8c
images/project/qrcode/qrcode-2.png,1700081552454,266ae5909a9d6a3c682e56d1e4d92152ccc981c6527ae3c85bfb9be097d4fcba
static/media/SUITE-Bold.e22c698474e4f4301302.otf,1700081560398,bd924b000f9a5f9543b042cd934d0a215936249a370f2e6af6b3c31ed066cc5c
images/project/portfolio/portfolio-1.png,1700081552441,20fd5479ca8fada9b60e33651a05982578ea370d8157b8671674b943169dabc3
static/js/main.393e30a0.js,1700081560397,ee37c8d7871e7c532f94ca861c9a181072549f4ace1811e8df19f1ed9fd29c78
images/project/portfolio/portfolio-3.png,1700081552445,3724e1895e088e4bd7359c261016e6defa222ecfed407ab0b7a3c43f3cce21c2
images/project/artistella/artistella-2.png,1700081552378,0dad5fd038e906abc21c27a83cd6e252a9d974c56602d163834f835ddbc9010b
images/project/artistella/artistella-3.png,1700081552380,ebde0de43eb3f3d0b0e8814a64c81fe6b98f29ed1eaeaeac80c324c29a1abf5e
images/project/hallo/hallo-7.png,1700081552409,9fdcd7800360783fa4e45795aac973a3a4deed651ce8bca3a8de8a344990d170
images/project/portfolio/portfolio-4.png,1700081552447,7de4cf2aa0618bf5c8324a40d5fa4ecf6fe58435028259aaab3134c4740bbd84
images/project/hallo/hallo-6.png,1700081552405,222fa0af81c331f33c58b9b70f5038200f454b2e1b9e4b74535a84c9b967a061
images/project/nxdflotto/lotto-5.png,1700081552439,6453834769c94fa38ad2676b6f8857e2e32d7f0f0dd7984fbde06baf2e173377
images/project/hallo/hallo-4.png,1700081552398,a5acde0b2d0058da2824d88678f335af0da24fa47418b8943e63ec738a53b98c
images/project/hallo/hallo-2.png,1700081552386,80a3b1d977a8bb38705658e71f64b54028a6fa31c438965b64f4ec6d902b3d09
images/project/hallo/hallo-1.png,1700081552383,91e778d3f29245cb0f7e5587f49647f8e2c312ad7172cd5388d2e69dea87fc85
images/project/hallo/hallo-3.png,1700081552396,9ec68e8fdf63e734ad783eb57ac06cb957f93b2969bdfdc4378b5d978d47bd37
images/project/artistella/artistella-1.png,1700081552377,b503ddc090abb0eee498c9a6626a03b1d5d9cb83f889b105f3894ffd0e3c9523
images/project/hallo/hallo-5.png,1700081552403,a469866cb61e92e1c388e751f65836d331e43ecfea9721e4a1179c51bea9b125
images/project/qrcode/qrcode-1.png,1700081552451,db7354f34c689303e728ee3f5587920f194ffe0639adc76e3db75e883e0c1930
images/project/nxdflotto/lotto-4.png,1700081552435,db1cff59d358f9bdf2c9777d26a7d98fb21c88fc137b13a058502e71c8a0e69d
images/project/nxdflotto/lotto-3.png,1700081552429,575dcadaee72b157d17ece976975e7fc7558335c389875c6459ec440f5332aab
images/project/nxdflotto/lotto-2.png,1700081552422,0a272cd644bd2f843a6dfce085a02eed632283887747aceee2701bec89c2391f
images/project/nxdflotto/lotto-1.png,1700081552415,cdfb205bc93e8e94358ce1147ca6d69d5008fca2b294d349eb46932c77d447c3
static/js/main.393e30a0.js.map,1700081560397,cebd76bfa0c42a10e6bc1d69707573a42a2562bb3553caa6b8f7e09ccbe3232f
static/media/EF_jejudoldam.d02e2b7a6d2b97821dfb.otf,1700081560398,6be32030a0f7165c88b2c3a5a0930bdaf2bae0e5450c7a9cda2af26f737d5abc
robots.txt,1700128781529,391d14b3c2f8c9143a27a28c7399585142228d4d1bdbe2c87ac946de411fa9a2
asset-manifest.json,1700128789214,6ab753c5e807c034305aebd0d33aa2c3d7a5ddf7484c15965fa0fa1bb88b27f1
index.html,1700128789214,4e3205ec857f7d9b56236f7d52e95de85f77ed11294019c9c02c4335612b1b09
images/board/snowman.png,1700128781429,9cc2e6f125dc0f5774292c6f54b1d241701fafddcc35bb73e4b78c474f47c892
images/board/write.png,1700128781430,5473773d23481ebdd97943f540d4da1d27efddca99c7bcb522b1080ac8c0a15b
images/intro/wave.svg,1700128781430,6151d95838f42150e8c78e0c3973747e09ccd76be9fc84af17ed6ac457bd6de1
images/skillset/arrow.png,1700128781524,f43a1625e422049c809d51f92a186fb9096a69f4fc412cf2e0330dcf804867f7
images/skillset/django.svg,1700128781525,80a481dd97dd5c2c020e6d669c664cc600805d305156af3cd4a69f78bd2533a2
images/skillset/figma.svg,1700128781525,429f024f6e8927d7aa6af473a8c83f56f97239788c48ecaafde378144aab6483
images/skillset/css3.svg,1700128781524,811935f4f923aaaaf32657099da4c6b2479b7223925c578d4a2c54346efee5aa
images/skillset/firebase.svg,1700128781525,e72d249bc93151e9cc0d0b1759c38db6a058097269b074d46edafd674abacabc
images/skillset/html.svg,1700128781525,3f9690a7d12e4e6a9547029700af6182af5a649478f9d52ee50bb4221252adb1
images/skillset/github.svg,1700128781525,8a7e2d52d47289ea7d8aafe2ef74805aa7c0a142c2dfa3e0d26729822514e106
images/skillset/js.svg,1700128781526,59c30d67021f35934f46ba864a2a9895b9e718e58b28c1d2f8e3ec481d55782e
images/skillset/python.svg,1700128781526,12ce1785f64589d3ff06296f4aae99507b460a780420cac766440cead01549c9
images/skillset/react.svg,1700128781526,9a6a3af9cd8950b71d5222495d285326b2e603d3bc8d10f18f3e0cfa0a434f41
images/skillset/qnet.svg,1700128781526,13de1d298717d37cc8732ff92a94f31131b99e58b184307f18bc94a83f92e8a3
images/skillset/slack.svg,1700128781527,b53b44465c98a16a8cb00e41ba1b74e1da7831cfebd452f937d1e1d249a55dfc
images/skillset/styled-components.svg,1700128781527,5384e068549ad22dbfd59d421aa3434ab6c76c72d0b339f7d63fe4d9b7dd8e88
images/skillset/ts.svg,1700128781527,1181a5aeee960fa5e8f13df3a4e2be54fa324aef32e29281fc617470f688dd29
images/skillset/zeplin.svg,1700128781527,7e318a83c540f699d820e217dfbea626f5b40f1ecea1ea85a93de8fc5b65c0a1
images/skillset/sqld.svg,1700128781527,e2a8d0b40e96c2d3844d200d1bcebe64f97ece72800d1cd31e6413cd7c4106ac
images/board/message_bubble.png,1700128781429,e73ba70bf7456717ad0998c131dd1f9b8b5751bdb2b3ab95c9dacdd35ebb4959
static/css/main.43ab9f8e.css,1700128789232,a1f22ab015b278105326b876a18cd6941cc4a487cc1a1bb6a4257c2878e2c19c
static/css/main.43ab9f8e.css.map,1700128789232,d5c98c9051147fa26ceca15c69e8fc1675a7387041d557b42ed6fea24b68f350
static/js/main.d59a91f0.js.LICENSE.txt,1700128789232,cd5416542907cd17a5a0433b74fd8fbe4b37e2ec21b8636c57dd54ffa5fdf267
logo.svg,1700128781529,0765f2bdc493af04ef7819d6a3395430138973cb0599cb016b0aba1f84396afe
images/project/qrcode/qrcode-3.png,1700128781516,94e6fc25fb240bc7a2f48f44568e0d547a087b26acc97a3b9ef3e3f90109d88a
images/project/qrcode/qrcode-4.png,1700128781517,d94c0988f712fe864bfaee1042d471d817df655598d4ca37201a64ec33cc989c
images/project/portfolio/portfolio-2.png,1700128781504,7c48f1ba3be77b880c812222ac42b7e5c46bbcc72bfa3b5852a4786076903e69
images/project/qrcode/qrcode-6.png,1700128781524,1bcfd5dccbf4ce13a6e63e60199186273da536ebabc2355ed97081cb4e6989ae
images/project/qrcode/qrcode-5.png,1700128781518,583565fb8241b20306afc73691c957f3b595767d2f4109c893644501ab239255
static/media/SUITE-Regular.680ae46430dcc1be483d.otf,1700128789231,96be007d3c4e799ae9c5b282e6c41cdcb24b8621ab9bebfb4d2d3988ea40bf8c
images/project/qrcode/qrcode-2.png,1700128781515,266ae5909a9d6a3c682e56d1e4d92152ccc981c6527ae3c85bfb9be097d4fcba
static/media/SUITE-Bold.e22c698474e4f4301302.otf,1700128789232,bd924b000f9a5f9543b042cd934d0a215936249a370f2e6af6b3c31ed066cc5c
images/project/portfolio/portfolio-1.png,1700128781503,20fd5479ca8fada9b60e33651a05982578ea370d8157b8671674b943169dabc3
static/js/main.d59a91f0.js,1700128789232,d9e1ed538347b7278e4f469439dd3819cc80226df9fcce5107a5727378bf58d7
images/project/portfolio/portfolio-3.png,1700128781505,3724e1895e088e4bd7359c261016e6defa222ecfed407ab0b7a3c43f3cce21c2
images/project/artistella/artistella-2.png,1700128781435,0dad5fd038e906abc21c27a83cd6e252a9d974c56602d163834f835ddbc9010b
images/project/artistella/artistella-3.png,1700128781437,ebde0de43eb3f3d0b0e8814a64c81fe6b98f29ed1eaeaeac80c324c29a1abf5e
images/project/hallo/hallo-7.png,1700128781460,9fdcd7800360783fa4e45795aac973a3a4deed651ce8bca3a8de8a344990d170
images/project/portfolio/portfolio-4.png,1700128781506,7de4cf2aa0618bf5c8324a40d5fa4ecf6fe58435028259aaab3134c4740bbd84
images/project/portfolio/portfolio-5.png,1700128781507,e801fc0c009297b131a11f60278dc535fc53f70012bf8f4cd90b413bb85ce203
images/project/hallo/hallo-6.png,1700128781459,222fa0af81c331f33c58b9b70f5038200f454b2e1b9e4b74535a84c9b967a061
images/project/nxdflotto/lotto-5.png,1700128781503,6453834769c94fa38ad2676b6f8857e2e32d7f0f0dd7984fbde06baf2e173377
images/project/hallo/hallo-4.png,1700128781451,a5acde0b2d0058da2824d88678f335af0da24fa47418b8943e63ec738a53b98c
images/project/hallo/hallo-2.png,1700128781443,80a3b1d977a8bb38705658e71f64b54028a6fa31c438965b64f4ec6d902b3d09
images/project/hallo/hallo-1.png,1700128781441,91e778d3f29245cb0f7e5587f49647f8e2c312ad7172cd5388d2e69dea87fc85
images/project/hallo/hallo-3.png,1700128781445,9ec68e8fdf63e734ad783eb57ac06cb957f93b2969bdfdc4378b5d978d47bd37
images/project/artistella/artistella-1.png,1700128781433,b503ddc090abb0eee498c9a6626a03b1d5d9cb83f889b105f3894ffd0e3c9523
images/project/hallo/hallo-5.png,1700128781453,a469866cb61e92e1c388e751f65836d331e43ecfea9721e4a1179c51bea9b125
images/project/qrcode/qrcode-1.png,1700128781512,db7354f34c689303e728ee3f5587920f194ffe0639adc76e3db75e883e0c1930
images/project/nxdflotto/lotto-3.png,1700128781487,575dcadaee72b157d17ece976975e7fc7558335c389875c6459ec440f5332aab
images/project/nxdflotto/lotto-4.png,1700128781496,db1cff59d358f9bdf2c9777d26a7d98fb21c88fc137b13a058502e71c8a0e69d
images/project/nxdflotto/lotto-2.png,1700128781478,0a272cd644bd2f843a6dfce085a02eed632283887747aceee2701bec89c2391f
images/project/nxdflotto/lotto-1.png,1700128781468,cdfb205bc93e8e94358ce1147ca6d69d5008fca2b294d349eb46932c77d447c3
static/js/main.d59a91f0.js.map,1700128789232,8f9922f089ac0f712c7f3c195bfaabac21bfc9fb0885d20d852af48e37a6474f
static/media/EF_jejudoldam.d02e2b7a6d2b97821dfb.otf,1700128789233,6be32030a0f7165c88b2c3a5a0930bdaf2bae0e5450c7a9cda2af26f737d5abc
25 changes: 25 additions & 0 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
"react-router-dom": "^6.18.0",
"react-scripts": "5.0.1",
"react-snowfall": "^1.2.1",
"recoil": "^0.7.7",
"styled-components": "^6.1.1",
"typescript": "^4.9.5",
"web-vitals": "^2.1.4"
Expand Down
Binary file added public/images/project/portfolio/portfolio-5.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion public/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<meta name="theme-color" content="#000000" />
<meta
name="description"
content="Web site created using create-react-app"
content="프론트엔드 개발자 이현지의 포트폴리오 사이트 입니다!"
/>
<link rel="apple-touch-icon" href="%PUBLIC_URL%/logo.svg" />
<!--
Expand Down
5 changes: 3 additions & 2 deletions src/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import { Project } from './pages/Project';
import { Board } from './pages/Board';
import HeaderMenu from './components/HeaderMenu';
import { useRef } from 'react';
import { RecoilRoot } from 'recoil';

function App() {
const IntroRef=useRef<HTMLDivElement>(null);
Expand All @@ -15,14 +16,14 @@ function App() {
const RefList=[IntroRef, AboutRef, SkillRef, ProjectRef, BoardRef];

return (
<>
<RecoilRoot>
<HeaderMenu menuRef={RefList}/>
<Intro introRef={IntroRef} nextRef={AboutRef}/>
<About aboutRef={AboutRef} nextRef={SkillRef}/>
<Skill skillRef={SkillRef} nextRef={ProjectRef}/>
<Project projectRef={ProjectRef} nextRef={BoardRef}/>
<Board boardRef={BoardRef}/>
</>
</RecoilRoot>
);
}

Expand Down
2 changes: 1 addition & 1 deletion src/components/Project/ProjectData.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ export const ProjectData=[
{
title:"Portfolio",
member:"Solo Project",
images:["/images/project/portfolio/portfolio-1.png","/images/project/portfolio/portfolio-2.png","/images/project/portfolio/portfolio-3.png","/images/project/portfolio/portfolio-4.png"],
images:["/images/project/portfolio/portfolio-1.png","/images/project/portfolio/portfolio-2.png","/images/project/portfolio/portfolio-3.png","/images/project/portfolio/portfolio-4.png","/images/project/portfolio/portfolio-5.png"],
github:"https://github.com/hyunji-lee99/fe_portfolio",
hosturl:"https://1eehyunji.com/",
introduce:"지금까지 쌓아온 프론트엔드 기술 역량을 보여주고, 개발 과정에서 더 나은 코드와 구조, 기술에 대한 학습을 위해 동적인 반응형 웹 프론트엔드 포트폴리오 페이지를 개발 중에 있습니다. 꾸준히 코드 리팩토링을 진행할 예정입니다.",
Expand Down
30 changes: 25 additions & 5 deletions src/pages/About.tsx
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { useEffect, useRef, useState } from "react";
import { styled } from "styled-components";
import { keyframes, styled } from "styled-components";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import { faArrowRight, faArrowLeft } from "@fortawesome/free-solid-svg-icons";

import { useInView } from "react-intersection-observer";
import { DownButton } from "../components/common/DownButton";
import { RenderEducation } from "../components/About/RenderEducation";
import { RenderCareer } from "../components/About/RenderCareer";
Expand Down Expand Up @@ -42,6 +42,15 @@ const InfoSliderWrapper=styled.div`
height:100%;
display:flex;
`
const SlideLeft=keyframes`
0%{
transform: translateX(100%);
}
100%{
transform: translateX(0%);
}
`

const SliderButtonWrapper=styled.div`
position:relative;
display:flex;
Expand All @@ -51,6 +60,9 @@ const SliderButtonWrapper=styled.div`
width:100%;
height: 60%;
}
&.startAnimation{
animation: ${SlideLeft} 0.5s linear;
}
`
const Button=styled.button`
font-size:1rem;
Expand Down Expand Up @@ -80,15 +92,23 @@ type AboutProps={

export function About(prop:AboutProps){
const [currentInfo, setCurrentInfo]=useState(0);
const [onSlider, setOnSlider]=useState(false);
const SlideRef=useRef<HTMLDivElement>(null);

const {ref,inView}=useInView()
useEffect(()=>{
if(SlideRef.current){
const slideRange=SlideRef.current.offsetWidth*currentInfo;
SlideRef.current.style.transition = "all 0.5s ease-in-out";
SlideRef.current.style.transform=`translateX(-${slideRange}px)`
}
},[currentInfo])
if (inView){
setOnSlider(true);
}
else{
setOnSlider(false);
}

},[currentInfo,inView])

const onClickPrevButton=()=>{
if (currentInfo===0){
Expand All @@ -111,7 +131,7 @@ export function About(prop:AboutProps){
<Div ref={prop.aboutRef}>
<Descriptions/>
{/* slider 컴포넌트화 필요 */}
<SliderButtonWrapper>
<SliderButtonWrapper ref={ref} className={onSlider?"startAnimation":""}>
<Button onClick={onClickPrevButton} style={{left:'-10%'}}>
<FontAwesomeIcon icon={faArrowLeft}></FontAwesomeIcon>
</Button>
Expand Down
2 changes: 1 addition & 1 deletion src/pages/Project.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -26,5 +26,5 @@ export function Project(prop:ProjectProps){
<ProjectList index={curPage}/>
<ProjectMoveButton PageSelect={setCurPage}/>
<DownButton location={prop.nextRef}/>
</Div>);
</Div>);
}

0 comments on commit 461f35c

Please sign in to comment.