+ [s.show]: showScrollToTop
+ })}
+ onClick={handleScrollUp}
+ >
diff --git a/src/components/common/SkeletonCommon/SkeletonImage/SkeletonImage.module.scss b/src/components/common/SkeletonCommon/SkeletonImage/SkeletonImage.module.scss
new file mode 100644
index 000000000..d9607adec
--- /dev/null
+++ b/src/components/common/SkeletonCommon/SkeletonImage/SkeletonImage.module.scss
@@ -0,0 +1,53 @@
+@import '../../../../styles/utilities';
+
+.skeletonImage {
+ @apply relative;
+ background: #DDDBDD;
+
+ &.small {
+ width: 10rem;
+ height: 10rem;
+ }
+
+ &.default {
+ width: 15rem;
+ height: 15rem;
+ }
+
+ &.large {
+ width: 20rem;
+ height: 20rem;
+ }
+
+ &.left {
+ margin-left: 0;
+ }
+
+ &.center {
+ margin: auto;
+ }
+
+ &::after {
+ position: absolute;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ transform: translateX(-100%);
+ background-image: linear-gradient(
+ 90deg,
+ rgba(#fff, 0) 0,
+ rgba(#fff, 0.2) 20%,
+ rgba(#fff, 0.5) 60%,
+ rgba(#fff, 0)
+ );
+ animation: shimmer 2s infinite;
+ content: '';
+ }
+}
+
+@keyframes shimmer {
+ 100% {
+ transform: translateX(100%);
+ }
+}
diff --git a/src/components/common/SkeletonCommon/SkeletonImage/SkeletonImage.tsx b/src/components/common/SkeletonCommon/SkeletonImage/SkeletonImage.tsx
new file mode 100644
index 000000000..e2c7c5e0f
--- /dev/null
+++ b/src/components/common/SkeletonCommon/SkeletonImage/SkeletonImage.tsx
@@ -0,0 +1,20 @@
+import classNames from "classnames";
+import React from "react";
+import s from './SkeletonImage.module.scss'
+
+interface SkeletonImageProps {
+ align?: "left" | "center"
+ size?: "small" | "default" | "large"
+}
+
+const SkeletonImage = ({ align="center", size="default" }: SkeletonImageProps) => {
+ return (
+
+
+ )
+}
+
+export default SkeletonImage
\ No newline at end of file
diff --git a/src/components/common/SkeletonCommon/SkeletonParagraph/SkeletonParagraph.module.scss b/src/components/common/SkeletonCommon/SkeletonParagraph/SkeletonParagraph.module.scss
new file mode 100644
index 000000000..1ebd6e413
--- /dev/null
+++ b/src/components/common/SkeletonCommon/SkeletonParagraph/SkeletonParagraph.module.scss
@@ -0,0 +1,65 @@
+@import '../../../../styles/utilities';
+
+.skeletonParagraph {
+ margin: 0 1.6rem;
+
+ .row {
+ display: inline-block;
+ height: 2rem;
+ width: 100%;
+ position: relative;
+ overflow: hidden;
+ background-color: #DDDBDD;
+
+ &::after {
+ position: absolute;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ transform: translateX(-100%);
+ background-image: linear-gradient(
+ 90deg,
+ rgba(#fff, 0) 0,
+ rgba(#fff, 0.2) 20%,
+ rgba(#fff, 0.5) 60%,
+ rgba(#fff, 0)
+ );
+ animation: shimmer 2s infinite;
+ content: '';
+ }
+ }
+
+ .lastRow {
+ display: inline-block;
+ height: 2rem;
+ width: 80%;
+ position: relative;
+ overflow: hidden;
+ background-color: #DDDBDD;
+
+ &::after {
+ position: absolute;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ transform: translateX(-100%);
+ background-image: linear-gradient(
+ 90deg,
+ rgba(#fff, 0) 0,
+ rgba(#fff, 0.2) 20%,
+ rgba(#fff, 0.5) 60%,
+ rgba(#fff, 0)
+ );
+ animation: shimmer 2s infinite;
+ content: '';
+ }
+ }
+}
+
+@keyframes shimmer {
+ 100% {
+ transform: translateX(100%);
+ }
+}
diff --git a/src/components/common/SkeletonCommon/SkeletonParagraph/SkeletonParagraph.tsx b/src/components/common/SkeletonCommon/SkeletonParagraph/SkeletonParagraph.tsx
new file mode 100644
index 000000000..eadcff724
--- /dev/null
+++ b/src/components/common/SkeletonCommon/SkeletonParagraph/SkeletonParagraph.tsx
@@ -0,0 +1,23 @@
+import React from "react";
+import s from './SkeletonParagraph.module.scss'
+
+interface SkeletonParagraphProps {
+ rows?: number // number of rows in paragraph
+}
+
+const SkeletonParagraph = ({ rows=2 }: SkeletonParagraphProps) => {
+ return (
+
+ {
+ [...Array(rows)].map((e, i) => {
+ if (i === rows-1) {
+ return
+ }
+ return
+ })
+ }
+
+ )
+}
+
+export default SkeletonParagraph
\ No newline at end of file
diff --git a/src/components/modules/404/404Page/404Page.module.scss b/src/components/modules/404/404Page/404Page.module.scss
index b089a9ad3..f490b4f3a 100644
--- a/src/components/modules/404/404Page/404Page.module.scss
+++ b/src/components/modules/404/404Page/404Page.module.scss
@@ -6,7 +6,7 @@
background-color: white;
.inner{
- height: 100vh;
+ height: 70vh;
.logo{
margin-top: 2rem;
}
diff --git a/src/components/modules/account/AccountSignIn/AccountSignIn.module.scss b/src/components/modules/account/AccountSignIn/AccountSignIn.module.scss
index 751dcf87f..e613992bc 100644
--- a/src/components/modules/account/AccountSignIn/AccountSignIn.module.scss
+++ b/src/components/modules/account/AccountSignIn/AccountSignIn.module.scss
@@ -22,11 +22,13 @@
}
.dontHaveAccount{
@apply flex justify-center font-bold;
- div{
- color:var(--text-active);
- }
- span{
+ button {
+ all: unset;
color:var(--primary);
+ cursor: pointer;
+ &:focus-visible {
+ outline: 2px solid var(--text-active);
+ }
}
}
diff --git a/src/components/modules/account/AccountSignIn/AccountSignIn.tsx b/src/components/modules/account/AccountSignIn/AccountSignIn.tsx
index d1de1dffe..32e7fa646 100644
--- a/src/components/modules/account/AccountSignIn/AccountSignIn.tsx
+++ b/src/components/modules/account/AccountSignIn/AccountSignIn.tsx
@@ -1,10 +1,11 @@
-import React,{memo} from "react"
+import React,{memo, useState} from "react"
import { ButtonCommon, StaticImage } from "src/components/common";
import s from './AccountSignIn.module.scss';
import {LANGUAGE} from 'src/utils/language.utils';
import AccountSignInImg from '../../../../../public/assets/images/accountsignin.png'
-import Link from 'next/link';
import { useRouter } from 'next/router';
+import ModalAuthenticate from "src/components/common/ModalAuthenticate/ModalAuthenticate";
+import { useModalCommon } from "src/components/hooks";
interface AccountSignIn {
@@ -12,12 +13,12 @@ interface AccountSignIn {
const AccountSignIn = memo(({ } : AccountSignIn) => {
const router = useRouter();
+ const { visible: visibleModalAuthen, closeModal: closeModalAuthen, openModal: openModalAuthen } = useModalCommon({ initialValue: false })
+ const [isModeAuthenSignup, setIsModeAuthenSignup] = useState
(false)
- function openLogin(){
- router.push({
- pathname: `${router.pathname}/query`,
- search: '?openLogin=true'
- });
+ const openModalSignup = () => {
+ setIsModeAuthenSignup(true)
+ openModalAuthen()
}
return (
@@ -31,13 +32,14 @@ const AccountSignIn = memo(({ } : AccountSignIn) => {
Sign in to get more interesting
features
@@ -26,4 +26,4 @@ const ErrorPage = ({ }: Props) => {
)
}
-export default ErrorPage
+export default ErrorContent
diff --git a/src/components/modules/error-page/index.tsx b/src/components/modules/error-page/index.tsx
new file mode 100644
index 000000000..3732145a5
--- /dev/null
+++ b/src/components/modules/error-page/index.tsx
@@ -0,0 +1 @@
+export {default as ErrorContent} from './ErrorContent/ErrorContent';
\ No newline at end of file
diff --git a/src/components/modules/error/index.tsx b/src/components/modules/error/index.tsx
deleted file mode 100644
index 4fadf1398..000000000
--- a/src/components/modules/error/index.tsx
+++ /dev/null
@@ -1 +0,0 @@
-export {default as ErrorPage} from './ErrorPage/ErrorPage';
\ 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
index a8b1b1d27..bb65a2549 100644
--- a/src/components/modules/home/HomeBanner/HomeBanner.module.scss
+++ b/src/components/modules/home/HomeBanner/HomeBanner.module.scss
@@ -31,11 +31,15 @@
width: min-content;
color: var(--white);
- font-size: 8.8rem;
+ font-size: 7rem;
line-height: 8rem;
letter-spacing: -0.03em;
font-weight: bold;
text-transform: uppercase;
+
+ @screen 2xl {
+ line-height: 8rem;
+ }
&::after {
@apply absolute;
content: "";
diff --git a/src/utils/constanst.utils.ts b/src/utils/constanst.utils.ts
index e85f5fdee..3d55aac06 100644
--- a/src/utils/constanst.utils.ts
+++ b/src/utils/constanst.utils.ts
@@ -21,6 +21,7 @@ export const ROUTE = {
RECIPES: '/recipes',
RECIPE_DETAIL: '/recipe',
+ NOTIFICATION: '/notifications',
BUSSINESS: '/bussiness',
CONTACT: '/contact',
CHECKOUT: '/checkout',
@@ -35,7 +36,6 @@ export const ACCOUNT_TAB = {
CUSTOMER_INFO: '',
ORDER: 'orders',
FAVOURITE: 'wishlist',
- NOTIFICATION: 'notification',
}
export const QUERY_KEY = {