From 2c53a46108104119684aefe69945401e3bb5d369 Mon Sep 17 00:00:00 2001 From: soryeongk Date: Fri, 24 Jun 2022 21:39:03 +0900 Subject: [PATCH 1/8] feat: set page router --- src/App.tsx | 3 ++- src/assets/.keep | 0 src/components/.keep | 0 src/pages/.keep | 0 src/pages/Detail.tsx | 3 +++ src/pages/Main.tsx | 3 +++ src/pages/Router.tsx | 14 ++++++++++++++ 7 files changed, 22 insertions(+), 1 deletion(-) delete mode 100644 src/assets/.keep delete mode 100644 src/components/.keep delete mode 100644 src/pages/.keep create mode 100644 src/pages/Detail.tsx create mode 100644 src/pages/Main.tsx create mode 100644 src/pages/Router.tsx diff --git a/src/App.tsx b/src/App.tsx index 0ec44d9..a4a7275 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,15 +1,16 @@ -import React from 'react'; import { ApolloProvider } from '@apollo/client'; import { ThemeProvider } from 'styled-components'; import GlobalStyle from './styles/globalStyle'; import client from './apollo/client'; import theme from './styles/theme'; +import Router from './pages/Router'; function App() { return ( + ); diff --git a/src/assets/.keep b/src/assets/.keep deleted file mode 100644 index e69de29..0000000 diff --git a/src/components/.keep b/src/components/.keep deleted file mode 100644 index e69de29..0000000 diff --git a/src/pages/.keep b/src/pages/.keep deleted file mode 100644 index e69de29..0000000 diff --git a/src/pages/Detail.tsx b/src/pages/Detail.tsx new file mode 100644 index 0000000..4c5e07a --- /dev/null +++ b/src/pages/Detail.tsx @@ -0,0 +1,3 @@ +export default function Detail() { + return
detail
; +} diff --git a/src/pages/Main.tsx b/src/pages/Main.tsx new file mode 100644 index 0000000..8158d25 --- /dev/null +++ b/src/pages/Main.tsx @@ -0,0 +1,3 @@ +export default function Main() { + return
main
; +} diff --git a/src/pages/Router.tsx b/src/pages/Router.tsx new file mode 100644 index 0000000..ce19d54 --- /dev/null +++ b/src/pages/Router.tsx @@ -0,0 +1,14 @@ +import { BrowserRouter, Route, Routes } from 'react-router-dom'; +import Detail from './Detail'; +import Main from './Main'; + +export default function Router() { + return ( + + + } /> + } /> + + + ); +} From 05bad8197a8e2ca828c0be89e1a5ac31c7cf9a1c Mon Sep 17 00:00:00 2001 From: soryeongk Date: Fri, 24 Jun 2022 23:22:57 +0900 Subject: [PATCH 2/8] =?UTF-8?q?MERGE:=20=EC=B0=8C=EB=8B=88=20=EC=BD=94?= =?UTF-8?q?=EB=93=9C=20=ED=95=A9=EC=B9=98=EA=B8=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 1 + src/assets/fonts/AirbnbCereal_W_Bd.otf | Bin 0 -> 56376 bytes src/assets/fonts/AirbnbCereal_W_Lt.otf | Bin 0 -> 53900 bytes src/assets/fonts/AirbnbCereal_W_Md.otf | Bin 0 -> 56156 bytes src/assets/svgIcons/Heart.tsx | 23 ++++ src/assets/svgIcons/LinkArrow.tsx | 26 +++++ src/assets/svgIcons/Star.tsx | 19 ++++ src/components/Card.tsx | 144 +++++++++++++++++++++++++ src/components/Slider.tsx | 61 +++++++++++ src/pages/Main.tsx | 19 +++- src/styles/globalStyle.ts | 19 ++++ src/types/font.d.ts | 1 + yarn.lock | 20 ++++ 13 files changed, 332 insertions(+), 1 deletion(-) create mode 100644 src/assets/fonts/AirbnbCereal_W_Bd.otf create mode 100644 src/assets/fonts/AirbnbCereal_W_Lt.otf create mode 100644 src/assets/fonts/AirbnbCereal_W_Md.otf create mode 100644 src/assets/svgIcons/Heart.tsx create mode 100644 src/assets/svgIcons/LinkArrow.tsx create mode 100644 src/assets/svgIcons/Star.tsx create mode 100644 src/components/Card.tsx create mode 100644 src/components/Slider.tsx create mode 100644 src/types/font.d.ts diff --git a/package.json b/package.json index cdd64cf..689f202 100644 --- a/package.json +++ b/package.json @@ -20,6 +20,7 @@ "react-scripts": "5.0.1", "styled-components": "^5.3.5", "styled-reset": "^4.4.1", + "swiper": "^8.2.4", "typescript": "^4.4.2", "web-vitals": "^2.1.0" }, diff --git a/src/assets/fonts/AirbnbCereal_W_Bd.otf b/src/assets/fonts/AirbnbCereal_W_Bd.otf new file mode 100644 index 0000000000000000000000000000000000000000..17534ca3ea66e2fc2466e34dd6e3cfbf5e0e75b3 GIT binary patch literal 56376 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®7?iG~VP2{2}>OBTEmKUi+pan$=QK&h> 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 literal 0 HcmV?d00001 diff --git a/src/assets/fonts/AirbnbCereal_W_Lt.otf b/src/assets/fonts/AirbnbCereal_W_Lt.otf new file mode 100644 index 0000000000000000000000000000000000000000..a2e76b66c4d11ed58506b389bcc581971d525bd5 GIT binary patch literal 53900 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

- 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 literal 0 HcmV?d00001 diff --git a/src/assets/fonts/AirbnbCereal_W_Md.otf b/src/assets/fonts/AirbnbCereal_W_Md.otf new file mode 100644 index 0000000000000000000000000000000000000000..44474a04ebc6cb2140e4c7c44bb21d731a0cd77d GIT binary patch literal 56156 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 literal 0 HcmV?d00001 diff --git a/src/assets/svgIcons/Heart.tsx b/src/assets/svgIcons/Heart.tsx new file mode 100644 index 0000000..e55d616 --- /dev/null +++ b/src/assets/svgIcons/Heart.tsx @@ -0,0 +1,23 @@ +function Heart() { + return ( + + ); +} + +export default Heart; diff --git a/src/assets/svgIcons/LinkArrow.tsx b/src/assets/svgIcons/LinkArrow.tsx new file mode 100644 index 0000000..d2f264c --- /dev/null +++ b/src/assets/svgIcons/LinkArrow.tsx @@ -0,0 +1,26 @@ +function LinkArrow() { + return ( + + ); +} + +export default LinkArrow; diff --git a/src/assets/svgIcons/Star.tsx b/src/assets/svgIcons/Star.tsx new file mode 100644 index 0000000..986dc8b --- /dev/null +++ b/src/assets/svgIcons/Star.tsx @@ -0,0 +1,19 @@ +function Star() { + return ( + + ); +} + +export default Star; diff --git a/src/components/Card.tsx b/src/components/Card.tsx new file mode 100644 index 0000000..730e46b --- /dev/null +++ b/src/components/Card.tsx @@ -0,0 +1,144 @@ +/* eslint-disable react/require-default-props */ +import styled from 'styled-components'; +import { useState } from 'react'; +import Heart from '../assets/svgIcons/Heart'; +import Star from '../assets/svgIcons/Star'; + +const StFlexbox = styled.div` + display: flex; + gap: 2px; +`; + +const StCard = styled.a` + width: 157px; + display: flex; + flex-direction: column; + gap: 8px; + + font-family: 'Cereal'; +`; + +const StImageBox = styled.div<{ url: string }>` + position: relative; + width: 100%; + height: 210px; + background-image: url(${(props) => props.url}); + background-position: center; + background-size: contain; + background-repeat: no-repeat; + + border-radius: 18px; +`; + +const StLikeButton = styled.button<{ isLiked: boolean }>` + position: absolute; + top: 3px; + right: 3px; + + background-color: transparent; + border: none; + + & > svg { + fill: ${(props) => (props.isLiked ? '#FF385C' : 'rgba(0, 0, 0, 0.5)')}; + } +`; +const StStar = styled(Star)` + display: flex; +`; + +const StInformation = styled(StFlexbox)` + flex-direction: column; + gap: 8px; +`; + +const StReviewRating = styled.span` + font-size: 14px; + font-weight: 300; +`; + +const StReviewCount = styled.span` + font-size: 14px; + font-weight: 300; + color: ${({ theme }) => theme.colors.foggy}; +`; + +const StNation = styled.span` + font-weight: 400; + font-size: 12px; + color: ${({ theme }) => theme.colors.foggy}; + &::before { + content: ' · '; + } +`; + +const StCardDesc = styled.p` + display: -webkit-box; + font-size: 14px; + line-height: 1.2em; + + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + white-space: normal; + word-wrap: break-word; + + overflow: hidden; + text-overflow: ellipsis; +`; + +const StPrice = styled.p` + font-size: 14px; + font-weight: bolder; + &::after { + content: '/인'; + font-weight: 300; + } +`; + +export interface CardProps { + desc: string; + reviewCount: number; + reviewRating: number; + price: number; + nation: string; + thumbnail: string; + isLiked: boolean; +} + +function Card(props: CardProps) { + const { + desc, + reviewCount, + reviewRating, + price, + nation, + thumbnail, + isLiked: isDefaultLiked, + } = props; + const [isLiked, setIsLiked] = useState(isDefaultLiked); + + const handleClickLike = () => { + setIsLiked((prevLikeState) => !prevLikeState); + }; + + return ( + + + + + + + + + + {reviewRating} + ({reviewCount}) + {nation} + + {desc} + ₩{price.toLocaleString()}~ + + + ); +} + +export default Card; diff --git a/src/components/Slider.tsx b/src/components/Slider.tsx new file mode 100644 index 0000000..c81f3bf --- /dev/null +++ b/src/components/Slider.tsx @@ -0,0 +1,61 @@ +/* eslint-disable react/jsx-props-no-spreading */ +import styled from 'styled-components'; +import { Swiper, SwiperSlide } from 'swiper/react'; +import { Scrollbar } from 'swiper'; +import 'swiper/css'; +import Card, { CardProps } from './Card'; +import LinkArrow from '../assets/svgIcons/LinkArrow'; + +const StContainer = styled.div` + .swiper-slide:first-child { + padding-left: 24px; + } +`; + +const StLabel = styled.a` + display: flex; + align-items: baseline; + + font-size: 22px; + line-height: 26px; + font-family: 'Cereal'; + font-weight: 500; + text-decoration: none; + color: inherit; + + padding: 0 24px; + margin-bottom: 16px; + word-break: keep-all; +`; + +interface SliderProps { + label: string; + cardList: CardProps[]; +} + +function Slider(props: SliderProps) { + const { label, cardList } = props; + + return ( + + +

{label}

+ + + + {cardList.map((cardInfo) => ( + + + + ))} + + + ); +} + +export default Slider; diff --git a/src/pages/Main.tsx b/src/pages/Main.tsx index 8158d25..29d8c13 100644 --- a/src/pages/Main.tsx +++ b/src/pages/Main.tsx @@ -1,3 +1,20 @@ +import Slider from '../components/Slider'; + +const dummyCardInfo = { + desc: '완벽한 뉴욕 휴가 계획하기', + reviewCount: 139, + reviewRating: 4.99, + price: 11688, + nation: '미국', + thumbnail: + 'https://a0.muscache.com/im/pictures/lombard/MtTemplate-2496585-poster/original/e6de8fae-018d-4411-b0a3-81bbb6e4e5c3.jpeg', +}; + export default function Main() { - return
main
; + return ( + + ); } diff --git a/src/styles/globalStyle.ts b/src/styles/globalStyle.ts index 043280f..0a443c9 100644 --- a/src/styles/globalStyle.ts +++ b/src/styles/globalStyle.ts @@ -1,9 +1,28 @@ import { createGlobalStyle } from 'styled-components'; import reset from 'styled-reset'; +import Medium from '../assets/fonts/AirbnbCereal_W_Md.otf'; +import Bold from '../assets/fonts/AirbnbCereal_W_Bd.otf'; +import Light from '../assets/fonts/AirbnbCereal_W_Lt.otf'; const GlobalStyle = createGlobalStyle` ${reset} + @font-face { + font-family: 'Cereal'; + src: url(${Medium}) format('opentype'); + font-weight: 500; + } + @font-face { + font-family: 'Cereal'; + src: url(${Bold}) format('opentype'); + font-weight: 700; + } + @font-face { + font-family: 'Cereal'; + src: url(${Light}) format('opentype'); + font-weight: 300; + } + #root, body, html { width: 375px; height: 100%; diff --git a/src/types/font.d.ts b/src/types/font.d.ts new file mode 100644 index 0000000..24b3ef1 --- /dev/null +++ b/src/types/font.d.ts @@ -0,0 +1 @@ +declare module '*.otf'; diff --git a/yarn.lock b/yarn.lock index 4c3d18a..84077bb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3778,6 +3778,13 @@ dom-serializer@^1.0.1: domhandler "^4.2.0" entities "^2.0.0" +dom7@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/dom7/-/dom7-4.0.4.tgz#8b68c5d8e5e2ed0fddb1cb93e433bc9060c8f3fb" + integrity sha512-DSSgBzQ4rJWQp1u6o+3FVwMNnT5bzQbMb+o31TjYYeRi05uAcpF8koxdfzeoe5ElzPmua7W7N28YJhF7iEKqIw== + dependencies: + ssr-window "^4.0.0" + domelementtype@1: version "1.3.1" resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" @@ -8089,6 +8096,11 @@ sprintf-js@~1.0.2: resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== +ssr-window@^4.0.0, ssr-window@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/ssr-window/-/ssr-window-4.0.2.tgz#dc6b3ee37be86ac0e3ddc60030f7b3bc9b8553be" + integrity sha512-ISv/Ch+ig7SOtw7G2+qkwfVASzazUnvlDTwypdLoPoySv+6MqlOV10VwPSE6EWkGjhW50lUmghPmpYZXMu/+AQ== + stable@^0.1.8: version "0.1.8" resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" @@ -8352,6 +8364,14 @@ svgo@^2.7.0: picocolors "^1.0.0" stable "^0.1.8" +swiper@^8.2.4: + version "8.2.4" + resolved "https://registry.yarnpkg.com/swiper/-/swiper-8.2.4.tgz#2d377bb49ece6b3b21792667c2a8cce28390dee0" + integrity sha512-TPq64KiZUt8lZY5ZEg75RjToT+RwfLomfKIpcFLy6+UCUp2kL7hHWslLxjFtcFeiwfG67RHFYbJnq6tsothcJQ== + dependencies: + dom7 "^4.0.4" + ssr-window "^4.0.2" + symbol-observable@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-4.0.0.tgz#5b425f192279e87f2f9b937ac8540d1984b39205" From 2d6ff14ee5ff0f6eeb005c26dfe950b122230e56 Mon Sep 17 00:00:00 2001 From: soryeongk Date: Fri, 24 Jun 2022 23:23:29 +0900 Subject: [PATCH 3/8] feat: set asset and dummy data --- src/assets/svgIcons/GallerySliderIcons.tsx | 58 +++++++++++++++++++++ src/assets/svgIcons/images/GalleryImages.ts | 44 ++++++++++++++++ 2 files changed, 102 insertions(+) create mode 100644 src/assets/svgIcons/GallerySliderIcons.tsx create mode 100644 src/assets/svgIcons/images/GalleryImages.ts diff --git a/src/assets/svgIcons/GallerySliderIcons.tsx b/src/assets/svgIcons/GallerySliderIcons.tsx new file mode 100644 index 0000000..1b36cf4 --- /dev/null +++ b/src/assets/svgIcons/GallerySliderIcons.tsx @@ -0,0 +1,58 @@ +import styled, { css } from 'styled-components'; + +interface IconArrowProps { + direction: 'next' | 'prev'; + onGalleryIndex: (direction: 'next' | 'prev') => void; +} + +const StSvg = styled.svg<{ direction: 'next' | 'prev' }>` + position: absolute; + z-index: 5; + + top: 250px; + ${({ direction }) => + direction === 'prev' + ? css` + left: 5px; + ` + : css` + right: 5px; + `} + display: block; + + height: 19px; + width: 19px; + fill: rgb(255, 255, 255); +`; + +function IconArrow(props: IconArrowProps) { + const { direction, onGalleryIndex } = props; + const arrow = + direction === 'next' ? ( + + ) : ( + + ); + + return ( + onGalleryIndex(direction)} + viewBox="0 0 18 18" + role="img" + aria-hidden="false" + aria-label={direction} + focusable="false" + direction={direction} + > + {arrow} + + ); +} + +export default { IconArrow }; diff --git a/src/assets/svgIcons/images/GalleryImages.ts b/src/assets/svgIcons/images/GalleryImages.ts new file mode 100644 index 0000000..a79a61e --- /dev/null +++ b/src/assets/svgIcons/images/GalleryImages.ts @@ -0,0 +1,44 @@ +const MOCK_IMAGE_LIST = [ + { + url: 'https://dummyimage.com/720x960/FF5A5F/fff.png&text=%20%20AirBorB01', + alt: '더미 사진01', + }, + { + url: 'https://dummyimage.com/720x960/00A699/fff.png&text=%20%20AirBorB02', + alt: '더미 사진02', + }, + { + url: 'https://dummyimage.com/720x960/FC642D/fff.png&text=%20%20AirBorB03', + alt: '더미 사진03', + }, + { + url: 'https://dummyimage.com/720x960/484848/fff.png&text=%20%20AirBorB04', + alt: '더미 사진04', + }, + { + url: 'https://dummyimage.com/720x960/767676/fff.png&text=%20%20AirBorB05', + alt: '더미 사진05', + }, + { + url: 'https://dummyimage.com/720x960/FF5A5F/fff.png&text=%20%20AirBorB06', + alt: '더미 사진06', + }, + { + url: 'https://dummyimage.com/720x960/00A699/fff.png&text=%20%20AirBorB07', + alt: '더미 사진07', + }, + { + url: 'https://dummyimage.com/720x960/FC642D/fff.png&text=%20%20AirBorB08', + alt: '더미 사진08', + }, + { + url: 'https://dummyimage.com/720x960/484848/fff.png&text=%20%20AirBorB09', + alt: '더미 사진09', + }, + { + url: 'https://dummyimage.com/720x960/767676/fff.png&text=%20%20AirBorB10', + alt: '더미 사진10', + }, +]; + +export default MOCK_IMAGE_LIST; From b39eb1eb5704809f3b1c140ca15ff4caa14b91f7 Mon Sep 17 00:00:00 2001 From: soryeongk Date: Fri, 24 Jun 2022 23:23:46 +0900 Subject: [PATCH 4/8] =?UTF-8?q?feat:=20gallery=20slider=20=ED=8D=BC?= =?UTF-8?q?=EB=B8=94=EB=A6=AC=EC=8B=B1=20=EC=99=84=EB=A3=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/GallerySlider.tsx | 134 +++++++++++++++++++++++++++++++ src/pages/Detail.tsx | 4 +- 2 files changed, 137 insertions(+), 1 deletion(-) create mode 100644 src/components/GallerySlider.tsx diff --git a/src/components/GallerySlider.tsx b/src/components/GallerySlider.tsx new file mode 100644 index 0000000..1d158ac --- /dev/null +++ b/src/components/GallerySlider.tsx @@ -0,0 +1,134 @@ +import { useCallback, useEffect, useMemo, useState } from 'react'; +import styled, { css } from 'styled-components'; +import GallerySliderIcons from '../assets/svgIcons/GallerySliderIcons'; +import MOCK_IMAGE_LIST from '../assets/svgIcons/images/GalleryImages'; + +const StGalleryWrapper = styled.section` + position: relative; + + width: 100%; + height: 500px; +`; + +const StImagesWrapper = styled.div` + position: relative; + overflow-x: scroll; + display: flex; + height: 100%; +`; + +const StImage = styled.img` + position: absolute; + left: 0; + + width: 100%; + height: 100%; +`; + +const StSpareImage = styled(StImage)<{ direction: 'next' | 'prev' }>` + visibility: hidden; + + ${({ direction }) => + direction === 'prev' + ? css` + left: -375px; + ` + : css` + right: -375px; + `} +`; + +const StCarouseDotWrapper = styled.nav` + position: absolute; + bottom: 5px; + + display: flex; + justify-content: space-between; + + padding: 0 15px; + width: 100%; +`; + +const StCarouselDot = styled.button<{ isactive: boolean }>` + border: none; + background-color: ${({ isactive }) => (isactive ? 'white' : '#FFFFFF66')}; + width: 25px; + height: 2px; +`; + +export default function GallerySlider() { + const GalleryMaxIndex = MOCK_IMAGE_LIST.length - 1; + const [galleryIndex, setGalleryIndex] = useState(0); + + const getGalleryIndex = useCallback( + (current: number, direction: 'next' | 'prev') => { + if (direction === 'prev') { + if (current === 0) return GalleryMaxIndex; + return current - 1; + } + if (current === GalleryMaxIndex) return 0; + return current + 1; + }, + [GalleryMaxIndex], + ); + + const handleGalleryIndex = (direction: 'next' | 'prev') => { + setGalleryIndex((current) => getGalleryIndex(current, direction)); + }; + + const prevGalleryIndex = useMemo(() => { + return getGalleryIndex(galleryIndex, 'prev'); + }, [galleryIndex, getGalleryIndex]); + + const nextGalleryIndex = useMemo(() => { + return getGalleryIndex(galleryIndex, 'next'); + }, [galleryIndex, getGalleryIndex]); + + const arrow = (direction: 'prev' | 'next') => { + return ( + + ); + }; + + useEffect(() => { + const carouselTimer = setTimeout(() => { + setGalleryIndex((current) => getGalleryIndex(current, 'next')); + }, 5000); + + return () => { + clearTimeout(carouselTimer); + }; + }, [getGalleryIndex, galleryIndex]); + + return ( + + {arrow('prev')} + + + + + + + {arrow('next')} + + {/* 슬라이더 하단 점박이들 */} + + {MOCK_IMAGE_LIST.map((image, idx) => ( + setGalleryIndex(idx)} + /> + ))} + + + ); +} diff --git a/src/pages/Detail.tsx b/src/pages/Detail.tsx index 4c5e07a..2ca7961 100644 --- a/src/pages/Detail.tsx +++ b/src/pages/Detail.tsx @@ -1,3 +1,5 @@ +import GallerySlider from '../components/GallerySlider'; + export default function Detail() { - return
detail
; + return ; } From 1d101c535b7c5cda29714cec6c3239d49ba3fd81 Mon Sep 17 00:00:00 2001 From: soryeongk Date: Fri, 24 Jun 2022 21:39:03 +0900 Subject: [PATCH 5/8] feat: set page router --- src/App.tsx | 18 ++---------------- src/assets/.keep | 0 src/components/.keep | 0 src/pages/.keep | 0 src/pages/Detail.tsx | 3 +++ src/pages/Main.tsx | 3 +++ src/pages/Router.tsx | 14 ++++++++++++++ 7 files changed, 22 insertions(+), 16 deletions(-) delete mode 100644 src/assets/.keep delete mode 100644 src/components/.keep delete mode 100644 src/pages/.keep create mode 100644 src/pages/Detail.tsx create mode 100644 src/pages/Main.tsx create mode 100644 src/pages/Router.tsx diff --git a/src/App.tsx b/src/App.tsx index 19bab47..a4a7275 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,30 +1,16 @@ -import React from 'react'; import { ApolloProvider } from '@apollo/client'; import { ThemeProvider } from 'styled-components'; import GlobalStyle from './styles/globalStyle'; import client from './apollo/client'; import theme from './styles/theme'; -import Slider from './components/Slider'; - -const dummyCardInfo = { - desc: '완벽한 뉴욕 휴가 계획하기', - reviewCount: 139, - reviewRating: 4.99, - price: 11688, - nation: '미국', - thumbnail: - 'https://a0.muscache.com/im/pictures/lombard/MtTemplate-2496585-poster/original/e6de8fae-018d-4411-b0a3-81bbb6e4e5c3.jpeg', -}; +import Router from './pages/Router'; function App() { return ( - + ); diff --git a/src/assets/.keep b/src/assets/.keep deleted file mode 100644 index e69de29..0000000 diff --git a/src/components/.keep b/src/components/.keep deleted file mode 100644 index e69de29..0000000 diff --git a/src/pages/.keep b/src/pages/.keep deleted file mode 100644 index e69de29..0000000 diff --git a/src/pages/Detail.tsx b/src/pages/Detail.tsx new file mode 100644 index 0000000..4c5e07a --- /dev/null +++ b/src/pages/Detail.tsx @@ -0,0 +1,3 @@ +export default function Detail() { + return
detail
; +} diff --git a/src/pages/Main.tsx b/src/pages/Main.tsx new file mode 100644 index 0000000..8158d25 --- /dev/null +++ b/src/pages/Main.tsx @@ -0,0 +1,3 @@ +export default function Main() { + return
main
; +} diff --git a/src/pages/Router.tsx b/src/pages/Router.tsx new file mode 100644 index 0000000..ce19d54 --- /dev/null +++ b/src/pages/Router.tsx @@ -0,0 +1,14 @@ +import { BrowserRouter, Route, Routes } from 'react-router-dom'; +import Detail from './Detail'; +import Main from './Main'; + +export default function Router() { + return ( + + + } /> + } /> + + + ); +} From 2dd4b88e66c1f1533fd1bdd8d4ed6a7bf5f22087 Mon Sep 17 00:00:00 2001 From: soryeongk Date: Fri, 24 Jun 2022 23:22:57 +0900 Subject: [PATCH 6/8] =?UTF-8?q?MERGE:=20=EC=B0=8C=EB=8B=88=20=EC=BD=94?= =?UTF-8?q?=EB=93=9C=20=ED=95=A9=EC=B9=98=EA=B8=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/Main.tsx | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/pages/Main.tsx b/src/pages/Main.tsx index 8158d25..29d8c13 100644 --- a/src/pages/Main.tsx +++ b/src/pages/Main.tsx @@ -1,3 +1,20 @@ +import Slider from '../components/Slider'; + +const dummyCardInfo = { + desc: '완벽한 뉴욕 휴가 계획하기', + reviewCount: 139, + reviewRating: 4.99, + price: 11688, + nation: '미국', + thumbnail: + 'https://a0.muscache.com/im/pictures/lombard/MtTemplate-2496585-poster/original/e6de8fae-018d-4411-b0a3-81bbb6e4e5c3.jpeg', +}; + export default function Main() { - return
main
; + return ( + + ); } From b88323abfae39e02f9dc4aba210ccae40f40e14e Mon Sep 17 00:00:00 2001 From: soryeongk Date: Fri, 24 Jun 2022 23:23:29 +0900 Subject: [PATCH 7/8] feat: set asset and dummy data --- src/assets/svgIcons/GallerySliderIcons.tsx | 58 +++++++++++++++++++++ src/assets/svgIcons/images/GalleryImages.ts | 44 ++++++++++++++++ 2 files changed, 102 insertions(+) create mode 100644 src/assets/svgIcons/GallerySliderIcons.tsx create mode 100644 src/assets/svgIcons/images/GalleryImages.ts diff --git a/src/assets/svgIcons/GallerySliderIcons.tsx b/src/assets/svgIcons/GallerySliderIcons.tsx new file mode 100644 index 0000000..1b36cf4 --- /dev/null +++ b/src/assets/svgIcons/GallerySliderIcons.tsx @@ -0,0 +1,58 @@ +import styled, { css } from 'styled-components'; + +interface IconArrowProps { + direction: 'next' | 'prev'; + onGalleryIndex: (direction: 'next' | 'prev') => void; +} + +const StSvg = styled.svg<{ direction: 'next' | 'prev' }>` + position: absolute; + z-index: 5; + + top: 250px; + ${({ direction }) => + direction === 'prev' + ? css` + left: 5px; + ` + : css` + right: 5px; + `} + display: block; + + height: 19px; + width: 19px; + fill: rgb(255, 255, 255); +`; + +function IconArrow(props: IconArrowProps) { + const { direction, onGalleryIndex } = props; + const arrow = + direction === 'next' ? ( + + ) : ( + + ); + + return ( + onGalleryIndex(direction)} + viewBox="0 0 18 18" + role="img" + aria-hidden="false" + aria-label={direction} + focusable="false" + direction={direction} + > + {arrow} + + ); +} + +export default { IconArrow }; diff --git a/src/assets/svgIcons/images/GalleryImages.ts b/src/assets/svgIcons/images/GalleryImages.ts new file mode 100644 index 0000000..a79a61e --- /dev/null +++ b/src/assets/svgIcons/images/GalleryImages.ts @@ -0,0 +1,44 @@ +const MOCK_IMAGE_LIST = [ + { + url: 'https://dummyimage.com/720x960/FF5A5F/fff.png&text=%20%20AirBorB01', + alt: '더미 사진01', + }, + { + url: 'https://dummyimage.com/720x960/00A699/fff.png&text=%20%20AirBorB02', + alt: '더미 사진02', + }, + { + url: 'https://dummyimage.com/720x960/FC642D/fff.png&text=%20%20AirBorB03', + alt: '더미 사진03', + }, + { + url: 'https://dummyimage.com/720x960/484848/fff.png&text=%20%20AirBorB04', + alt: '더미 사진04', + }, + { + url: 'https://dummyimage.com/720x960/767676/fff.png&text=%20%20AirBorB05', + alt: '더미 사진05', + }, + { + url: 'https://dummyimage.com/720x960/FF5A5F/fff.png&text=%20%20AirBorB06', + alt: '더미 사진06', + }, + { + url: 'https://dummyimage.com/720x960/00A699/fff.png&text=%20%20AirBorB07', + alt: '더미 사진07', + }, + { + url: 'https://dummyimage.com/720x960/FC642D/fff.png&text=%20%20AirBorB08', + alt: '더미 사진08', + }, + { + url: 'https://dummyimage.com/720x960/484848/fff.png&text=%20%20AirBorB09', + alt: '더미 사진09', + }, + { + url: 'https://dummyimage.com/720x960/767676/fff.png&text=%20%20AirBorB10', + alt: '더미 사진10', + }, +]; + +export default MOCK_IMAGE_LIST; From ef6178e0b6e5e627adf9a55b51e05a85637c3c73 Mon Sep 17 00:00:00 2001 From: soryeongk Date: Fri, 24 Jun 2022 23:23:46 +0900 Subject: [PATCH 8/8] =?UTF-8?q?feat:=20gallery=20slider=20=ED=8D=BC?= =?UTF-8?q?=EB=B8=94=EB=A6=AC=EC=8B=B1=20=EC=99=84=EB=A3=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/GallerySlider.tsx | 134 +++++++++++++++++++++++++++++++ src/pages/Detail.tsx | 4 +- 2 files changed, 137 insertions(+), 1 deletion(-) create mode 100644 src/components/GallerySlider.tsx diff --git a/src/components/GallerySlider.tsx b/src/components/GallerySlider.tsx new file mode 100644 index 0000000..1d158ac --- /dev/null +++ b/src/components/GallerySlider.tsx @@ -0,0 +1,134 @@ +import { useCallback, useEffect, useMemo, useState } from 'react'; +import styled, { css } from 'styled-components'; +import GallerySliderIcons from '../assets/svgIcons/GallerySliderIcons'; +import MOCK_IMAGE_LIST from '../assets/svgIcons/images/GalleryImages'; + +const StGalleryWrapper = styled.section` + position: relative; + + width: 100%; + height: 500px; +`; + +const StImagesWrapper = styled.div` + position: relative; + overflow-x: scroll; + display: flex; + height: 100%; +`; + +const StImage = styled.img` + position: absolute; + left: 0; + + width: 100%; + height: 100%; +`; + +const StSpareImage = styled(StImage)<{ direction: 'next' | 'prev' }>` + visibility: hidden; + + ${({ direction }) => + direction === 'prev' + ? css` + left: -375px; + ` + : css` + right: -375px; + `} +`; + +const StCarouseDotWrapper = styled.nav` + position: absolute; + bottom: 5px; + + display: flex; + justify-content: space-between; + + padding: 0 15px; + width: 100%; +`; + +const StCarouselDot = styled.button<{ isactive: boolean }>` + border: none; + background-color: ${({ isactive }) => (isactive ? 'white' : '#FFFFFF66')}; + width: 25px; + height: 2px; +`; + +export default function GallerySlider() { + const GalleryMaxIndex = MOCK_IMAGE_LIST.length - 1; + const [galleryIndex, setGalleryIndex] = useState(0); + + const getGalleryIndex = useCallback( + (current: number, direction: 'next' | 'prev') => { + if (direction === 'prev') { + if (current === 0) return GalleryMaxIndex; + return current - 1; + } + if (current === GalleryMaxIndex) return 0; + return current + 1; + }, + [GalleryMaxIndex], + ); + + const handleGalleryIndex = (direction: 'next' | 'prev') => { + setGalleryIndex((current) => getGalleryIndex(current, direction)); + }; + + const prevGalleryIndex = useMemo(() => { + return getGalleryIndex(galleryIndex, 'prev'); + }, [galleryIndex, getGalleryIndex]); + + const nextGalleryIndex = useMemo(() => { + return getGalleryIndex(galleryIndex, 'next'); + }, [galleryIndex, getGalleryIndex]); + + const arrow = (direction: 'prev' | 'next') => { + return ( + + ); + }; + + useEffect(() => { + const carouselTimer = setTimeout(() => { + setGalleryIndex((current) => getGalleryIndex(current, 'next')); + }, 5000); + + return () => { + clearTimeout(carouselTimer); + }; + }, [getGalleryIndex, galleryIndex]); + + return ( + + {arrow('prev')} + + + + + + + {arrow('next')} + + {/* 슬라이더 하단 점박이들 */} + + {MOCK_IMAGE_LIST.map((image, idx) => ( + setGalleryIndex(idx)} + /> + ))} + + + ); +} diff --git a/src/pages/Detail.tsx b/src/pages/Detail.tsx index 4c5e07a..2ca7961 100644 --- a/src/pages/Detail.tsx +++ b/src/pages/Detail.tsx @@ -1,3 +1,5 @@ +import GallerySlider from '../components/GallerySlider'; + export default function Detail() { - return
detail
; + return ; }