From 71eaa424ec02edfcb38b12cd73215c8a86de32fb Mon Sep 17 00:00:00 2001 From: lytrankieio123 Date: Tue, 24 Aug 2021 13:45:30 +0700 Subject: [PATCH 01/26] styles: input common --- pages/index.tsx | 13 +++--- .../common/ButtonCommon/ButtonCommon.tsx | 3 +- .../InputCommon/InputCommon.module.scss | 42 ++++++++++++++++++- .../common/InputCommon/InputCommon.tsx | 28 ++++++++----- src/components/icons/IconSearch.tsx | 11 +++++ src/components/icons/index.ts | 2 + src/styles/_base.scss | 3 +- src/styles/_utilities.scss | 2 +- tailwind.config.js | 9 ++-- 9 files changed, 88 insertions(+), 25 deletions(-) create mode 100644 src/components/icons/IconSearch.tsx diff --git a/pages/index.tsx b/pages/index.tsx index 85b4a208e..c20682748 100644 --- a/pages/index.tsx +++ b/pages/index.tsx @@ -1,6 +1,6 @@ import { ButtonCommon, Inputcommon, Layout } from 'src/components/common'; -import { IconBuy } from 'src/components/icons'; +import { IconBuy, IconSearch } from 'src/components/icons'; export default function Home() { return ( <> @@ -9,11 +9,14 @@ export default function Home() {

Go to src/components to make your awesome component!

Go to src/styles to find global styles!

- - - - }>Button + {/* demo */} +
+ + }/> +
+ + }>Button ) } diff --git a/src/components/common/ButtonCommon/ButtonCommon.tsx b/src/components/common/ButtonCommon/ButtonCommon.tsx index 82961b43e..f3fc32ab0 100644 --- a/src/components/common/ButtonCommon/ButtonCommon.tsx +++ b/src/components/common/ButtonCommon/ButtonCommon.tsx @@ -1,13 +1,12 @@ import classNames from 'classnames' import React, { memo } from 'react' -import { ButonType, ButtonSize } from 'src/utils/constanst.utils' import s from './ButtonCommon.module.scss' interface Props { children?: React.ReactNode, type?: 'primary' | 'light' | 'ghost', size?: 'default' | 'large', - icon?: any, + icon?: React.ReactNode, isIconSuffix?: boolean, loading?: boolean, disabled?: boolean, diff --git a/src/components/common/InputCommon/InputCommon.module.scss b/src/components/common/InputCommon/InputCommon.module.scss index af7cde088..13e27fd5f 100644 --- a/src/components/common/InputCommon/InputCommon.module.scss +++ b/src/components/common/InputCommon/InputCommon.module.scss @@ -1,5 +1,43 @@ @import "../../../styles/utilities"; -.inputCommon { - @apply custom-border-radius transition-all duration-200; +.inputWrap { + @apply flex items-center relative; + .icon { + @apply absolute; + content: ""; + left: 1.6rem; + margin-right: 1.6rem; + svg path { + fill: currentColor; + } + } + .icon + .inputCommon { + padding-left: 4.8rem; + } + .inputCommon { + @apply block w-full transition-all duration-200 rounded; + padding: 1.6rem; + border: 1px solid var(--border-line); + &:hover, + &:focus, + &:active { + outline: none; + border: 1px solid var(--primary); + @apply shadow-md; + } + + &::placeholder { + @apply text-label; + } + + &.custom { + @apply custom-border-radius border-none; + background: var(--gray); + &:hover, + &:focus, + &:active { + border: 1px solid var(--primary); + } + } + } } diff --git a/src/components/common/InputCommon/InputCommon.tsx b/src/components/common/InputCommon/InputCommon.tsx index 0e6ef87a9..d26ed98bd 100644 --- a/src/components/common/InputCommon/InputCommon.tsx +++ b/src/components/common/InputCommon/InputCommon.tsx @@ -11,11 +11,14 @@ interface Props { value?: string | number, placeholder?: string, type?: 'text' | 'number', + styleType?: 'default' | 'custom', + icon?: React.ReactNode, onChange?: (value: string | number) => void, onEnter?: (value: string | number) => void, } -const InputCommon = forwardRef(({ value, placeholder, type, onChange, onEnter }: Props, ref) => { +const InputCommon = forwardRef(({ value, placeholder, type, styleType = 'default', icon, + onChange, onEnter }: Props, ref) => { const inputElementRef = useRef(null); useImperativeHandle(ref, () => ({ @@ -36,15 +39,20 @@ const InputCommon = forwardRef(({ value, placeholder, type, onChange } return ( - +
+ { + icon && {icon} + } + +
) }) diff --git a/src/components/icons/IconSearch.tsx b/src/components/icons/IconSearch.tsx new file mode 100644 index 000000000..4fc3633b2 --- /dev/null +++ b/src/components/icons/IconSearch.tsx @@ -0,0 +1,11 @@ +import React from 'react' + +const IconSearch = () => { + return ( + + + + ) +} + +export default IconSearch diff --git a/src/components/icons/index.ts b/src/components/icons/index.ts index 155948269..c82e4fa76 100644 --- a/src/components/icons/index.ts +++ b/src/components/icons/index.ts @@ -1 +1,3 @@ export { default as IconBuy } from './IconBuy' +export { default as IconSearch } from './IconSearch' + diff --git a/src/styles/_base.scss b/src/styles/_base.scss index affd4207b..ec4273b21 100644 --- a/src/styles/_base.scss +++ b/src/styles/_base.scss @@ -32,7 +32,8 @@ --disabled: #cccccc; --border-line: #ebebeb; - --background: #f8f8f8; + --background: #fff; + --gray: #f8f8f8; --white: #fbfbfb; --font-size: 16px; diff --git a/src/styles/_utilities.scss b/src/styles/_utilities.scss index 53a0d952b..20093a1b2 100644 --- a/src/styles/_utilities.scss +++ b/src/styles/_utilities.scss @@ -89,7 +89,7 @@ } } .custom-border-radius { - border-radius: 60% 10% 60% 2%/ 10% 40% 10% 50%; + border-radius: 60% 10% 60% 2%/ 10% 20% 10% 50%; } .font-heading { diff --git a/tailwind.config.js b/tailwind.config.js index 393960c51..c22fbc0a6 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -45,10 +45,11 @@ module.exports = { 'negative-border-line': 'var(--negative-border-line)', 'negative-light': 'var(--negative-light)', - 'line': 'var(--border-line)', - 'background': 'var(--background)', - 'white': 'var(--white)', - 'disabled': 'var(--text-disabled)', + line: 'var(--border-line)', + background: 'var(--background)', + white: 'var(--white)', + gray: 'var(--gray)', + disabled: 'var(--text-disabled)', // @deprecated (NOT use these variables) 'primary-2': 'var(--primary-2)', From 6d828280a0353deffb93e05b476301602bc992b1 Mon Sep 17 00:00:00 2001 From: lytrankieio123 Date: Tue, 24 Aug 2021 13:52:01 +0700 Subject: [PATCH 02/26] styles: input search --- pages/index.tsx | 6 ++--- .../common/InputSearch/InputSearch.tsx | 22 +++++++++++++++++++ src/components/common/index.ts | 1 + src/utils/language.utils.ts | 3 +++ 4 files changed, 29 insertions(+), 3 deletions(-) create mode 100644 src/components/common/InputSearch/InputSearch.tsx diff --git a/pages/index.tsx b/pages/index.tsx index c20682748..e803f63dc 100644 --- a/pages/index.tsx +++ b/pages/index.tsx @@ -1,6 +1,6 @@ -import { ButtonCommon, Inputcommon, Layout } from 'src/components/common'; -import { IconBuy, IconSearch } from 'src/components/icons'; +import { ButtonCommon, Inputcommon, InputSearch, Layout } from 'src/components/common'; +import { IconBuy } from 'src/components/icons'; export default function Home() { return ( <> @@ -13,7 +13,7 @@ export default function Home() { {/* demo */}
- }/> +
}>Button diff --git a/src/components/common/InputSearch/InputSearch.tsx b/src/components/common/InputSearch/InputSearch.tsx new file mode 100644 index 000000000..9c02a239c --- /dev/null +++ b/src/components/common/InputSearch/InputSearch.tsx @@ -0,0 +1,22 @@ +import React from 'react'; +import { IconSearch } from 'src/components/icons'; +import { LANGUAGE } from 'src/utils/language.utils'; +import { Inputcommon } from '..'; + +interface Props { + onChange?: (value: string | number) => void, + onEnter?: (value: string | number) => void, +} + +const InputSearch = ({ onChange, onEnter }: Props) => { + return ( + } + onChange={onChange} + onEnter={onEnter} + /> + ) +} + +export default InputSearch diff --git a/src/components/common/index.ts b/src/components/common/index.ts index 4e9637e6c..22bb3c537 100644 --- a/src/components/common/index.ts +++ b/src/components/common/index.ts @@ -5,3 +5,4 @@ export { default as ViewAllItem} from './ViewAllItem/ViewAllItem' export { default as ItemWishList} from './ItemWishList/ItemWishList' export { default as Logo} from './Logo/Logo' export { default as Inputcommon} from './InputCommon/InputCommon' +export { default as InputSearch} from './InputSearch/InputSearch' diff --git a/src/utils/language.utils.ts b/src/utils/language.utils.ts index 4343ed9db..3f8d61926 100644 --- a/src/utils/language.utils.ts +++ b/src/utils/language.utils.ts @@ -3,4 +3,7 @@ export const LANGUAGE = { BUY_NOW: 'Buy now', SHOP_NOW: 'Shop now', }, + PLACE_HOLDER: { + SEARCH: 'Search', + } } \ No newline at end of file From ca16c0d605fb9294f41b7cc3a596b9263ac8aaa9 Mon Sep 17 00:00:00 2001 From: lytrankieio123 Date: Tue, 24 Aug 2021 13:54:01 +0700 Subject: [PATCH 03/26] :recycle: enhan: test pre-commit-message git hook :%s --- src/components/common/InputCommon/InputCommon.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/src/components/common/InputCommon/InputCommon.tsx b/src/components/common/InputCommon/InputCommon.tsx index d26ed98bd..c6446c990 100644 --- a/src/components/common/InputCommon/InputCommon.tsx +++ b/src/components/common/InputCommon/InputCommon.tsx @@ -5,7 +5,6 @@ import s from './InputCommon.module.scss'; type Ref = { focus: () => void } | null; - interface Props { children?: React.ReactNode, value?: string | number, From 44b8cf4608bc8daeb9bdb7ef9e7185d6ac7e84a1 Mon Sep 17 00:00:00 2001 From: lytrankieio123 Date: Tue, 24 Aug 2021 14:13:09 +0700 Subject: [PATCH 04/26] :art: styles: button with only icon :%s --- pages/index.tsx | 3 ++ .../ButtonCommon/ButtonCommon.module.scss | 44 +++++++++++++------ .../common/ButtonCommon/ButtonCommon.tsx | 5 ++- 3 files changed, 36 insertions(+), 16 deletions(-) diff --git a/pages/index.tsx b/pages/index.tsx index e803f63dc..0c3c32d2a 100644 --- a/pages/index.tsx +++ b/pages/index.tsx @@ -17,6 +17,9 @@ export default function Home() { }>Button + + }/> + } size='large'/> ) } diff --git a/src/components/common/ButtonCommon/ButtonCommon.module.scss b/src/components/common/ButtonCommon/ButtonCommon.module.scss index c9d390574..8dca7e684 100644 --- a/src/components/common/ButtonCommon/ButtonCommon.module.scss +++ b/src/components/common/ButtonCommon/ButtonCommon.module.scss @@ -11,6 +11,20 @@ cursor: not-allowed; color: var(--disabled); } + &:hover { + @apply shadow-md; + &:not(:disabled) { + filter: brightness(1.05); + } + } + &:focus { + outline: none; + filter: brightness(1.05); + } + &:focus-visible { + outline: 2px solid var(--text-active); + } + &.loading { &::before { content: ""; @@ -24,20 +38,6 @@ margin-right: 0.8rem; } } - &:hover { - @apply shadow-md; - &:not(:disabled) { - filter: brightness(1.05); - } - } - - &:focus { - outline: none; - filter: brightness(1.05); - } - &:focus-visible { - outline: 2px solid var(--text-active); - } &.light { @apply text-base bg-white; @@ -60,8 +60,18 @@ } } + &.onlyIcon { + padding: 0.8rem; + .icon { + margin: 0; + } + } + &.large { padding: 3.2rem 4.8rem; + &.onlyIcon { + padding: 1.6rem; + } &.loading { &::before { width: 2.4rem; @@ -70,6 +80,8 @@ } } + + &.preserve { flex-direction: row-reverse; .icon { @@ -79,6 +91,10 @@ .icon { margin: 0 1.6rem 0 0; + } + + .label, + .icon { svg path { fill: currentColor; } diff --git a/src/components/common/ButtonCommon/ButtonCommon.tsx b/src/components/common/ButtonCommon/ButtonCommon.tsx index f3fc32ab0..385b35077 100644 --- a/src/components/common/ButtonCommon/ButtonCommon.tsx +++ b/src/components/common/ButtonCommon/ButtonCommon.tsx @@ -13,8 +13,8 @@ interface Props { onClick?: () => void, } -const ButtonCommon = memo(({ type = 'primary', size = 'default', - icon, loading, disabled, isIconSuffix, children, onClick }: Props) => { +const ButtonCommon = memo(({ type = 'primary', size = 'default', loading = false, isIconSuffix = false, + icon, disabled, children, onClick }: Props) => { return ( + + + ) }) diff --git a/src/components/common/MenuDropdown/MenuDropdown.module.scss b/src/components/common/MenuDropdown/MenuDropdown.module.scss index 93faf3dbb..9ff3beb58 100644 --- a/src/components/common/MenuDropdown/MenuDropdown.module.scss +++ b/src/components/common/MenuDropdown/MenuDropdown.module.scss @@ -1,9 +1,6 @@ @import "../../../styles/utilities"; .menuDropdown { - // todo: remove - margin-left: 20rem; - @apply relative cursor-pointer; width: fit-content; min-width: 4.8rem; diff --git a/src/components/icons/IconHistory.tsx b/src/components/icons/IconHistory.tsx new file mode 100644 index 000000000..c36afe78d --- /dev/null +++ b/src/components/icons/IconHistory.tsx @@ -0,0 +1,11 @@ +import React from 'react' + +const IconHistory = () => { + return ( + + + + ) +} + +export default IconHistory diff --git a/src/components/icons/index.ts b/src/components/icons/index.ts index 9557e7b18..80d6f1dd4 100644 --- a/src/components/icons/index.ts +++ b/src/components/icons/index.ts @@ -2,4 +2,4 @@ export { default as IconBuy } from './IconBuy' export { default as IconSearch } from './IconSearch' export { default as IconArrowRight } from './IconArrowRight' export { default as IconUser } from './IconUser' - +export { default as IconHistory } from './IconHistory' diff --git a/src/utils/constanst.utils.ts b/src/utils/constanst.utils.ts index fb666be57..e168879b7 100644 --- a/src/utils/constanst.utils.ts +++ b/src/utils/constanst.utils.ts @@ -9,8 +9,9 @@ export const ROUTE = { HOME: '/', PRODUCTS: '/products', ABOUT: '/about', + ACCOUNT: '/account', + BUSSINESS: '/bussiness', - CONTACT: '/contact', FAQ: '/faq', CUSTOMER_SERVICE: '/customer-service', @@ -19,6 +20,16 @@ export const ROUTE = { BLOGS: '/blogs', } +export const ACCOUNT_TAB = { + CUSTOMER_INFO: '', + ORDER: 'orders', + FAVOURITE: 'wishlist', +} + +export const QUERY_KEY = { + TAB: 'tab' +} + export const KEY = { ENTER: 'Enter', } From d2ce9bbf01793032491664e1cabddc5f3a634acc Mon Sep 17 00:00:00 2001 From: lytrankieio123 Date: Wed, 25 Aug 2021 12:13:16 +0700 Subject: [PATCH 17/26] :art: styles: header menu :%s --- .../components/HeaderMenu/HeaderMenu.module.scss | 11 ++++++++++- .../Header/components/HeaderMenu/HeaderMenu.tsx | 6 ++++-- .../common/InputCommon/InputCommon.module.scss | 5 +++-- .../common/MenuDropdown/MenuDropdown.module.scss | 6 ++---- 4 files changed, 19 insertions(+), 9 deletions(-) diff --git a/src/components/common/Header/components/HeaderMenu/HeaderMenu.module.scss b/src/components/common/Header/components/HeaderMenu/HeaderMenu.module.scss index 23088a132..bcb06b9f6 100644 --- a/src/components/common/Header/components/HeaderMenu/HeaderMenu.module.scss +++ b/src/components/common/Header/components/HeaderMenu/HeaderMenu.module.scss @@ -2,14 +2,23 @@ .headerMenu { @apply flex justify-between items-center bg-white; + padding: 2.4rem 3.2rem; .left { @apply flex items-center; + .inputSearch { + margin-left: 4.8rem; + @screen md { + min-width: 51.2rem; + max-width: 50%; + } + } } .menu { @apply flex items-center list-none; li { + @apply flex justify-center items-center w-full; &:not(:last-child) { - margin-right: 4.8rem; + margin-right: 6.4rem; } a { @appy no-underline; diff --git a/src/components/common/Header/components/HeaderMenu/HeaderMenu.tsx b/src/components/common/Header/components/HeaderMenu/HeaderMenu.tsx index 7ea2a4c49..c5b716347 100644 --- a/src/components/common/Header/components/HeaderMenu/HeaderMenu.tsx +++ b/src/components/common/Header/components/HeaderMenu/HeaderMenu.tsx @@ -8,7 +8,7 @@ import s from './HeaderMenu.module.scss' const OPTION_MENU = [ { - link: '/', + link: ROUTE.ACCOUNT, name: 'Account', }, { @@ -28,7 +28,9 @@ const HeaderMenu = memo(({ }: Props) => {
Online Grocery
- +
+ +
  • diff --git a/src/components/common/InputCommon/InputCommon.module.scss b/src/components/common/InputCommon/InputCommon.module.scss index 13e27fd5f..27eaed174 100644 --- a/src/components/common/InputCommon/InputCommon.module.scss +++ b/src/components/common/InputCommon/InputCommon.module.scss @@ -16,7 +16,7 @@ } .inputCommon { @apply block w-full transition-all duration-200 rounded; - padding: 1.6rem; + padding: 1.2rem 1.6rem; border: 1px solid var(--border-line); &:hover, &:focus, @@ -31,7 +31,8 @@ } &.custom { - @apply custom-border-radius border-none; + @apply custom-border-radius; + border: 1px solid transparent; background: var(--gray); &:hover, &:focus, diff --git a/src/components/common/MenuDropdown/MenuDropdown.module.scss b/src/components/common/MenuDropdown/MenuDropdown.module.scss index 9ff3beb58..6822ac9b0 100644 --- a/src/components/common/MenuDropdown/MenuDropdown.module.scss +++ b/src/components/common/MenuDropdown/MenuDropdown.module.scss @@ -3,7 +3,6 @@ .menuDropdown { @apply relative cursor-pointer; width: fit-content; - min-width: 4.8rem; &:hover { .label { color: var(--primary); @@ -48,10 +47,9 @@ .menu { @apply hidden absolute; - // @apply absolute rounded list-none bg-white; content: ""; right: 0; - top: 0; + top: 2rem; height: max-content; min-width: 19.2rem; &:hover { @@ -60,7 +58,7 @@ .menuIner { @apply rounded list-none bg-white; border: 1px solid var(--text-active); - margin-top: 2.4rem; + margin-top: .4rem; li { @apply block transition-all duration-200 cursor-pointer text-active; padding: 0.8rem 1.6rem; From a37eabea90074016d3e838c9245d38e734e11b37 Mon Sep 17 00:00:00 2001 From: lytrankieio123 Date: Wed, 25 Aug 2021 13:52:47 +0700 Subject: [PATCH 18/26] :art: styles: header submenu :%s --- .../common/Header/Header.module.scss | 20 +----- src/components/common/Header/Header.tsx | 6 +- .../HeaderHighLight.module.scss | 1 + .../HeaderHighLight/HeaderHighLight.tsx | 1 - .../HeaderMenu/HeaderMenu.module.scss | 3 +- .../components/HeaderMenu/HeaderMenu.tsx | 1 - .../HeaderNoti/HeaderNoti.module.scss | 3 + .../HeaderSubMenu/HeaderNoti/HeaderNoti.tsx | 16 +++++ .../HeaderSubMenu/HeaderSubMenu.module.scss | 19 ++++- .../HeaderSubMenu/HeaderSubMenu.tsx | 70 ++++++++++++++++++- .../MenuDropdown/MenuDropdown.module.scss | 6 +- .../common/MenuDropdown/MenuDropdown.tsx | 8 ++- .../NotiMessage/NotiMessage.module.scss | 8 +++ .../common/NotiMessage/NotiMessage.tsx | 16 +++++ src/components/common/index.ts | 1 + src/components/icons/IconInfo.tsx | 11 +++ src/components/icons/index.ts | 1 + src/utils/constanst.utils.ts | 15 +++- tailwind.config.js | 2 +- 19 files changed, 175 insertions(+), 33 deletions(-) create mode 100644 src/components/common/Header/components/HeaderSubMenu/HeaderNoti/HeaderNoti.module.scss create mode 100644 src/components/common/Header/components/HeaderSubMenu/HeaderNoti/HeaderNoti.tsx create mode 100644 src/components/common/NotiMessage/NotiMessage.module.scss create mode 100644 src/components/common/NotiMessage/NotiMessage.tsx create mode 100644 src/components/icons/IconInfo.tsx diff --git a/src/components/common/Header/Header.module.scss b/src/components/common/Header/Header.module.scss index 0207f107f..6445db75b 100644 --- a/src/components/common/Header/Header.module.scss +++ b/src/components/common/Header/Header.module.scss @@ -1,22 +1,8 @@ @import "../../../styles/utilities"; .header { - .btn { - // @apply font-bold py-2 px-4 rounded; - } - .btnBlue { - @apply bg-primary hover:bg-warning text-label font-bold py-2 px-4 custom-border-radius; - } - .link { - color: theme("colors.warning"); - } - .heading { - @apply text-base font-heading; - } - .paragraph { - @apply topline; - } - .logo { - @apply font-logo; + .menu { + padding-left: 3.2rem; + padding-right: 3.2rem; } } diff --git a/src/components/common/Header/Header.tsx b/src/components/common/Header/Header.tsx index baf6f84dc..ba8271f2a 100644 --- a/src/components/common/Header/Header.tsx +++ b/src/components/common/Header/Header.tsx @@ -13,8 +13,10 @@ const Header = memo(({ }: Props) => { return (
    - - +
    + + +
    ) }) diff --git a/src/components/common/Header/components/HeaderHighLight/HeaderHighLight.module.scss b/src/components/common/Header/components/HeaderHighLight/HeaderHighLight.module.scss index 782139f9c..5d2fb0b8b 100644 --- a/src/components/common/Header/components/HeaderHighLight/HeaderHighLight.module.scss +++ b/src/components/common/Header/components/HeaderHighLight/HeaderHighLight.module.scss @@ -7,6 +7,7 @@ color: var(--white); .menu { @apply flex items-center list-none; + padding: .8rem 0; li { &:not(:last-child) { margin-right: 3.2rem; diff --git a/src/components/common/Header/components/HeaderHighLight/HeaderHighLight.tsx b/src/components/common/Header/components/HeaderHighLight/HeaderHighLight.tsx index 687b906d1..80d8289a4 100644 --- a/src/components/common/Header/components/HeaderHighLight/HeaderHighLight.tsx +++ b/src/components/common/Header/components/HeaderHighLight/HeaderHighLight.tsx @@ -19,7 +19,6 @@ const MENU = [ ] interface Props { - className?: string children?: any } diff --git a/src/components/common/Header/components/HeaderMenu/HeaderMenu.module.scss b/src/components/common/Header/components/HeaderMenu/HeaderMenu.module.scss index bcb06b9f6..aa4f91615 100644 --- a/src/components/common/Header/components/HeaderMenu/HeaderMenu.module.scss +++ b/src/components/common/Header/components/HeaderMenu/HeaderMenu.module.scss @@ -2,7 +2,8 @@ .headerMenu { @apply flex justify-between items-center bg-white; - padding: 2.4rem 3.2rem; + padding-top: 2.4rem; + padding-bottom: 2.4rem; .left { @apply flex items-center; .inputSearch { diff --git a/src/components/common/Header/components/HeaderMenu/HeaderMenu.tsx b/src/components/common/Header/components/HeaderMenu/HeaderMenu.tsx index c5b716347..6e4b30370 100644 --- a/src/components/common/Header/components/HeaderMenu/HeaderMenu.tsx +++ b/src/components/common/Header/components/HeaderMenu/HeaderMenu.tsx @@ -19,7 +19,6 @@ const OPTION_MENU = [ ] interface Props { - className?: string children?: any } diff --git a/src/components/common/Header/components/HeaderSubMenu/HeaderNoti/HeaderNoti.module.scss b/src/components/common/Header/components/HeaderSubMenu/HeaderNoti/HeaderNoti.module.scss new file mode 100644 index 000000000..7e678a7ed --- /dev/null +++ b/src/components/common/Header/components/HeaderSubMenu/HeaderNoti/HeaderNoti.module.scss @@ -0,0 +1,3 @@ +.headerNoti { + @apply flex items-center; +} diff --git a/src/components/common/Header/components/HeaderSubMenu/HeaderNoti/HeaderNoti.tsx b/src/components/common/Header/components/HeaderSubMenu/HeaderNoti/HeaderNoti.tsx new file mode 100644 index 000000000..4e5b922c1 --- /dev/null +++ b/src/components/common/Header/components/HeaderSubMenu/HeaderNoti/HeaderNoti.tsx @@ -0,0 +1,16 @@ +import React from 'react'; +import NotiMessage from 'src/components/common/NotiMessage/NotiMessage'; +import { IconInfo } from 'src/components/icons'; +import s from './HeaderNoti.module.scss'; + +const HeaderNoti = () => { + return ( + +
    +  You can buy fresh products after 11pm or 8am +
    +
    + ); +}; + +export default HeaderNoti; \ No newline at end of file diff --git a/src/components/common/Header/components/HeaderSubMenu/HeaderSubMenu.module.scss b/src/components/common/Header/components/HeaderSubMenu/HeaderSubMenu.module.scss index f76908148..34d3d2a6c 100644 --- a/src/components/common/Header/components/HeaderSubMenu/HeaderSubMenu.module.scss +++ b/src/components/common/Header/components/HeaderSubMenu/HeaderSubMenu.module.scss @@ -1,5 +1,20 @@ @import "../../../../../styles/utilities"; -.headerHighLight { - +.headerSubMenu { + @apply flex justify-between items-center; + padding-bottom: 0.8rem; + .menu { + @apply flex items-center list-none; + li { + &:not(:last-child) { + margin-right: 4rem; + } + a { + @appy no-underline; + } + &:hover { + @apply text-primary; + } + } + } } diff --git a/src/components/common/Header/components/HeaderSubMenu/HeaderSubMenu.tsx b/src/components/common/Header/components/HeaderSubMenu/HeaderSubMenu.tsx index 5df3096df..74fb7d3db 100644 --- a/src/components/common/Header/components/HeaderSubMenu/HeaderSubMenu.tsx +++ b/src/components/common/Header/components/HeaderSubMenu/HeaderSubMenu.tsx @@ -1,16 +1,80 @@ +import Link from 'next/link' import { memo } from 'react' +import MenuDropdown from 'src/components/common/MenuDropdown/MenuDropdown' +import { ProductFeature, QUERY_KEY, ROUTE } from 'src/utils/constanst.utils' +import HeaderNoti from './HeaderNoti/HeaderNoti' import s from './HeaderSubMenu.module.scss' +const MENU = [ + { + name: 'New Items', + link: `${ROUTE.PRODUCTS}?${QUERY_KEY.FEATURED}=${ProductFeature.NewItem}`, + }, + { + name: 'Sales', + link: `${ROUTE.PRODUCTS}?${QUERY_KEY.FEATURED}=${ProductFeature.Sales}`, + }, + { + name: 'Best Sellers', + link: `${ROUTE.PRODUCTS}?${QUERY_KEY.FEATURED}=${ProductFeature.BestSellers}`, + }, + { + name: 'About Us', + link: ROUTE.ABOUT, + }, + { + name: 'Blog', + link: ROUTE.BLOGS, + }, +] + +// note: hard code, remove later +const CATEGORY = [ + { + name: 'Veggie', + link: `${ROUTE.PRODUCTS}?${QUERY_KEY.BRAND}=veggie`, + }, + { + name: 'Seafood', + link: `${ROUTE.PRODUCTS}?${QUERY_KEY.BRAND}=seafood`, + }, + { + name: 'Frozen', + link: `${ROUTE.PRODUCTS}?${QUERY_KEY.BRAND}=frozen`, + }, + { + name: 'Coffee Bean', + link: `${ROUTE.PRODUCTS}?${QUERY_KEY.BRAND}=coffee-bean`, + }, + { + name: 'Sauce', + link: `${ROUTE.PRODUCTS}?${QUERY_KEY.BRAND}=sauce`, + }, +] interface Props { - className?: string children?: any } const HeaderSubMenu = memo(({ }: Props) => { return ( -
    +
    +
    +
  • ) + } +
+ +
) }) diff --git a/src/components/common/MenuDropdown/MenuDropdown.module.scss b/src/components/common/MenuDropdown/MenuDropdown.module.scss index 6822ac9b0..f8a8a20cc 100644 --- a/src/components/common/MenuDropdown/MenuDropdown.module.scss +++ b/src/components/common/MenuDropdown/MenuDropdown.module.scss @@ -52,6 +52,10 @@ top: 2rem; height: max-content; min-width: 19.2rem; + z-index: 100; + &.left { + left: 0; + } &:hover { @apply block shadow-md; } @@ -60,7 +64,7 @@ border: 1px solid var(--text-active); margin-top: .4rem; li { - @apply block transition-all duration-200 cursor-pointer text-active; + @apply block w-full transition-all duration-200 cursor-pointer text-active; padding: 0.8rem 1.6rem; &:hover { @apply bg-primary-lightest; diff --git a/src/components/common/MenuDropdown/MenuDropdown.tsx b/src/components/common/MenuDropdown/MenuDropdown.tsx index 86b7a084c..c20ffcaed 100644 --- a/src/components/common/MenuDropdown/MenuDropdown.tsx +++ b/src/components/common/MenuDropdown/MenuDropdown.tsx @@ -7,9 +7,10 @@ interface Props { children?: React.ReactNode, options: { link: string, name: string }[], isHasArrow?: boolean, + align?: 'left' } -const MenuDropdown = ({ options, children, isHasArrow = true }: Props) => { +const MenuDropdown = ({ options, children, isHasArrow = true, align }: Props) => { return (
{ {children} -
+
    { options.map(item =>
  • diff --git a/src/components/common/NotiMessage/NotiMessage.module.scss b/src/components/common/NotiMessage/NotiMessage.module.scss new file mode 100644 index 000000000..a07ea0c0f --- /dev/null +++ b/src/components/common/NotiMessage/NotiMessage.module.scss @@ -0,0 +1,8 @@ +@import "../../../styles/utilities"; + +.notiMessage { + @apply caption bg-info-light; + color: var(--info-dark); + padding: 0.4rem 1.6rem; + border-radius: 3rem; +} diff --git a/src/components/common/NotiMessage/NotiMessage.tsx b/src/components/common/NotiMessage/NotiMessage.tsx new file mode 100644 index 000000000..20eabdfae --- /dev/null +++ b/src/components/common/NotiMessage/NotiMessage.tsx @@ -0,0 +1,16 @@ +import React from 'react' +import s from './NotiMessage.module.scss' + +interface Props { + children?: React.ReactNode +} + +const NotiMessage = ({ children }: Props) => { + return ( +
    + {children} +
    + ) +} + +export default NotiMessage \ No newline at end of file diff --git a/src/components/common/index.ts b/src/components/common/index.ts index d1df223ba..3c40733a3 100644 --- a/src/components/common/index.ts +++ b/src/components/common/index.ts @@ -10,3 +10,4 @@ export { default as ButtonIconBuy} from './ButtonIconBuy/ButtonIconBuy' export { default as Banner} from './Banner/Banner' export { default as Footer} from './Footer/Footer' export { default as MenuDropdown} from './MenuDropdown/MenuDropdown' +export { default as NotiMessage} from './NotiMessage/NotiMessage' diff --git a/src/components/icons/IconInfo.tsx b/src/components/icons/IconInfo.tsx new file mode 100644 index 000000000..027ee236b --- /dev/null +++ b/src/components/icons/IconInfo.tsx @@ -0,0 +1,11 @@ +import React from 'react' + +const IconInfo = () => { + return ( + + + + ) +} + +export default IconInfo diff --git a/src/components/icons/index.ts b/src/components/icons/index.ts index 80d6f1dd4..a13b68230 100644 --- a/src/components/icons/index.ts +++ b/src/components/icons/index.ts @@ -3,3 +3,4 @@ export { default as IconSearch } from './IconSearch' export { default as IconArrowRight } from './IconArrowRight' export { default as IconUser } from './IconUser' export { default as IconHistory } from './IconHistory' +export { default as IconInfo } from './IconInfo' diff --git a/src/utils/constanst.utils.ts b/src/utils/constanst.utils.ts index e168879b7..0d66ecda0 100644 --- a/src/utils/constanst.utils.ts +++ b/src/utils/constanst.utils.ts @@ -10,7 +10,7 @@ export const ROUTE = { PRODUCTS: '/products', ABOUT: '/about', ACCOUNT: '/account', - + BUSSINESS: '/bussiness', CONTACT: '/contact', FAQ: '/faq', @@ -27,7 +27,18 @@ export const ACCOUNT_TAB = { } export const QUERY_KEY = { - TAB: 'tab' + TAB: 'tab', + CATEGORY: 'category', + BRAND: 'brand', + FEATURED: 'feature' +} + +export enum ProductFeature { + BestSellers = 'Best Sellers', + Sales = 'Sales', + NewItem = 'New Item', + Viewed = 'Viewed', + } export const KEY = { diff --git a/tailwind.config.js b/tailwind.config.js index c22fbc0a6..d0916050a 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -83,9 +83,9 @@ module.exports = { active: 'var(--text-active)', label: 'var(--text-label)', placeholder: 'var(--text-placeholder)', + primary: 'var(--primary)', // @deprecated (NOT use these variables) - primary: 'var(--text-primary)', secondary: 'var(--text-secondary)', }, boxShadow: { From 10a4e703d621a11f3cad057b0d1b7222ceba6dcc Mon Sep 17 00:00:00 2001 From: lytrankieio123 Date: Wed, 25 Aug 2021 15:06:53 +0700 Subject: [PATCH 19/26] :art: styles: responsive header screen md :%s --- pages/index.tsx | 4 ++-- .../components/HeaderMenu/HeaderMenu.module.scss | 9 +++++++-- .../HeaderSubMenu/HeaderSubMenu.module.scss | 13 +++++++++++-- .../common/NotiMessage/NotiMessage.module.scss | 1 + 4 files changed, 21 insertions(+), 6 deletions(-) diff --git a/pages/index.tsx b/pages/index.tsx index 1c53c8bb7..856e9c63d 100644 --- a/pages/index.tsx +++ b/pages/index.tsx @@ -1,5 +1,5 @@ -import { ButtonCommon, ButtonIconBuy, Inputcommon, InputSearch, Layout } from 'src/components/common'; +import { Banner, ButtonCommon, ButtonIconBuy, Inputcommon, InputSearch, Layout } from 'src/components/common'; import { IconBuy } from 'src/components/icons'; @@ -11,7 +11,7 @@ export default function Home() {

    Go to src/components to make your awesome component!

    Go to src/styles to find global styles!

    - + {/* */} {/* demo */}
    diff --git a/src/components/common/Header/components/HeaderMenu/HeaderMenu.module.scss b/src/components/common/Header/components/HeaderMenu/HeaderMenu.module.scss index aa4f91615..8e23a3720 100644 --- a/src/components/common/Header/components/HeaderMenu/HeaderMenu.module.scss +++ b/src/components/common/Header/components/HeaderMenu/HeaderMenu.module.scss @@ -8,7 +8,9 @@ @apply flex items-center; .inputSearch { margin-left: 4.8rem; - @screen md { + //todo: remove + border: 1px solid red; + @screen lg { min-width: 51.2rem; max-width: 50%; } @@ -19,7 +21,10 @@ li { @apply flex justify-center items-center w-full; &:not(:last-child) { - margin-right: 6.4rem; + margin-right: 4.8rem; + @screen lg { + margin-right: 6.4rem; + } } a { @appy no-underline; diff --git a/src/components/common/Header/components/HeaderSubMenu/HeaderSubMenu.module.scss b/src/components/common/Header/components/HeaderSubMenu/HeaderSubMenu.module.scss index 34d3d2a6c..b10925877 100644 --- a/src/components/common/Header/components/HeaderSubMenu/HeaderSubMenu.module.scss +++ b/src/components/common/Header/components/HeaderSubMenu/HeaderSubMenu.module.scss @@ -1,13 +1,22 @@ @import "../../../../../styles/utilities"; .headerSubMenu { - @apply flex justify-between items-center; padding-bottom: 0.8rem; + @screen lg { + @apply flex justify-between items-center; + } .menu { @apply flex items-center list-none; + margin-bottom: 2.4rem; + @screen lg { + margin-bottom: 0; + } li { &:not(:last-child) { - margin-right: 4rem; + margin-right: 2.4rem; + @screen lg { + margin-right: 4rem; + } } a { @appy no-underline; diff --git a/src/components/common/NotiMessage/NotiMessage.module.scss b/src/components/common/NotiMessage/NotiMessage.module.scss index a07ea0c0f..a8015ea8e 100644 --- a/src/components/common/NotiMessage/NotiMessage.module.scss +++ b/src/components/common/NotiMessage/NotiMessage.module.scss @@ -2,6 +2,7 @@ .notiMessage { @apply caption bg-info-light; + width: fit-content; color: var(--info-dark); padding: 0.4rem 1.6rem; border-radius: 3rem; From 6ab7b0ae97de4efbb413dd64e8a17435b00472d6 Mon Sep 17 00:00:00 2001 From: lytrankieio123 Date: Wed, 25 Aug 2021 15:32:01 +0700 Subject: [PATCH 20/26] :art: styles: responsive header main menu :%s --- .../common/Header/Header.module.scss | 6 ++ .../HeaderHighLight.module.scss | 29 +++++----- .../HeaderMenu/HeaderMenu.module.scss | 55 +++++++++++++------ .../components/HeaderMenu/HeaderMenu.tsx | 7 ++- .../HeaderSubMenu/HeaderSubMenu.module.scss | 42 +++++++------- 5 files changed, 90 insertions(+), 49 deletions(-) diff --git a/src/components/common/Header/Header.module.scss b/src/components/common/Header/Header.module.scss index 6445db75b..9f92fc918 100644 --- a/src/components/common/Header/Header.module.scss +++ b/src/components/common/Header/Header.module.scss @@ -1,6 +1,12 @@ @import "../../../styles/utilities"; .header { + @apply sticky bg-white; + top: 0; + z-index: 9999; + @screen md { + padding-bottom: 1.6rem; + } .menu { padding-left: 3.2rem; padding-right: 3.2rem; diff --git a/src/components/common/Header/components/HeaderHighLight/HeaderHighLight.module.scss b/src/components/common/Header/components/HeaderHighLight/HeaderHighLight.module.scss index 5d2fb0b8b..69c5a192f 100644 --- a/src/components/common/Header/components/HeaderHighLight/HeaderHighLight.module.scss +++ b/src/components/common/Header/components/HeaderHighLight/HeaderHighLight.module.scss @@ -1,19 +1,22 @@ @import "../../../../../styles/utilities"; .headerHighLight { - @apply flex justify-between items-center spacing-horizontal bg-primary caption; - padding-top: 0.8rem; - padding-bottom: 0.8rem; - color: var(--white); - .menu { - @apply flex items-center list-none; - padding: .8rem 0; - li { - &:not(:last-child) { - margin-right: 3.2rem; - } - a { - @appy no-underline; + @apply hidden; + @screen md { + @apply flex justify-between items-center spacing-horizontal bg-primary caption; + padding-top: 0.8rem; + padding-bottom: 0.8rem; + color: var(--white); + .menu { + @apply flex items-center list-none; + padding: .8rem 0; + li { + &:not(:last-child) { + margin-right: 3.2rem; + } + a { + @appy no-underline; + } } } } diff --git a/src/components/common/Header/components/HeaderMenu/HeaderMenu.module.scss b/src/components/common/Header/components/HeaderMenu/HeaderMenu.module.scss index 8e23a3720..2744411c6 100644 --- a/src/components/common/Header/components/HeaderMenu/HeaderMenu.module.scss +++ b/src/components/common/Header/components/HeaderMenu/HeaderMenu.module.scss @@ -1,33 +1,56 @@ @import "../../../../../styles/utilities"; .headerMenu { - @apply flex justify-between items-center bg-white; - padding-top: 2.4rem; - padding-bottom: 2.4rem; + padding-top: 1.6rem; + padding-bottom: 0.8rem; + @screen md { + @apply flex justify-between items-center; + padding-top: 2.4rem; + padding-bottom: 2.4rem; + } .left { - @apply flex items-center; + .top { + @apply flex justify-between items-center; + .iconCart { + } + } .inputSearch { - margin-left: 4.8rem; //todo: remove border: 1px solid red; + margin-top: 2.4rem; @screen lg { min-width: 51.2rem; max-width: 50%; } } - } - .menu { - @apply flex items-center list-none; - li { - @apply flex justify-center items-center w-full; - &:not(:last-child) { - margin-right: 4.8rem; - @screen lg { - margin-right: 6.4rem; + @screen md { + @apply flex items-center; + .top { + .iconCart { + @apply hidden; } } - a { - @appy no-underline; + .inputSearch { + margin-left: 4.8rem; + margin-top: 0; + } + } + } + .menu { + @apply hidden; + @screen md { + @apply flex items-center list-none; + li { + @apply flex justify-center items-center w-full; + &:not(:last-child) { + margin-right: 4.8rem; + @screen lg { + margin-right: 6.4rem; + } + } + a { + @appy no-underline; + } } } } diff --git a/src/components/common/Header/components/HeaderMenu/HeaderMenu.tsx b/src/components/common/Header/components/HeaderMenu/HeaderMenu.tsx index 6e4b30370..e9161ea1d 100644 --- a/src/components/common/Header/components/HeaderMenu/HeaderMenu.tsx +++ b/src/components/common/Header/components/HeaderMenu/HeaderMenu.tsx @@ -26,7 +26,12 @@ const HeaderMenu = memo(({ }: Props) => { return (
    -
    Online Grocery
    +
    +
    Online Grocery
    + +
    diff --git a/src/components/common/Header/components/HeaderSubMenu/HeaderSubMenu.module.scss b/src/components/common/Header/components/HeaderSubMenu/HeaderSubMenu.module.scss index b10925877..bcd6f4121 100644 --- a/src/components/common/Header/components/HeaderSubMenu/HeaderSubMenu.module.scss +++ b/src/components/common/Header/components/HeaderSubMenu/HeaderSubMenu.module.scss @@ -1,28 +1,32 @@ @import "../../../../../styles/utilities"; .headerSubMenu { - padding-bottom: 0.8rem; - @screen lg { - @apply flex justify-between items-center; - } - .menu { - @apply flex items-center list-none; - margin-bottom: 2.4rem; + @apply hidden; + @screen md { + @apply block; + padding-bottom: 0.8rem; @screen lg { - margin-bottom: 0; + @apply flex justify-between items-center; } - li { - &:not(:last-child) { - margin-right: 2.4rem; - @screen lg { - margin-right: 4rem; + .menu { + @apply flex items-center list-none; + margin-bottom: 2.4rem; + @screen lg { + margin-bottom: 0; + } + li { + &:not(:last-child) { + margin-right: 2.4rem; + @screen lg { + margin-right: 4rem; + } + } + a { + @appy no-underline; + } + &:hover { + @apply text-primary; } - } - a { - @appy no-underline; - } - &:hover { - @apply text-primary; } } } From c65bf6aab74ad2e7287587045a24b1b77f3bc161 Mon Sep 17 00:00:00 2001 From: lytrankieio123 Date: Wed, 25 Aug 2021 16:30:48 +0700 Subject: [PATCH 21/26] :art: styles: heade submenur responsive :%s --- .../common/Footer/Footer.module.scss | 10 ++- .../FooterColumn/FooterColumn.module.scss | 3 +- src/components/common/Header/Header.tsx | 18 +++-- .../components/HeaderMenu/HeaderMenu.tsx | 4 +- .../HeaderSubMenu/HeaderSubMenu.module.scss | 3 + .../HeaderSubMenu/HeaderSubMenu.tsx | 20 ++++-- .../HeaderSubMenuMobile.module.scss | 50 ++++++++++++++ .../HeaderSubMenuMobile.tsx | 66 +++++++++++++++++++ .../icons/{Heart.tsx => IconHeart.tsx} | 5 +- src/components/icons/IconHome.tsx | 11 ++++ src/components/icons/IconShopping.tsx | 11 ++++ src/components/icons/index.ts | 3 + src/styles/_utilities.scss | 4 +- 13 files changed, 185 insertions(+), 23 deletions(-) create mode 100644 src/components/common/Header/components/HeaderSubMenuMobile/HeaderSubMenuMobile.module.scss create mode 100644 src/components/common/Header/components/HeaderSubMenuMobile/HeaderSubMenuMobile.tsx rename src/components/icons/{Heart.tsx => IconHeart.tsx} (94%) create mode 100644 src/components/icons/IconHome.tsx create mode 100644 src/components/icons/IconShopping.tsx diff --git a/src/components/common/Footer/Footer.module.scss b/src/components/common/Footer/Footer.module.scss index 1eaa84456..bfe9ceead 100644 --- a/src/components/common/Footer/Footer.module.scss +++ b/src/components/common/Footer/Footer.module.scss @@ -4,20 +4,28 @@ @apply spacing-horizontal; padding-top: 4rem; padding-bottom: 2rem; + margin-bottom: 10rem; .footerMenu { - padding-bottom: 8rem; + padding-bottom: 4rem; } .menu { @apply flex flex-wrap; } @screen md { + margin-bottom: 0; padding-bottom: 4rem; + padding-left: 3.2rem; + padding-right: 3.2rem; .footerMenu { @apply flex; + padding-bottom: 8rem; .menu { @apply flex-nowrap justify-between; } } } + @screen lg { + @apply spacing-horizontal; + } } diff --git a/src/components/common/Footer/components/FooterColumn/FooterColumn.module.scss b/src/components/common/Footer/components/FooterColumn/FooterColumn.module.scss index 49728bc76..754ebce69 100644 --- a/src/components/common/Footer/components/FooterColumn/FooterColumn.module.scss +++ b/src/components/common/Footer/components/FooterColumn/FooterColumn.module.scss @@ -23,8 +23,7 @@ margin-bottom: 1.6rem; } a { - text-decoration: none; - @apply transition-all duration-200; + @apply transition-all duration-200 no-underline; &:hover { color: var(--primary); } diff --git a/src/components/common/Header/Header.tsx b/src/components/common/Header/Header.tsx index ba8271f2a..beb408522 100644 --- a/src/components/common/Header/Header.tsx +++ b/src/components/common/Header/Header.tsx @@ -2,6 +2,7 @@ import React, { memo } from 'react' import HeaderHighLight from './components/HeaderHighLight/HeaderHighLight' import HeaderMenu from './components/HeaderMenu/HeaderMenu' import HeaderSubMenu from './components/HeaderSubMenu/HeaderSubMenu' +import HeaderSubMenuMobile from './components/HeaderSubMenuMobile/HeaderSubMenuMobile' import s from './Header.module.scss' interface Props { @@ -11,13 +12,16 @@ interface Props { const Header = memo(({ }: Props) => { return ( -
    - -
    - - -
    -
    + <> +
    + +
    + + +
    +
    + + ) }) diff --git a/src/components/common/Header/components/HeaderMenu/HeaderMenu.tsx b/src/components/common/Header/components/HeaderMenu/HeaderMenu.tsx index e9161ea1d..ed081d10a 100644 --- a/src/components/common/Header/components/HeaderMenu/HeaderMenu.tsx +++ b/src/components/common/Header/components/HeaderMenu/HeaderMenu.tsx @@ -2,7 +2,7 @@ import Link from 'next/link' import { memo } from 'react' import InputSearch from 'src/components/common/InputSearch/InputSearch' import MenuDropdown from 'src/components/common/MenuDropdown/MenuDropdown' -import { IconBuy, IconHistory, IconUser } from 'src/components/icons' +import { IconBuy, IconHeart, IconHistory, IconUser } from 'src/components/icons' import { ACCOUNT_TAB, QUERY_KEY, ROUTE } from 'src/utils/constanst.utils' import s from './HeaderMenu.module.scss' @@ -47,7 +47,7 @@ const HeaderMenu = memo(({ }: Props) => {
  • - +
  • diff --git a/src/components/common/Header/components/HeaderSubMenu/HeaderSubMenu.module.scss b/src/components/common/Header/components/HeaderSubMenu/HeaderSubMenu.module.scss index bcd6f4121..976913f3a 100644 --- a/src/components/common/Header/components/HeaderSubMenu/HeaderSubMenu.module.scss +++ b/src/components/common/Header/components/HeaderSubMenu/HeaderSubMenu.module.scss @@ -27,6 +27,9 @@ &:hover { @apply text-primary; } + &.active { + @apply text-primary; + } } } } diff --git a/src/components/common/Header/components/HeaderSubMenu/HeaderSubMenu.tsx b/src/components/common/Header/components/HeaderSubMenu/HeaderSubMenu.tsx index 74fb7d3db..2e3f7c49c 100644 --- a/src/components/common/Header/components/HeaderSubMenu/HeaderSubMenu.tsx +++ b/src/components/common/Header/components/HeaderSubMenu/HeaderSubMenu.tsx @@ -1,4 +1,6 @@ +import classNames from 'classnames' import Link from 'next/link' +import { useRouter } from 'next/router' import { memo } from 'react' import MenuDropdown from 'src/components/common/MenuDropdown/MenuDropdown' import { ProductFeature, QUERY_KEY, ROUTE } from 'src/utils/constanst.utils' @@ -32,23 +34,23 @@ const MENU = [ const CATEGORY = [ { name: 'Veggie', - link: `${ROUTE.PRODUCTS}?${QUERY_KEY.BRAND}=veggie`, + link: `${ROUTE.PRODUCTS}/?${QUERY_KEY.BRAND}=veggie`, }, { name: 'Seafood', - link: `${ROUTE.PRODUCTS}?${QUERY_KEY.BRAND}=seafood`, + link: `${ROUTE.PRODUCTS}/?${QUERY_KEY.BRAND}=seafood`, }, { name: 'Frozen', - link: `${ROUTE.PRODUCTS}?${QUERY_KEY.BRAND}=frozen`, + link: `${ROUTE.PRODUCTS}/?${QUERY_KEY.BRAND}=frozen`, }, { name: 'Coffee Bean', - link: `${ROUTE.PRODUCTS}?${QUERY_KEY.BRAND}=coffee-bean`, + link: `${ROUTE.PRODUCTS}/?${QUERY_KEY.BRAND}=coffee-bean`, }, { name: 'Sauce', - link: `${ROUTE.PRODUCTS}?${QUERY_KEY.BRAND}=sauce`, + link: `${ROUTE.PRODUCTS}/?${QUERY_KEY.BRAND}=sauce`, }, ] interface Props { @@ -56,14 +58,18 @@ interface Props { } const HeaderSubMenu = memo(({ }: Props) => { + const router = useRouter() + return (
    - +
    ) }) diff --git a/src/components/common/Header/components/HeaderSubMenuMobile/HeaderSubMenuMobile.module.scss b/src/components/common/Header/components/HeaderSubMenuMobile/HeaderSubMenuMobile.module.scss new file mode 100644 index 000000000..5480b5d10 --- /dev/null +++ b/src/components/common/Header/components/HeaderSubMenuMobile/HeaderSubMenuMobile.module.scss @@ -0,0 +1,50 @@ +@import "../../../../../styles/utilities"; + +.headerSubMenuMobile { + @apply fixed w-full bg-white; + bottom: 0; + left: 0; + padding: 2rem 1rem; + border-top: 1px solid var(--border-line); + box-shadow: -5px 6px 10px rgba(0, 0, 0, 0.2); + .menu { + @apply grid grid-cols-4; + li { + a { + @apply transition-all duration-200 no-underline; + &:hover { + color: var(--primary); + } + } + .menuItem { + @apply flex flex-col justify-center items-center sm-label; + .icon { + position: relative; + margin-bottom: 0.5rem; + svg path { + fill: currentColor; + } + } + &.active { + @apply text-primary; + } + &.dot { + .icon { + &::after { + @apply absolute bg-negative rounded-full; + content: ""; + top: 0; + right: 0; + $size: 1rem; + width: $size; + height: $size; + } + } + } + } + } + } + @screen md { + @apply hidden; + } +} diff --git a/src/components/common/Header/components/HeaderSubMenuMobile/HeaderSubMenuMobile.tsx b/src/components/common/Header/components/HeaderSubMenuMobile/HeaderSubMenuMobile.tsx new file mode 100644 index 000000000..d2cf1bf3e --- /dev/null +++ b/src/components/common/Header/components/HeaderSubMenuMobile/HeaderSubMenuMobile.tsx @@ -0,0 +1,66 @@ +import classNames from 'classnames' +import Link from 'next/link' +import { useRouter } from 'next/router' +import { memo } from 'react' +import { IconHeart, IconHome, IconShopping, IconUser } from 'src/components/icons' +import { ACCOUNT_TAB, QUERY_KEY, ROUTE } from 'src/utils/constanst.utils' +import s from './HeaderSubMenuMobile.module.scss' + +const OPTION_MENU = [ + { + link: ROUTE.HOME, + name: 'Home', + icon: , + isMarked: true, + }, + { + link: ROUTE.PRODUCTS, + name: 'Shopping', + icon: , + isMarked: false, + }, + { + link: `${ROUTE.ACCOUNT}?${QUERY_KEY.TAB}=${ACCOUNT_TAB.FAVOURITE}`, + name: 'Favourites', + icon: , + isMarked: false, + }, + { + link: ROUTE.ACCOUNT, + name: 'Account', + icon: , + isMarked: false, + }, +] + +interface Props { + children?: any +} + +const HeaderSubMenuMobile = memo(({ }: Props) => { + const router = useRouter() + return ( +
    + +
    + ) +}) + +export default HeaderSubMenuMobile diff --git a/src/components/icons/Heart.tsx b/src/components/icons/IconHeart.tsx similarity index 94% rename from src/components/icons/Heart.tsx rename to src/components/icons/IconHeart.tsx index f8c39b6e5..70eebcab2 100644 --- a/src/components/icons/Heart.tsx +++ b/src/components/icons/IconHeart.tsx @@ -1,5 +1,6 @@ +import React from 'react' -const Vector = ({ ...props }) => { +const IconHeart = ({ ...props }) => { return ( { ) } - export default Vector \ No newline at end of file + export default IconHeart \ No newline at end of file diff --git a/src/components/icons/IconHome.tsx b/src/components/icons/IconHome.tsx new file mode 100644 index 000000000..a79260b35 --- /dev/null +++ b/src/components/icons/IconHome.tsx @@ -0,0 +1,11 @@ +import React from 'react' + +const IconHome = () => { + return ( + + + + ) +} + +export default IconHome diff --git a/src/components/icons/IconShopping.tsx b/src/components/icons/IconShopping.tsx new file mode 100644 index 000000000..b0d8c279c --- /dev/null +++ b/src/components/icons/IconShopping.tsx @@ -0,0 +1,11 @@ +import React from 'react' + +const IconShopping = () => { + return ( + + + + ) +} + +export default IconShopping diff --git a/src/components/icons/index.ts b/src/components/icons/index.ts index a13b68230..33d0f82cc 100644 --- a/src/components/icons/index.ts +++ b/src/components/icons/index.ts @@ -4,3 +4,6 @@ export { default as IconArrowRight } from './IconArrowRight' export { default as IconUser } from './IconUser' export { default as IconHistory } from './IconHistory' export { default as IconInfo } from './IconInfo' +export { default as IconHome } from './IconHome' +export { default as IconShopping } from './IconShopping' +export { default as IconHeart } from './IconHeart' diff --git a/src/styles/_utilities.scss b/src/styles/_utilities.scss index 266834b62..ef68ce01b 100644 --- a/src/styles/_utilities.scss +++ b/src/styles/_utilities.scss @@ -77,8 +77,8 @@ } .sm-label { - font-size: 1rem; - line-height: 1.6rem; + font-size: 10px; + line-height: 16px; } .spacing-horizontal { padding-left: 2rem; From 150e1537a234dc2354b3cd395551ffe378774dc3 Mon Sep 17 00:00:00 2001 From: lytrankieio123 Date: Wed, 25 Aug 2021 17:14:00 +0700 Subject: [PATCH 22/26] :sparkles: feat: show/hide full header when scroll in screen md :%s --- pages/index.tsx | 2 + .../common/Header/Header.module.scss | 6 +-- src/components/common/Header/Header.tsx | 30 +++++++++-- .../HeaderHighLight.module.scss | 42 ++++++++++----- .../HeaderHighLight/HeaderHighLight.tsx | 10 ++-- .../HeaderMenu/HeaderMenu.module.scss | 16 ++++-- .../components/HeaderMenu/HeaderMenu.tsx | 10 ++-- .../HeaderSubMenu/HeaderSubMenu.module.scss | 52 +++++++++++-------- .../HeaderSubMenu/HeaderSubMenu.tsx | 7 +-- src/components/icons/IconHeart.tsx | 28 ++++------ src/utils/funtion.utils.ts | 4 +- 11 files changed, 128 insertions(+), 79 deletions(-) diff --git a/pages/index.tsx b/pages/index.tsx index 856e9c63d..a520043d5 100644 --- a/pages/index.tsx +++ b/pages/index.tsx @@ -19,6 +19,8 @@ export default function Home() {
    }>Button + + Lorem ipsum dolor sit, amet consectetur adipisicing elit. Odit repellendus unde ad, deleniti et eligendi libero accusamus, suscipit necessitatibus cumque quasi. Harum sed excepturi obcaecati totam culpa earum modi hic nam neque voluptas, quaerat magnam nemo perspiciatis placeat accusamus nisi. Commodi neque hic nostrum? In voluptate ipsam aperiam perspiciatis fuga placeat quas asperiores! Fugit aspernatur dolore corporis. Aliquam, iste consequuntur sit tenetur autem iure vero aspernatur ad sint earum illo reprehenderit asperiores recusandae dicta ipsam unde ab veniam a similique? Nostrum iure et, officiis ipsum quo odio necessitatibus consequatur. Ad eligendi cumque quae architecto. Impedit odit ex atque at nostrum natus cumque modi unde quibusdam, asperiores illum nam, debitis est soluta. Hic maiores nostrum ab rerum voluptatum dolor maxime impedit in? Culpa beatae illum sapiente illo dolore natus voluptatem ipsum recusandae asperiores laudantium deserunt, ipsa itaque accusamus, commodi in quos sint fuga quam error minima molestiae distinctio, incidunt doloremque quidem. Iste omnis velit cupiditate eaque doloribus impedit quasi, alias iusto a, exercitationem perspiciatis ad ut libero ex laudantium aliquid porro aut autem nostrum, voluptas corrupti! Ipsa in fugiat debitis, reprehenderit, esse iusto eius sit modi nobis cumque vero rem! Sequi, ex nulla dolores architecto illum aut doloribus, quibusdam eligendi est ut earum quas perspiciatis unde ad. Beatae aspernatur quisquam laudantium asperiores vel veniam, recusandae ut tempora eveniet fugit consequatur repudiandae perspiciatis voluptatem tenetur placeat enim quibusdam consectetur minus cupiditate laborum? Et omnis quidem, ex excepturi delectus hic repudiandae, harum ratione neque tenetur praesentium ab officiis consequatur eveniet similique ducimus maiores in exercitationem magnam expedita iste laudantium doloremque! Repellat soluta quo quos officia doloremque quod quisquam maxime vel assumenda sint recusandae, aliquid, at delectus cumque ad placeat a ducimus obcaecati eos eveniet minima. Cumque quod quidem minima quibusdam dolores odit alias ipsa eos ad, dolor accusantium repellat beatae eveniet amet corrupti aut recusandae corporis officiis commodi nulla ut vel repellendus? Numquam dolorem tempore tenetur corrupti est dolorum quisquam, eius suscipit. Itaque harum similique obcaecati dolores, vero odio alias numquam laborum accusamus, facilis sint quas commodi quo iste, saepe odit corrupti animi error praesentium molestiae. Soluta cumque sed, laborum perferendis quasi optio possimus consequatur! Ducimus modi quo, natus inventore numquam soluta exercitationem, accusamus, impedit voluptatum ex nostrum placeat consequatur voluptatem vel quam dolore nobis similique quidem sit cupiditate nulla. Tenetur architecto cumque nisi cum vitae. Voluptatibus deserunt velit tempore ea ipsam a magnam neque eius unde autem cupiditate quas qui dolor officia aliquid illo deleniti eveniet, asperiores blanditiis, fugiat non minima, quaerat obcaecati. Voluptatem eos totam quos repellendus cum nemo, exercitationem repudiandae labore amet earum quaerat ut. Fuga unde illo expedita nemo commodi eum quos eaque sit harum animi labore quidem, beatae necessitatibus, laudantium quibusdam doloribus asperiores, sunt soluta! Minus tempora consequuntur labore quidem cumque fugiat ipsum in sed, necessitatibus saepe, rem laboriosam tempore! Minus consequuntur assumenda deserunt dignissimos maiores impedit eligendi, repudiandae architecto possimus obcaecati totam voluptatem doloremque cumque similique voluptate velit repellendus ipsam porro quae reiciendis ut tempora distinctio nemo. Quia hic laborum facere beatae officia rerum perspiciatis accusantium, iusto eius illum blanditiis delectus eveniet quibusdam eligendi eos sequi? Facilis quidem expedita, voluptate perferendis sit pariatur vitae! Amet, aliquam provident corporis dolore voluptate omnis, reiciendis perspiciatis dignissimos perferendis, porro voluptatum. Dignissimos cum nobis eligendi quisquam reiciendis? Qui distinctio quod placeat accusantium, hic vitae quaerat dicta fugit iure eum saepe rem, recusandae neque ea corrupti soluta. Earum quas laborum nulla in aliquam repellat voluptates minima magnam, eius minus. Dicta, in nobis assumenda alias velit fugiat! Enim mollitia et accusantium omnis inventore. Nisi sunt iure harum, velit excepturi ex sit eveniet alias voluptates laudantium facilis ipsam atque enim molestiae perferendis corrupti sapiente cumque, repudiandae non, rerum magnam sequi voluptate voluptatibus consectetur. Est animi illo magnam, vero dolores vel maxime laboriosam recusandae amet nemo! Corporis neque assumenda ullam officia nulla! Dolorum minus dicta tenetur ex, nemo dolore quae quibusdam quos enim reiciendis repellendus aliquam neque, vero voluptatem exercitationem eaque libero deleniti nihil saepe aperiam recusandae, natus laborum doloribus consectetur. Quasi vero sed, nesciunt adipisci distinctio sint asperiores officiis cumque dolore suscipit quos quibusdam illum eos atque incidunt esse quis blanditiis dolorem ipsam possimus in. Maxime vitae dolor sunt dolore accusantium! Debitis quisquam fuga sapiente eveniet ab, tempora nisi, asperiores accusamus aut laborum, error iusto illum unde! Perferendis, eveniet voluptatum architecto eos, atque veritatis eaque quia nam laudantium voluptate necessitatibus consequatur dolorum placeat quibusdam cum. Velit quaerat assumenda reprehenderit earum maxime sunt, quis ad ab rem facere, totam excepturi doloribus sequi aliquam nulla. Ipsam at beatae sunt placeat veniam dignissimos tenetur sed quod, laborum commodi ad voluptate distinctio, vel delectus! Iusto, voluptate laboriosam saepe laudantium libero similique deserunt. Tenetur maiores enim, vitae cum consectetur autem quidem? Ratione expedita error rerum aliquid aspernatur nisi voluptas veniam quibusdam. Debitis nobis voluptatem omnis quidem neque aperiam nesciunt nemo, similique consequatur eum quaerat consectetur. Eius nesciunt officia inventore ducimus corporis, reiciendis amet similique cum corrupti consequatur atque provident quam hic assumenda, doloribus impedit suscipit obcaecati fuga. Tempora iure fugit modi perspiciatis autem corporis mollitia atque nam iusto totam ipsa possimus molestias inventore, neque exercitationem ex officiis, quisquam dolorem id nostrum eaque eum quaerat. Culpa labore laudantium excepturi beatae, autem quos dignissimos tempore molestias veniam accusantium dolore eum esse, numquam officiis incidunt nam magnam! Necessitatibus in dolore repudiandae. Iusto architecto tempore assumenda tempora dolores obcaecati hic debitis nulla vitae, odit, dolorem corporis saepe, officia non porro explicabo! Consequuntur porro totam cupiditate sequi, officiis nihil dolorem consequatur. Consequatur, quibusdam maiores eos cupiditate reprehenderit consequuntur labore sed dicta suscipit cum dolorem consectetur quas dolores unde hic eaque eligendi sapiente excepturi incidunt deserunt molestiae vitae architecto expedita. Dolores voluptates quidem maiores aliquam rem deleniti obcaecati sint deserunt illo quis, quae eaque incidunt officiis ducimus ipsam soluta, sapiente omnis odio aut! Aliquid nesciunt tempora et accusantium cumque explicabo, aut impedit, voluptas iste, pariatur sint. Veniam, praesentium quisquam id molestiae est ut quo ullam fugit cum expedita maxime et illo. Quis fuga necessitatibus incidunt, distinctio exercitationem sit tenetur sed voluptates voluptas reiciendis tempora eveniet qui cupiditate voluptatem aliquam rerum dolores alias aspernatur optio! Sit fugit, alias ducimus porro magni sunt aspernatur natus quod quo laboriosam, illo quisquam rerum eum. Incidunt, quia molestiae. Sapiente, suscipit amet voluptate facere fugit excepturi officia nostrum incidunt! Fugiat quis corrupti assumenda dolor fuga explicabo exercitationem obcaecati, voluptatum, a impedit repellat asperiores quisquam? Ullam dolor perspiciatis libero tempore voluptatem nihil ipsam dolorum molestias reprehenderit, placeat nostrum id accusantium necessitatibus quod sed laudantium cum mollitia accusamus? Odit iste amet nobis consequuntur? Eveniet, ad harum earum quod molestias commodi, repudiandae, esse ratione ullam dolore explicabo deleniti. Placeat, architecto harum. Sint ullam quam in sunt ducimus obcaecati, vel corporis modi dolor voluptates facilis aliquid quibusdam quidem perspiciatis recusandae illum soluta est consectetur repellat nulla consequatur, aspernatur, odio amet repellendus. Provident numquam consequatur id laboriosam sapiente, laudantium nemo quia, a repudiandae, odio tempore ullam? Odio at ratione, vitae officiis placeat magni voluptatum ullam quas voluptatem molestias iste illum temporibus in eum ipsa reprehenderit commodi voluptate praesentium repellendus quos. Ipsa deserunt officiis eaque et cumque molestias odit eius libero maxime, reiciendis, nihil tempora omnis porro quo enim quae? Expedita in ipsa nobis quae dolorum ipsam magni sunt at odio quia, molestias dignissimos dolore vero iure autem. Culpa, architecto eos! Esse itaque voluptate quod quasi natus qui eveniet expedita ipsam! Qui eaque explicabo molestiae debitis pariatur rerum nisi fuga exercitationem. Recusandae quae voluptas, consectetur veritatis libero ab autem quod cum architecto magni incidunt totam esse temporibus perspiciatis non, sunt nulla! A perspiciatis, quam iure architecto adipisci natus fuga dignissimos beatae, ut nam aspernatur illum incidunt, ad deleniti voluptatum. Vitae ullam sit libero, minus quo cupiditate, ratione facere saepe numquam expedita beatae corrupti officiis quibusdam minima. Temporibus, excepturi possimus aliquam sit optio ea voluptas. Maiores saepe minus delectus quam temporibus quisquam at ex quae harum veritatis placeat dolorum voluptate deleniti praesentium, consectetur nulla neque libero mollitia odit eveniet. Dolorem ipsum dignissimos quod facilis modi obcaecati adipisci sed natus voluptate odit est, eveniet doloribus facere dolore pariatur amet quibusdam saepe architecto sapiente et nulla! Distinctio voluptatem, dolore earum veritatis consequuntur provident soluta, nam nemo, aliquam dolorem cum accusamus at labore fugit perferendis ducimus magnam! Fuga, impedit minus delectus nulla asperiores labore minima sit, magni quos, incidunt similique alias necessitatibus explicabo! Vitae ullam velit porro, laborum distinctio expedita odio maxime numquam. Repudiandae dignissimos dolore voluptatibus ea labore facilis blanditiis quam rem facere similique nihil fugit iste eligendi neque consectetur accusantium quis delectus laborum, molestias possimus doloribus in at. Voluptatibus quae quas repudiandae nesciunt ex omnis quod, accusantium quaerat facere optio nisi minima delectus suscipit officia error voluptas consequuntur vero. Quod dicta dolore tenetur esse dolorem incidunt ab in maiores quisquam ipsa sunt, eligendi vitae cum qui repellat, illo consequatur eaque alias porro beatae rem exercitationem. Voluptatum placeat autem ratione fugiat voluptatem nostrum praesentium soluta saepe qui cum. Iste velit dolorem iure debitis nihil porro nobis doloribus, autem natus ducimus asperiores suscipit id ipsum impedit assumenda qui error cum et dolor fuga? Assumenda commodi iste magnam alias, quidem autem inventore officia fugit incidunt! Dolorem minus aliquam blanditiis praesentium sequi amet, hic vel repudiandae? Voluptates nesciunt repellendus sapiente ab ex mollitia, quo harum facilis similique praesentium dolorum animi magnam error ipsa quia cupiditate sit, aliquid voluptas saepe, id odio debitis atque. Numquam nesciunt facere commodi harum deserunt, placeat repellendus a officiis non eum voluptatum dignissimos corrupti rerum. Recusandae, adipisci, modi non doloribus quaerat iusto enim ut reiciendis in dolorem provident eaque aperiam perspiciatis odio tempore quidem numquam officia molestiae voluptatibus soluta suscipit ipsa. Aperiam eaque unde fugit, veritatis maiores molestiae nesciunt officiis. Illum fuga voluptatum, quam tempora consequuntur eum. Qui vero, quae accusantium vel dicta veritatis eos autem dolor accusamus quia incidunt deserunt ut placeat suscipit distinctio ex! Quisquam modi mollitia voluptas quaerat dicta iusto ratione corporis, alias in neque! Nobis deleniti optio, dolores, quas consequatur earum ab distinctio dolor facere explicabo aperiam magnam ex incidunt praesentium pariatur ipsa vero, cupiditate eveniet. Repellat vel nostrum minima voluptatum illum eveniet quis vero fugit obcaecati nemo neque aperiam dolores accusantium labore distinctio, consequuntur facilis vitae. Quam architecto cupiditate, molestiae blanditiis, quis ratione officiis odit totam inventore aliquam eaque odio, explicabo nisi laborum ipsum. Nisi minus aliquid tenetur pariatur omnis numquam consequatur ullam repudiandae placeat? Delectus atque accusantium corrupti laborum praesentium quisquam saepe expedita reiciendis, laudantium magni doloremque amet facilis tempore error aperiam in perferendis, sunt voluptates aliquam reprehenderit, consequuntur iusto facere. Totam beatae quisquam molestiae autem quasi commodi alias perferendis magni ipsum ipsa cumque odio voluptatibus cupiditate adipisci vel ad pariatur, non quo tempora dicta fugit voluptates veritatis qui praesentium. Repellendus non iure eveniet sed assumenda optio alias aspernatur sapiente quia dolorem ullam necessitatibus excepturi placeat iste nostrum, sunt consequatur qui porro facilis! Numquam et accusantium enim reprehenderit! Iusto qui tenetur, repellendus non dolor enim voluptas cupiditate adipisci omnis quidem necessitatibus ipsum doloremque delectus, ratione consectetur dolorum voluptatum nihil quos! Cumque fugit iusto eos numquam vitae consectetur facere quae doloribus. Molestiae facilis qui officiis pariatur aliquid molestias fuga provident delectus. Porro iusto natus velit reiciendis ut, itaque alias repudiandae est cumque deserunt, officiis commodi temporibus earum aperiam voluptatum. Minus impedit recusandae qui nihil harum commodi, sequi eius aut doloribus modi nisi aperiam quam dolorem natus. Cupiditate corporis quisquam deleniti consectetur eligendi aliquid quas porro. Eius facere recusandae quae fugit, rerum libero, dolorem doloribus fuga rem voluptas magnam, alias ullam quasi molestias aut! Autem et unde est dolor exercitationem labore! Maxime dignissimos ratione quae repudiandae nobis temporibus excepturi eveniet incidunt repellat, nesciunt aliquam dolor perspiciatis dolores dolore est repellendus qui voluptates! Delectus nam sapiente officia assumenda esse eligendi, deleniti animi recusandae reprehenderit qui accusantium numquam odio repudiandae facere nesciunt, optio maxime porro dolore repellendus. Explicabo iure rem nisi nulla reiciendis distinctio cum odio! Optio dolor animi iusto repellendus id expedita repudiandae commodi illum eos excepturi facilis rem, modi hic magni, ipsa tempore vel velit doloribus obcaecati autem deserunt quis earum explicabo atque. Repellendus quas optio dolor molestiae! Qui nobis maiores, quas beatae quibusdam, deserunt temporibus numquam soluta totam assumenda quidem labore aut error cumque aliquam dicta sapiente, porro impedit culpa in et sint obcaecati. ) } diff --git a/src/components/common/Header/Header.module.scss b/src/components/common/Header/Header.module.scss index 9f92fc918..32392dffc 100644 --- a/src/components/common/Header/Header.module.scss +++ b/src/components/common/Header/Header.module.scss @@ -1,11 +1,11 @@ @import "../../../styles/utilities"; .header { - @apply sticky bg-white; + @apply sticky bg-white shadow-md; top: 0; z-index: 9999; - @screen md { - padding-bottom: 1.6rem; + &.full { + @apply shadow-none; } .menu { padding-left: 3.2rem; diff --git a/src/components/common/Header/Header.tsx b/src/components/common/Header/Header.tsx index beb408522..dfce58b57 100644 --- a/src/components/common/Header/Header.tsx +++ b/src/components/common/Header/Header.tsx @@ -1,4 +1,6 @@ -import React, { memo } from 'react' +import classNames from 'classnames' +import React, { memo, useEffect, useState } from 'react' +import { isMobile } from 'src/utils/funtion.utils' import HeaderHighLight from './components/HeaderHighLight/HeaderHighLight' import HeaderMenu from './components/HeaderMenu/HeaderMenu' import HeaderSubMenu from './components/HeaderSubMenu/HeaderSubMenu' @@ -11,13 +13,31 @@ interface Props { } const Header = memo(({ }: Props) => { + const [isFullHeader, setIsFullHeader] = useState(true) + + useEffect(() => { + window.addEventListener('scroll', handleScroll) + return () => { + window.removeEventListener('scroll', handleScroll) + } + }, []) + + const handleScroll = () => { + if (!isMobile()) { + if (window.scrollY === 0) { + setIsFullHeader(true) + } else { + setIsFullHeader(false) + } + } + } return ( <> -
    - +
    +
    - - + +
    diff --git a/src/components/common/Header/components/HeaderHighLight/HeaderHighLight.module.scss b/src/components/common/Header/components/HeaderHighLight/HeaderHighLight.module.scss index 69c5a192f..9717fd29d 100644 --- a/src/components/common/Header/components/HeaderHighLight/HeaderHighLight.module.scss +++ b/src/components/common/Header/components/HeaderHighLight/HeaderHighLight.module.scss @@ -3,21 +3,37 @@ .headerHighLight { @apply hidden; @screen md { - @apply flex justify-between items-center spacing-horizontal bg-primary caption; - padding-top: 0.8rem; - padding-bottom: 0.8rem; - color: var(--white); - .menu { - @apply flex items-center list-none; - padding: .8rem 0; - li { - &:not(:last-child) { - margin-right: 3.2rem; - } - a { - @appy no-underline; + transform: translateY(-10rem); + height: 0; + &.show { + @apply flex justify-between items-center spacing-horizontal bg-primary caption; + animation: showHeaderHightlight 0.2s; + height: unset; + transform: none; + padding-top: 0.8rem; + padding-bottom: 0.8rem; + color: var(--white); + .menu { + @apply flex items-center list-none; + padding: 0.8rem 0; + li { + &:not(:last-child) { + margin-right: 3.2rem; + } + a { + @appy no-underline; + } } } } } } + +@keyframes showHeaderHightlight { + 0% { + transform: translateY(-4rem); + } + 100% { + transform: none; + } +} diff --git a/src/components/common/Header/components/HeaderHighLight/HeaderHighLight.tsx b/src/components/common/Header/components/HeaderHighLight/HeaderHighLight.tsx index 80d8289a4..a1759eede 100644 --- a/src/components/common/Header/components/HeaderHighLight/HeaderHighLight.tsx +++ b/src/components/common/Header/components/HeaderHighLight/HeaderHighLight.tsx @@ -1,5 +1,6 @@ +import classNames from 'classnames' import Link from 'next/link' -import { memo } from 'react' +import { memo, useEffect, useRef } from 'react' import { ROUTE } from 'src/utils/constanst.utils' import s from './HeaderHighLight.module.scss' @@ -19,12 +20,13 @@ const MENU = [ ] interface Props { - children?: any + children?: any, + isShow: boolean, } -const HeaderHighLight = memo(({ }: Props) => { +const HeaderHighLight = memo(({ isShow }: Props) => { return ( -
    +
    Free Shipping on order $49+ / Express $99+
    diff --git a/src/components/common/Header/components/HeaderMenu/HeaderMenu.module.scss b/src/components/common/Header/components/HeaderMenu/HeaderMenu.module.scss index 2744411c6..679d947ba 100644 --- a/src/components/common/Header/components/HeaderMenu/HeaderMenu.module.scss +++ b/src/components/common/Header/components/HeaderMenu/HeaderMenu.module.scss @@ -5,8 +5,12 @@ padding-bottom: 0.8rem; @screen md { @apply flex justify-between items-center; - padding-top: 2.4rem; - padding-bottom: 2.4rem; + adding-top: 0.8rem; + padding-bottom: 0.8rem; + &.full { + padding-top: 2.4rem; + padding-bottom: 2.4rem; + } } .left { .top { @@ -15,8 +19,6 @@ } } .inputSearch { - //todo: remove - border: 1px solid red; margin-top: 2.4rem; @screen lg { min-width: 51.2rem; @@ -50,7 +52,13 @@ } a { @appy no-underline; + &.iconFovourite { + svg path { + fill: var(--negative); + } + } } + } } } diff --git a/src/components/common/Header/components/HeaderMenu/HeaderMenu.tsx b/src/components/common/Header/components/HeaderMenu/HeaderMenu.tsx index ed081d10a..8f19b11e8 100644 --- a/src/components/common/Header/components/HeaderMenu/HeaderMenu.tsx +++ b/src/components/common/Header/components/HeaderMenu/HeaderMenu.tsx @@ -1,3 +1,4 @@ +import classNames from 'classnames' import Link from 'next/link' import { memo } from 'react' import InputSearch from 'src/components/common/InputSearch/InputSearch' @@ -19,12 +20,13 @@ const OPTION_MENU = [ ] interface Props { - children?: any + children?: any, + isFull: boolean, } -const HeaderMenu = memo(({ }: Props) => { +const HeaderMenu = memo(({ isFull }: Props) => { return ( -
    +
    Online Grocery
    @@ -46,7 +48,7 @@ const HeaderMenu = memo(({ }: Props) => {
  • - + diff --git a/src/components/common/Header/components/HeaderSubMenu/HeaderSubMenu.module.scss b/src/components/common/Header/components/HeaderSubMenu/HeaderSubMenu.module.scss index 976913f3a..8a1d76c4d 100644 --- a/src/components/common/Header/components/HeaderSubMenu/HeaderSubMenu.module.scss +++ b/src/components/common/Header/components/HeaderSubMenu/HeaderSubMenu.module.scss @@ -3,32 +3,38 @@ .headerSubMenu { @apply hidden; @screen md { - @apply block; - padding-bottom: 0.8rem; - @screen lg { - @apply flex justify-between items-center; - } - .menu { - @apply flex items-center list-none; - margin-bottom: 2.4rem; + transform: translateY(-10rem); + height: 0; + &.show { + @apply block; + padding-bottom: 2.4rem; + transform: none; + height: unset; @screen lg { - margin-bottom: 0; + @apply flex justify-between items-center; } - li { - &:not(:last-child) { - margin-right: 2.4rem; - @screen lg { - margin-right: 4rem; + .menu { + @apply flex items-center list-none; + margin-bottom: 2.4rem; + @screen lg { + margin-bottom: 0; + } + li { + &:not(:last-child) { + margin-right: 2.4rem; + @screen lg { + margin-right: 4rem; + } + } + a { + @appy no-underline; + } + &:hover { + @apply text-primary; + } + &.active { + @apply text-primary; } - } - a { - @appy no-underline; - } - &:hover { - @apply text-primary; - } - &.active { - @apply text-primary; } } } diff --git a/src/components/common/Header/components/HeaderSubMenu/HeaderSubMenu.tsx b/src/components/common/Header/components/HeaderSubMenu/HeaderSubMenu.tsx index 2e3f7c49c..6a02259b5 100644 --- a/src/components/common/Header/components/HeaderSubMenu/HeaderSubMenu.tsx +++ b/src/components/common/Header/components/HeaderSubMenu/HeaderSubMenu.tsx @@ -54,14 +54,15 @@ const CATEGORY = [ }, ] interface Props { - children?: any + children?: any, + isShow: boolean, } -const HeaderSubMenu = memo(({ }: Props) => { +const HeaderSubMenu = memo(({ isShow }: Props) => { const router = useRouter() return ( -
    +
      {/* todo: handle active item */}
    • diff --git a/src/components/icons/IconHeart.tsx b/src/components/icons/IconHeart.tsx index 70eebcab2..19186bf95 100644 --- a/src/components/icons/IconHeart.tsx +++ b/src/components/icons/IconHeart.tsx @@ -1,21 +1,11 @@ import React from 'react' -const IconHeart = ({ ...props }) => { - return ( - - - - ) - } - - export default IconHeart \ No newline at end of file +const IconHeart = () => { + return ( + + + + ) +} + +export default IconHeart \ No newline at end of file diff --git a/src/utils/funtion.utils.ts b/src/utils/funtion.utils.ts index 410d3fdcc..b1e7b5536 100644 --- a/src/utils/funtion.utils.ts +++ b/src/utils/funtion.utils.ts @@ -1 +1,3 @@ -// funtion utils here \ No newline at end of file +export function isMobile() { + return window.innerWidth <= 768 +} \ No newline at end of file From 307434d3a7d669091d9b7e62c466bcd4f3b86c12 Mon Sep 17 00:00:00 2001 From: lytrankieio123 Date: Wed, 25 Aug 2021 18:03:46 +0700 Subject: [PATCH 23/26] :art: styles: add header border :%s --- src/components/common/Header/Header.module.scss | 1 + 1 file changed, 1 insertion(+) diff --git a/src/components/common/Header/Header.module.scss b/src/components/common/Header/Header.module.scss index 32392dffc..335305903 100644 --- a/src/components/common/Header/Header.module.scss +++ b/src/components/common/Header/Header.module.scss @@ -6,6 +6,7 @@ z-index: 9999; &.full { @apply shadow-none; + border: 1px solid var(--border-line); } .menu { padding-left: 3.2rem; From d345020e6e45248fba85a52b4f7ca95109ef771a Mon Sep 17 00:00:00 2001 From: lytrankieio123 Date: Wed, 25 Aug 2021 18:54:48 +0700 Subject: [PATCH 24/26] :art: styles: home banner (in progress) :%s --- pages/index.tsx | 7 ++- .../common/Header/Header.module.scss | 1 + .../HeaderMenu/HeaderMenu.module.scss | 2 +- .../home/HomeBanner/HomeBanner.module.css | 5 --- .../home/HomeBanner/HomeBanner.module.scss | 42 ++++++++++++++++++ .../modules/home/HomeBanner/HomeBanner.tsx | 20 +++++++-- .../home/HomeBanner/assets/home_banner.png | Bin 0 -> 85678 bytes .../HomeBanner/assets/text-decorative.svg | 3 ++ 8 files changed, 66 insertions(+), 14 deletions(-) delete mode 100644 src/components/modules/home/HomeBanner/HomeBanner.module.css create mode 100644 src/components/modules/home/HomeBanner/HomeBanner.module.scss create mode 100644 src/components/modules/home/HomeBanner/assets/home_banner.png create mode 100644 src/components/modules/home/HomeBanner/assets/text-decorative.svg diff --git a/pages/index.tsx b/pages/index.tsx index a520043d5..a8603f91c 100644 --- a/pages/index.tsx +++ b/pages/index.tsx @@ -1,17 +1,18 @@ -import { Banner, ButtonCommon, ButtonIconBuy, Inputcommon, InputSearch, Layout } from 'src/components/common'; +import { ButtonCommon, ButtonIconBuy, Inputcommon, InputSearch, Layout } from 'src/components/common'; import { IconBuy } from 'src/components/icons'; +import { HomeBanner } from 'src/components/modules/home'; export default function Home() { return ( <> +
      This is home page

      Go to pages/index.tsx to get your hand dirty!

      Go to src/components to make your awesome component!

      Go to src/styles to find global styles!

      - {/* */} {/* demo */}
      @@ -19,8 +20,6 @@ export default function Home() {
      }>Button - - Lorem ipsum dolor sit, amet consectetur adipisicing elit. Odit repellendus unde ad, deleniti et eligendi libero accusamus, suscipit necessitatibus cumque quasi. Harum sed excepturi obcaecati totam culpa earum modi hic nam neque voluptas, quaerat magnam nemo perspiciatis placeat accusamus nisi. Commodi neque hic nostrum? In voluptate ipsam aperiam perspiciatis fuga placeat quas asperiores! Fugit aspernatur dolore corporis. Aliquam, iste consequuntur sit tenetur autem iure vero aspernatur ad sint earum illo reprehenderit asperiores recusandae dicta ipsam unde ab veniam a similique? Nostrum iure et, officiis ipsum quo odio necessitatibus consequatur. Ad eligendi cumque quae architecto. Impedit odit ex atque at nostrum natus cumque modi unde quibusdam, asperiores illum nam, debitis est soluta. Hic maiores nostrum ab rerum voluptatum dolor maxime impedit in? Culpa beatae illum sapiente illo dolore natus voluptatem ipsum recusandae asperiores laudantium deserunt, ipsa itaque accusamus, commodi in quos sint fuga quam error minima molestiae distinctio, incidunt doloremque quidem. Iste omnis velit cupiditate eaque doloribus impedit quasi, alias iusto a, exercitationem perspiciatis ad ut libero ex laudantium aliquid porro aut autem nostrum, voluptas corrupti! Ipsa in fugiat debitis, reprehenderit, esse iusto eius sit modi nobis cumque vero rem! Sequi, ex nulla dolores architecto illum aut doloribus, quibusdam eligendi est ut earum quas perspiciatis unde ad. Beatae aspernatur quisquam laudantium asperiores vel veniam, recusandae ut tempora eveniet fugit consequatur repudiandae perspiciatis voluptatem tenetur placeat enim quibusdam consectetur minus cupiditate laborum? Et omnis quidem, ex excepturi delectus hic repudiandae, harum ratione neque tenetur praesentium ab officiis consequatur eveniet similique ducimus maiores in exercitationem magnam expedita iste laudantium doloremque! Repellat soluta quo quos officia doloremque quod quisquam maxime vel assumenda sint recusandae, aliquid, at delectus cumque ad placeat a ducimus obcaecati eos eveniet minima. Cumque quod quidem minima quibusdam dolores odit alias ipsa eos ad, dolor accusantium repellat beatae eveniet amet corrupti aut recusandae corporis officiis commodi nulla ut vel repellendus? Numquam dolorem tempore tenetur corrupti est dolorum quisquam, eius suscipit. Itaque harum similique obcaecati dolores, vero odio alias numquam laborum accusamus, facilis sint quas commodi quo iste, saepe odit corrupti animi error praesentium molestiae. Soluta cumque sed, laborum perferendis quasi optio possimus consequatur! Ducimus modi quo, natus inventore numquam soluta exercitationem, accusamus, impedit voluptatum ex nostrum placeat consequatur voluptatem vel quam dolore nobis similique quidem sit cupiditate nulla. Tenetur architecto cumque nisi cum vitae. Voluptatibus deserunt velit tempore ea ipsam a magnam neque eius unde autem cupiditate quas qui dolor officia aliquid illo deleniti eveniet, asperiores blanditiis, fugiat non minima, quaerat obcaecati. Voluptatem eos totam quos repellendus cum nemo, exercitationem repudiandae labore amet earum quaerat ut. Fuga unde illo expedita nemo commodi eum quos eaque sit harum animi labore quidem, beatae necessitatibus, laudantium quibusdam doloribus asperiores, sunt soluta! Minus tempora consequuntur labore quidem cumque fugiat ipsum in sed, necessitatibus saepe, rem laboriosam tempore! Minus consequuntur assumenda deserunt dignissimos maiores impedit eligendi, repudiandae architecto possimus obcaecati totam voluptatem doloremque cumque similique voluptate velit repellendus ipsam porro quae reiciendis ut tempora distinctio nemo. Quia hic laborum facere beatae officia rerum perspiciatis accusantium, iusto eius illum blanditiis delectus eveniet quibusdam eligendi eos sequi? Facilis quidem expedita, voluptate perferendis sit pariatur vitae! Amet, aliquam provident corporis dolore voluptate omnis, reiciendis perspiciatis dignissimos perferendis, porro voluptatum. Dignissimos cum nobis eligendi quisquam reiciendis? Qui distinctio quod placeat accusantium, hic vitae quaerat dicta fugit iure eum saepe rem, recusandae neque ea corrupti soluta. Earum quas laborum nulla in aliquam repellat voluptates minima magnam, eius minus. Dicta, in nobis assumenda alias velit fugiat! Enim mollitia et accusantium omnis inventore. Nisi sunt iure harum, velit excepturi ex sit eveniet alias voluptates laudantium facilis ipsam atque enim molestiae perferendis corrupti sapiente cumque, repudiandae non, rerum magnam sequi voluptate voluptatibus consectetur. Est animi illo magnam, vero dolores vel maxime laboriosam recusandae amet nemo! Corporis neque assumenda ullam officia nulla! Dolorum minus dicta tenetur ex, nemo dolore quae quibusdam quos enim reiciendis repellendus aliquam neque, vero voluptatem exercitationem eaque libero deleniti nihil saepe aperiam recusandae, natus laborum doloribus consectetur. Quasi vero sed, nesciunt adipisci distinctio sint asperiores officiis cumque dolore suscipit quos quibusdam illum eos atque incidunt esse quis blanditiis dolorem ipsam possimus in. Maxime vitae dolor sunt dolore accusantium! Debitis quisquam fuga sapiente eveniet ab, tempora nisi, asperiores accusamus aut laborum, error iusto illum unde! Perferendis, eveniet voluptatum architecto eos, atque veritatis eaque quia nam laudantium voluptate necessitatibus consequatur dolorum placeat quibusdam cum. Velit quaerat assumenda reprehenderit earum maxime sunt, quis ad ab rem facere, totam excepturi doloribus sequi aliquam nulla. Ipsam at beatae sunt placeat veniam dignissimos tenetur sed quod, laborum commodi ad voluptate distinctio, vel delectus! Iusto, voluptate laboriosam saepe laudantium libero similique deserunt. Tenetur maiores enim, vitae cum consectetur autem quidem? Ratione expedita error rerum aliquid aspernatur nisi voluptas veniam quibusdam. Debitis nobis voluptatem omnis quidem neque aperiam nesciunt nemo, similique consequatur eum quaerat consectetur. Eius nesciunt officia inventore ducimus corporis, reiciendis amet similique cum corrupti consequatur atque provident quam hic assumenda, doloribus impedit suscipit obcaecati fuga. Tempora iure fugit modi perspiciatis autem corporis mollitia atque nam iusto totam ipsa possimus molestias inventore, neque exercitationem ex officiis, quisquam dolorem id nostrum eaque eum quaerat. Culpa labore laudantium excepturi beatae, autem quos dignissimos tempore molestias veniam accusantium dolore eum esse, numquam officiis incidunt nam magnam! Necessitatibus in dolore repudiandae. Iusto architecto tempore assumenda tempora dolores obcaecati hic debitis nulla vitae, odit, dolorem corporis saepe, officia non porro explicabo! Consequuntur porro totam cupiditate sequi, officiis nihil dolorem consequatur. Consequatur, quibusdam maiores eos cupiditate reprehenderit consequuntur labore sed dicta suscipit cum dolorem consectetur quas dolores unde hic eaque eligendi sapiente excepturi incidunt deserunt molestiae vitae architecto expedita. Dolores voluptates quidem maiores aliquam rem deleniti obcaecati sint deserunt illo quis, quae eaque incidunt officiis ducimus ipsam soluta, sapiente omnis odio aut! Aliquid nesciunt tempora et accusantium cumque explicabo, aut impedit, voluptas iste, pariatur sint. Veniam, praesentium quisquam id molestiae est ut quo ullam fugit cum expedita maxime et illo. Quis fuga necessitatibus incidunt, distinctio exercitationem sit tenetur sed voluptates voluptas reiciendis tempora eveniet qui cupiditate voluptatem aliquam rerum dolores alias aspernatur optio! Sit fugit, alias ducimus porro magni sunt aspernatur natus quod quo laboriosam, illo quisquam rerum eum. Incidunt, quia molestiae. Sapiente, suscipit amet voluptate facere fugit excepturi officia nostrum incidunt! Fugiat quis corrupti assumenda dolor fuga explicabo exercitationem obcaecati, voluptatum, a impedit repellat asperiores quisquam? Ullam dolor perspiciatis libero tempore voluptatem nihil ipsam dolorum molestias reprehenderit, placeat nostrum id accusantium necessitatibus quod sed laudantium cum mollitia accusamus? Odit iste amet nobis consequuntur? Eveniet, ad harum earum quod molestias commodi, repudiandae, esse ratione ullam dolore explicabo deleniti. Placeat, architecto harum. Sint ullam quam in sunt ducimus obcaecati, vel corporis modi dolor voluptates facilis aliquid quibusdam quidem perspiciatis recusandae illum soluta est consectetur repellat nulla consequatur, aspernatur, odio amet repellendus. Provident numquam consequatur id laboriosam sapiente, laudantium nemo quia, a repudiandae, odio tempore ullam? Odio at ratione, vitae officiis placeat magni voluptatum ullam quas voluptatem molestias iste illum temporibus in eum ipsa reprehenderit commodi voluptate praesentium repellendus quos. Ipsa deserunt officiis eaque et cumque molestias odit eius libero maxime, reiciendis, nihil tempora omnis porro quo enim quae? Expedita in ipsa nobis quae dolorum ipsam magni sunt at odio quia, molestias dignissimos dolore vero iure autem. Culpa, architecto eos! Esse itaque voluptate quod quasi natus qui eveniet expedita ipsam! Qui eaque explicabo molestiae debitis pariatur rerum nisi fuga exercitationem. Recusandae quae voluptas, consectetur veritatis libero ab autem quod cum architecto magni incidunt totam esse temporibus perspiciatis non, sunt nulla! A perspiciatis, quam iure architecto adipisci natus fuga dignissimos beatae, ut nam aspernatur illum incidunt, ad deleniti voluptatum. Vitae ullam sit libero, minus quo cupiditate, ratione facere saepe numquam expedita beatae corrupti officiis quibusdam minima. Temporibus, excepturi possimus aliquam sit optio ea voluptas. Maiores saepe minus delectus quam temporibus quisquam at ex quae harum veritatis placeat dolorum voluptate deleniti praesentium, consectetur nulla neque libero mollitia odit eveniet. Dolorem ipsum dignissimos quod facilis modi obcaecati adipisci sed natus voluptate odit est, eveniet doloribus facere dolore pariatur amet quibusdam saepe architecto sapiente et nulla! Distinctio voluptatem, dolore earum veritatis consequuntur provident soluta, nam nemo, aliquam dolorem cum accusamus at labore fugit perferendis ducimus magnam! Fuga, impedit minus delectus nulla asperiores labore minima sit, magni quos, incidunt similique alias necessitatibus explicabo! Vitae ullam velit porro, laborum distinctio expedita odio maxime numquam. Repudiandae dignissimos dolore voluptatibus ea labore facilis blanditiis quam rem facere similique nihil fugit iste eligendi neque consectetur accusantium quis delectus laborum, molestias possimus doloribus in at. Voluptatibus quae quas repudiandae nesciunt ex omnis quod, accusantium quaerat facere optio nisi minima delectus suscipit officia error voluptas consequuntur vero. Quod dicta dolore tenetur esse dolorem incidunt ab in maiores quisquam ipsa sunt, eligendi vitae cum qui repellat, illo consequatur eaque alias porro beatae rem exercitationem. Voluptatum placeat autem ratione fugiat voluptatem nostrum praesentium soluta saepe qui cum. Iste velit dolorem iure debitis nihil porro nobis doloribus, autem natus ducimus asperiores suscipit id ipsum impedit assumenda qui error cum et dolor fuga? Assumenda commodi iste magnam alias, quidem autem inventore officia fugit incidunt! Dolorem minus aliquam blanditiis praesentium sequi amet, hic vel repudiandae? Voluptates nesciunt repellendus sapiente ab ex mollitia, quo harum facilis similique praesentium dolorum animi magnam error ipsa quia cupiditate sit, aliquid voluptas saepe, id odio debitis atque. Numquam nesciunt facere commodi harum deserunt, placeat repellendus a officiis non eum voluptatum dignissimos corrupti rerum. Recusandae, adipisci, modi non doloribus quaerat iusto enim ut reiciendis in dolorem provident eaque aperiam perspiciatis odio tempore quidem numquam officia molestiae voluptatibus soluta suscipit ipsa. Aperiam eaque unde fugit, veritatis maiores molestiae nesciunt officiis. Illum fuga voluptatum, quam tempora consequuntur eum. Qui vero, quae accusantium vel dicta veritatis eos autem dolor accusamus quia incidunt deserunt ut placeat suscipit distinctio ex! Quisquam modi mollitia voluptas quaerat dicta iusto ratione corporis, alias in neque! Nobis deleniti optio, dolores, quas consequatur earum ab distinctio dolor facere explicabo aperiam magnam ex incidunt praesentium pariatur ipsa vero, cupiditate eveniet. Repellat vel nostrum minima voluptatum illum eveniet quis vero fugit obcaecati nemo neque aperiam dolores accusantium labore distinctio, consequuntur facilis vitae. Quam architecto cupiditate, molestiae blanditiis, quis ratione officiis odit totam inventore aliquam eaque odio, explicabo nisi laborum ipsum. Nisi minus aliquid tenetur pariatur omnis numquam consequatur ullam repudiandae placeat? Delectus atque accusantium corrupti laborum praesentium quisquam saepe expedita reiciendis, laudantium magni doloremque amet facilis tempore error aperiam in perferendis, sunt voluptates aliquam reprehenderit, consequuntur iusto facere. Totam beatae quisquam molestiae autem quasi commodi alias perferendis magni ipsum ipsa cumque odio voluptatibus cupiditate adipisci vel ad pariatur, non quo tempora dicta fugit voluptates veritatis qui praesentium. Repellendus non iure eveniet sed assumenda optio alias aspernatur sapiente quia dolorem ullam necessitatibus excepturi placeat iste nostrum, sunt consequatur qui porro facilis! Numquam et accusantium enim reprehenderit! Iusto qui tenetur, repellendus non dolor enim voluptas cupiditate adipisci omnis quidem necessitatibus ipsum doloremque delectus, ratione consectetur dolorum voluptatum nihil quos! Cumque fugit iusto eos numquam vitae consectetur facere quae doloribus. Molestiae facilis qui officiis pariatur aliquid molestias fuga provident delectus. Porro iusto natus velit reiciendis ut, itaque alias repudiandae est cumque deserunt, officiis commodi temporibus earum aperiam voluptatum. Minus impedit recusandae qui nihil harum commodi, sequi eius aut doloribus modi nisi aperiam quam dolorem natus. Cupiditate corporis quisquam deleniti consectetur eligendi aliquid quas porro. Eius facere recusandae quae fugit, rerum libero, dolorem doloribus fuga rem voluptas magnam, alias ullam quasi molestias aut! Autem et unde est dolor exercitationem labore! Maxime dignissimos ratione quae repudiandae nobis temporibus excepturi eveniet incidunt repellat, nesciunt aliquam dolor perspiciatis dolores dolore est repellendus qui voluptates! Delectus nam sapiente officia assumenda esse eligendi, deleniti animi recusandae reprehenderit qui accusantium numquam odio repudiandae facere nesciunt, optio maxime porro dolore repellendus. Explicabo iure rem nisi nulla reiciendis distinctio cum odio! Optio dolor animi iusto repellendus id expedita repudiandae commodi illum eos excepturi facilis rem, modi hic magni, ipsa tempore vel velit doloribus obcaecati autem deserunt quis earum explicabo atque. Repellendus quas optio dolor molestiae! Qui nobis maiores, quas beatae quibusdam, deserunt temporibus numquam soluta totam assumenda quidem labore aut error cumque aliquam dicta sapiente, porro impedit culpa in et sint obcaecati. ) } diff --git a/src/components/common/Header/Header.module.scss b/src/components/common/Header/Header.module.scss index 335305903..ce960228b 100644 --- a/src/components/common/Header/Header.module.scss +++ b/src/components/common/Header/Header.module.scss @@ -4,6 +4,7 @@ @apply sticky bg-white shadow-md; top: 0; z-index: 9999; + margin-bottom: 3.2rem; &.full { @apply shadow-none; border: 1px solid var(--border-line); diff --git a/src/components/common/Header/components/HeaderMenu/HeaderMenu.module.scss b/src/components/common/Header/components/HeaderMenu/HeaderMenu.module.scss index 679d947ba..a61c059e6 100644 --- a/src/components/common/Header/components/HeaderMenu/HeaderMenu.module.scss +++ b/src/components/common/Header/components/HeaderMenu/HeaderMenu.module.scss @@ -5,7 +5,7 @@ padding-bottom: 0.8rem; @screen md { @apply flex justify-between items-center; - adding-top: 0.8rem; + padding-top: 0.8rem; padding-bottom: 0.8rem; &.full { padding-top: 2.4rem; diff --git a/src/components/modules/home/HomeBanner/HomeBanner.module.css b/src/components/modules/home/HomeBanner/HomeBanner.module.css deleted file mode 100644 index 3e25230ff..000000000 --- a/src/components/modules/home/HomeBanner/HomeBanner.module.css +++ /dev/null @@ -1,5 +0,0 @@ -/* style demo here */ - -.homeBanner { - color: green; -} \ No newline at end of file diff --git a/src/components/modules/home/HomeBanner/HomeBanner.module.scss b/src/components/modules/home/HomeBanner/HomeBanner.module.scss new file mode 100644 index 000000000..e2ce73cba --- /dev/null +++ b/src/components/modules/home/HomeBanner/HomeBanner.module.scss @@ -0,0 +1,42 @@ +@import "../../../../styles/utilities"; + +.homeBanner { + .left { + @apply hidden; + } + @screen md { + @apply grid; + grid-template-columns: 2fr 4fr; + .left { + @apply flex items-end justify-center custom-border-radius-lg; + background: pink; + margin-right: 1.6rem; + // background-image: url('./assets/home_banner.png'); + // background-image: url('https://user-images.githubusercontent.com/76729908/130574371-3b75fa72-9552-4605-aba9-a4b31cd9dce7.png'); + // background-repeat: no-repeat; + + .text { + @apply relative font-heading text-center; + padding-bottom: 4.8rem; + width: min-content; + + color: var(--white); + font-size: 8.8rem; + line-height: 8rem; + letter-spacing: -0.03em; + font-weight: bold; + text-transform: uppercase; + &::after { + @apply absolute; + content: ""; + top: -4rem; + right: -1.6rem; + width: 5.7rem; + height: 4.7rem; + background-image: url("./assets/text-decorative.svg"); + background-repeat: no-repeat; + } + } + } + } +} diff --git a/src/components/modules/home/HomeBanner/HomeBanner.tsx b/src/components/modules/home/HomeBanner/HomeBanner.tsx index 7a254ec10..e64b1f1ad 100644 --- a/src/components/modules/home/HomeBanner/HomeBanner.tsx +++ b/src/components/modules/home/HomeBanner/HomeBanner.tsx @@ -1,14 +1,26 @@ -import { FC } from 'react' -import s from './HomeBanner.module.css' +import React from 'react' +import { Banner } from 'src/components/common' +import s from './HomeBanner.module.scss' interface Props { className?: string children?: any } -const HomeBanner: FC = ({ }) => { +const HomeBanner = ({ }: Props) => { return ( -
      This is HomeBanner
      +
      +
      +
      + Freshness
      guaranteed +
      +
      + +
      ) } diff --git a/src/components/modules/home/HomeBanner/assets/home_banner.png b/src/components/modules/home/HomeBanner/assets/home_banner.png new file mode 100644 index 0000000000000000000000000000000000000000..8fb683a8ba57788b4a412ba34cde7fda1a7f3160 GIT binary patch literal 85678 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 + + From e1088bfb88445824bc02ee3996d90bc54f92dab4 Mon Sep 17 00:00:00 2001 From: lytrankieio123 Date: Thu, 26 Aug 2021 13:59:05 +0700 Subject: [PATCH 25/26] :art: styles: banner home :%s --- pages/index.tsx | 8 +- .../common/Banner/Banner.module.scss | 33 ++++--- src/components/common/Banner/Banner.tsx | 10 ++- .../home/HomeBanner/HomeBanner.module.scss | 18 ++-- .../modules/home/HomeBanner/HomeBanner.tsx | 4 +- .../modules/home/HomeBanner/assets/banner.png | Bin 0 -> 41412 bytes .../home/HomeBanner/assets/banner_full.png | Bin 0 -> 126904 bytes src/styles/_base.scss | 3 +- src/styles/_utilities.scss | 85 +++++++++--------- 9 files changed, 93 insertions(+), 68 deletions(-) create mode 100644 src/components/modules/home/HomeBanner/assets/banner.png create mode 100644 src/components/modules/home/HomeBanner/assets/banner_full.png diff --git a/pages/index.tsx b/pages/index.tsx index a8603f91c..e67d8048a 100644 --- a/pages/index.tsx +++ b/pages/index.tsx @@ -1,5 +1,5 @@ -import { ButtonCommon, ButtonIconBuy, Inputcommon, InputSearch, Layout } from 'src/components/common'; +import { Banner, ButtonCommon, ButtonIconBuy, Inputcommon, InputSearch, Layout } from 'src/components/common'; import { IconBuy } from 'src/components/icons'; import { HomeBanner } from 'src/components/modules/home'; @@ -20,6 +20,12 @@ export default function Home() {
}>Button + + ) } diff --git a/src/components/common/Banner/Banner.module.scss b/src/components/common/Banner/Banner.module.scss index 2fbd52c61..4cec48628 100644 --- a/src/components/common/Banner/Banner.module.scss +++ b/src/components/common/Banner/Banner.module.scss @@ -2,31 +2,44 @@ .banner { @apply bg-primary-light custom-border-radius-lg overflow-hidden; - border: 1px solid var(--primary); - + @screen md { + border: 1px solid var(--primary); + } + &.large { + .inner { + @screen xl { + @apply bg-right-bottom; + background-size: unset; + } + } + } .inner { @apply bg-no-repeat; background-size: 90%; background-position: right -500% bottom 0%; - @screen md { - @apply bg-right-bottom; - background-size: unset; - } .content { - background-image: linear-gradient(to right, rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.4) 90%, rgba(255, 255, 255, 0)); + background-image: linear-gradient( + to right, + rgb(227, 242, 233, 0.9), + rgb(227, 242, 233, 0.5) 80%, + rgb(227, 242, 233, 0) + ); padding: 1.6rem; - max-width: 70%; + max-width: 37rem; @screen md { - max-width: 50%; + max-width: 49.6rem; padding: 4.8rem; } .top { .heading { - @apply heading-1; + @apply heading-1 font-heading; margin-bottom: 1.6rem; } .subHeading { @apply sub-headline; + @screen md { + @apply caption; + } } } diff --git a/src/components/common/Banner/Banner.tsx b/src/components/common/Banner/Banner.tsx index d85557cc5..39960329d 100644 --- a/src/components/common/Banner/Banner.tsx +++ b/src/components/common/Banner/Banner.tsx @@ -1,3 +1,4 @@ +import classNames from 'classnames' import Link from 'next/link' import React, { memo } from 'react' import { IconArrowRight } from 'src/components/icons' @@ -12,12 +13,15 @@ interface Props { subtitle: string, buttonLabel?: string, linkButton?: string, - onClick?: () => void, + size?: 'small' | 'large', } -const Banner = memo(({ imgLink, title, subtitle, buttonLabel = LANGUAGE.BUTTON_LABEL.SHOP_NOW, linkButton = ROUTE.HOME }: Props) => { +const Banner = memo(({ imgLink, title, subtitle, buttonLabel = LANGUAGE.BUTTON_LABEL.SHOP_NOW, linkButton = ROUTE.HOME, size = 'large' }: Props) => { return ( -
+
diff --git a/src/components/modules/home/HomeBanner/HomeBanner.module.scss b/src/components/modules/home/HomeBanner/HomeBanner.module.scss index e2ce73cba..49b3b944b 100644 --- a/src/components/modules/home/HomeBanner/HomeBanner.module.scss +++ b/src/components/modules/home/HomeBanner/HomeBanner.module.scss @@ -1,23 +1,23 @@ @import "../../../../styles/utilities"; .homeBanner { + @apply spacing-horizontal; .left { @apply hidden; } - @screen md { + @screen xl { @apply grid; - grid-template-columns: 2fr 4fr; + grid-template-columns: 1fr 1.8fr; .left { @apply flex items-end justify-center custom-border-radius-lg; - background: pink; margin-right: 1.6rem; - // background-image: url('./assets/home_banner.png'); - // background-image: url('https://user-images.githubusercontent.com/76729908/130574371-3b75fa72-9552-4605-aba9-a4b31cd9dce7.png'); - // background-repeat: no-repeat; + background-image: url('./assets/home_banner.png'); + background-repeat: no-repeat; + background-size: cover; .text { @apply relative font-heading text-center; - padding-bottom: 4.8rem; + padding: 2.4rem 2.4rem 4.8rem; width: min-content; color: var(--white); @@ -29,8 +29,8 @@ &::after { @apply absolute; content: ""; - top: -4rem; - right: -1.6rem; + top: -2.4rem; + right: 0.8rem; width: 5.7rem; height: 4.7rem; background-image: url("./assets/text-decorative.svg"); diff --git a/src/components/modules/home/HomeBanner/HomeBanner.tsx b/src/components/modules/home/HomeBanner/HomeBanner.tsx index e64b1f1ad..749a8f197 100644 --- a/src/components/modules/home/HomeBanner/HomeBanner.tsx +++ b/src/components/modules/home/HomeBanner/HomeBanner.tsx @@ -1,6 +1,7 @@ import React from 'react' import { Banner } from 'src/components/common' import s from './HomeBanner.module.scss' +import BannerImgRight from './assets/banner_full.png' interface Props { className?: string @@ -18,7 +19,8 @@ const HomeBanner = ({ }: Props) => {
) diff --git a/src/components/modules/home/HomeBanner/assets/banner.png b/src/components/modules/home/HomeBanner/assets/banner.png new file mode 100644 index 0000000000000000000000000000000000000000..fc65bdd68da835ffbcbd0d9dbe15850441d6cbc4 GIT binary patch literal 41412 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

ey^~Y!(G161n9HpDZsd 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 literal 0 HcmV?d00001 diff --git a/src/components/modules/home/HomeBanner/assets/banner_full.png b/src/components/modules/home/HomeBanner/assets/banner_full.png new file mode 100644 index 0000000000000000000000000000000000000000..082f8aacda729123d0eecfb69c5c30e192479188 GIT binary patch literal 126904 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 RS7ZPH002ovPDHLkV1l77*(v}4 literal 0 HcmV?d00001 diff --git a/src/styles/_base.scss b/src/styles/_base.scss index ec4273b21..03a6114fa 100644 --- a/src/styles/_base.scss +++ b/src/styles/_base.scss @@ -39,8 +39,7 @@ --font-size: 16px; --line-height: 24px; - --font-sans: "Nunito", cursive, -apple-system, system-ui, BlinkMacSystemFont, "Helvetica Neue", "Helvetica", - sans-serif; + --font-sans: "Nunito", -apple-system, system-ui, BlinkMacSystemFont, "Helvetica Neue", "Helvetica", sans-serif; --font-heading: "Righteous", -apple-system, system-ui, BlinkMacSystemFont, "Helvetica Neue", "Helvetica", sans-serif; --font-logo: "Poppins", -apple-system, system-ui, BlinkMacSystemFont, "Helvetica Neue", "Helvetica", sans-serif; } diff --git a/src/styles/_utilities.scss b/src/styles/_utilities.scss index ef68ce01b..e75d344fe 100644 --- a/src/styles/_utilities.scss +++ b/src/styles/_utilities.scss @@ -1,78 +1,78 @@ @layer utilities { .heading-1 { - font-size: 4.8rem; - line-height: 5.6rem; - letter-spacing: -0.03em; - font-weight: bold; - text-transform: uppercase; - @screen md { - font-size: 6.4rem; - line-height: 8rem; - letter-spacing: -0.03em; - } - } - .heading-2 { - font-size: 4rem; - line-height: 4.8rem; - letter-spacing: -0.02em; - font-weight: bold; - text-transform: uppercase; - @screen md { - font-size: 4.8rem; - line-height: 5.6rem; - letter-spacing: -0.02em; - } - } - .heading-3 { - font-size: 2.4rem; - line-height: 3.2rem; + font-size: 24px; + line-height: 28px; letter-spacing: -0.01em; font-weight: bold; text-transform: uppercase; @screen md { - font-size: 3.2rem; - line-height: 4rem; + font-size: 64px; + line-height: 80px; + letter-spacing: -0.03em; + } + } + .heading-2 { + font-size: 32px; + line-height: 40px; + letter-spacing: -0.02em; + font-weight: bold; + text-transform: uppercase; + @screen md { + font-size: 48px; + line-height: 56px; + letter-spacing: -0.02em; + } + } + .heading-3 { + font-size: 24px; + line-height: 32px; + letter-spacing: -0.01em; + font-weight: bold; + text-transform: uppercase; + @screen md { + font-size: 32px; + line-height: 40px; letter-spacing: -0.01em; } } .sm-headline { - font-size: 1.8rem; - line-height: 2.8rem; + font-size: 18px; + line-height: 28px; letter-spacing: -0.01em; font-weight: bold; @screen md { - font-size: 2rem; - line-height: 2.8rem; + font-size: 20px; + line-height: 28px; letter-spacing: -0.01em; } } .sub-headline { - font-size: 2rem; - line-height: 2.8rem; + font-size: 20px; + line-height: 28px; letter-spacing: -0.01em; @screen md { - font-size: 2.4rem; - line-height: 3.2rem; + font-size: 24px; + line-height: 32px; letter-spacing: -0.01em; } } .topline { - font-size: 1.8rem; - line-height: 2.8rem; + font-size: 18px; + line-height: 28px; letter-spacing: 0.01em; @screen md { - font-size: 2rem; - line-height: 2.8rem; + font-size: 20px; + line-height: 28px; letter-spacing: 0.01em; } } .caption { - font-size: 1.2rem; - line-height: 2rem; + font-size: 12px; + line-height: 20px; letter-spacing: 0.01em; } @@ -80,6 +80,7 @@ font-size: 10px; line-height: 16px; } + .spacing-horizontal { padding-left: 2rem; padding-right: 2rem; From dfb524d45d58c7387da3e05f55f3751437331fd0 Mon Sep 17 00:00:00 2001 From: lytrankieio123 Date: Thu, 26 Aug 2021 14:20:54 +0700 Subject: [PATCH 26/26] :art: styles: banner home :%s --- src/components/common/Banner/Banner.tsx | 2 +- src/components/modules/home/HomeBanner/HomeBanner.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/common/Banner/Banner.tsx b/src/components/common/Banner/Banner.tsx index 39960329d..a953052b6 100644 --- a/src/components/common/Banner/Banner.tsx +++ b/src/components/common/Banner/Banner.tsx @@ -20,7 +20,7 @@ const Banner = memo(({ imgLink, title, subtitle, buttonLabel = LANGUAGE.BUTTON_L return (

diff --git a/src/components/modules/home/HomeBanner/HomeBanner.tsx b/src/components/modules/home/HomeBanner/HomeBanner.tsx index 749a8f197..8bbf75138 100644 --- a/src/components/modules/home/HomeBanner/HomeBanner.tsx +++ b/src/components/modules/home/HomeBanner/HomeBanner.tsx @@ -20,7 +20,7 @@ const HomeBanner = ({ }: Props) => { title="Save 15% on your first order" subtitle="Last call! Shop deep deals on 100+ bulk picks while you can." imgLink={BannerImgRight.src} - type="small" + size="small" />
)