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: {