From 38be2e7a7df37f54dd54f4cf5fad9961b30dd294 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 30 Aug 2021 15:42:58 +0700 Subject: [PATCH] feat: SelectOption --- pages/index.tsx | 19 ++++++++++++-- .../SelectCommon/SelectCommon.module.scss | 11 -------- .../common/SelectCommon/SelectCommon.tsx | 11 ++++---- .../SelectOption/SelectOption.module.scss | 17 +++++++++++++ .../SelectOption/SelectOption.tsx | 25 +++++++++++++++++++ 5 files changed, 64 insertions(+), 19 deletions(-) create mode 100644 src/components/common/SelectCommon/SelectOption/SelectOption.module.scss create mode 100644 src/components/common/SelectCommon/SelectOption/SelectOption.tsx diff --git a/pages/index.tsx b/pages/index.tsx index 7ed22f1bc..8938f34a9 100644 --- a/pages/index.tsx +++ b/pages/index.tsx @@ -1,18 +1,33 @@ import { Layout } from 'src/components/common'; import { HomeBanner, HomeCategories, HomeCollection, HomeCTA, HomeFeature, HomeRecipe, HomeSubscribe, HomeVideo } from 'src/components/modules/home'; +import {SelectCommon} from 'src/components/common' + +const OPTION_SORT = [ + { + name: "By Name" + }, + { + name: "Price (High to Low)" + }, + { + name: "On Sale" + } +] export default function Home() { return ( <> - + {/* - + */} + Sort By + Sort By // todo: uncomment {/* */} diff --git a/src/components/common/SelectCommon/SelectCommon.module.scss b/src/components/common/SelectCommon/SelectCommon.module.scss index 418c9d0e6..d91b1831e 100644 --- a/src/components/common/SelectCommon/SelectCommon.module.scss +++ b/src/components/common/SelectCommon/SelectCommon.module.scss @@ -48,15 +48,9 @@ margin-top: 0.6rem; &.base{ width: 20.6rem; - .selectOption{ - padding: 1.2rem 1.6rem; - } } &.large{ width: 34.25rem; - .selectOption{ - padding: 1.6rem 1.6rem; - } } &.default{ @apply border-solid border border-current; @@ -69,11 +63,6 @@ &.active{ @apply hidden; } - .selectOption{ - &:hover{ - background-color: var(--background); - } - } } diff --git a/src/components/common/SelectCommon/SelectCommon.tsx b/src/components/common/SelectCommon/SelectCommon.tsx index e0e8c390c..5bb3d15d6 100644 --- a/src/components/common/SelectCommon/SelectCommon.tsx +++ b/src/components/common/SelectCommon/SelectCommon.tsx @@ -2,6 +2,7 @@ import s from './SelectCommon.module.scss' import classNames from 'classnames' import { useState, useRef, useEffect } from 'react' import { IconVectorDown } from 'src/components/icons' +import SelectOption from './SelectOption/SelectOption' interface Props { children? : React.ReactNode, @@ -35,6 +36,9 @@ const SelectCommon = ({ type = 'default', size = 'base', option, children }: Pro setActive(!isActive) } + const changeSelectedName = (item:string) => { + setSelectedName(item) + } return( <>
{ option.map(item => -
setSelectedName(item.name) } - >{item.name}
+ ) }
diff --git a/src/components/common/SelectCommon/SelectOption/SelectOption.module.scss b/src/components/common/SelectCommon/SelectOption/SelectOption.module.scss new file mode 100644 index 000000000..5448f9879 --- /dev/null +++ b/src/components/common/SelectCommon/SelectOption/SelectOption.module.scss @@ -0,0 +1,17 @@ +@import "../../../../styles/utilities"; + +.selectOption { + @apply outline-none; + background-color: var(--white); + &.base{ + width: 20.4rem; + padding: 0.8rem 1.6rem; + } + &.large{ + width: 33.75rem; + padding: 0.8rem 1.6rem; + } + &:hover{ + background-color: var(--gray); + } +} \ No newline at end of file diff --git a/src/components/common/SelectCommon/SelectOption/SelectOption.tsx b/src/components/common/SelectCommon/SelectOption/SelectOption.tsx new file mode 100644 index 000000000..54877d5fe --- /dev/null +++ b/src/components/common/SelectCommon/SelectOption/SelectOption.tsx @@ -0,0 +1,25 @@ +import s from './SelectOption.module.scss' +import classNames from 'classnames' + +interface Props{ + onClick: (value: string) => void, + itemName: string, + size: 'base' | 'large', +} + +const SelectOption = ({onClick, itemName, size}: Props) => { + + const changeName = () => { + onClick(itemName) + } + return( +
{itemName}
+ ) +} + +export default SelectOption \ No newline at end of file