+ [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/checkout/CheckoutSuccess/CheckoutSuccess.module.scss b/src/components/modules/checkout/CheckoutSuccess/CheckoutSuccess.module.scss
new file mode 100644
index 000000000..c7d4b2859
--- /dev/null
+++ b/src/components/modules/checkout/CheckoutSuccess/CheckoutSuccess.module.scss
@@ -0,0 +1,38 @@
+@import '../../../../styles/utilities';
+
+.checkoutSuccessWrapper {
+ @apply flex items-center justify-center;
+ margin-top: -3.2rem;
+
+ .checkoutSuccess {
+ border-radius: 80% 90% 18% 10% / 20% 10% 27% 20%;
+ max-width: 77.6rem;
+ height: fit-content;
+ background:
+ url('./assets/veget.png') left 0 top 0 no-repeat,
+ url('./assets/fish.png') right 0 top 0 no-repeat,
+ url('./assets/freezeShrimp.png') right 0 bottom 0 no-repeat,
+ url('./assets/coffeeBean.png') left 0 bottom 0 no-repeat;
+ background-color: #E3F2E9;
+
+ .checkoutContent {
+ @apply text-center;
+ margin: 7.2rem 4.8rem 6.4rem 4.8rem;
+
+ .checkoutMsg {
+ @apply heading-1 font-heading;
+ margin-top: 3.2rem;
+ margin-bottom: 1.6rem;
+ }
+
+ .checkoutSubMsg {
+ @apply sub-headline;
+ margin-bottom: 4rem;
+ }
+
+ .backToHomeBtn {
+ @apply flex justify-center;
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/components/modules/checkout/CheckoutSuccess/CheckoutSuccess.tsx b/src/components/modules/checkout/CheckoutSuccess/CheckoutSuccess.tsx
new file mode 100644
index 000000000..277cd5e30
--- /dev/null
+++ b/src/components/modules/checkout/CheckoutSuccess/CheckoutSuccess.tsx
@@ -0,0 +1,34 @@
+import React from "react";
+import s from './CheckoutSuccess.module.scss';
+
+import Link from "next/link";
+
+import checkIcon from './assets/checkIcon.png';
+
+import { ButtonCommon, StaticImage } from "src/components/common";
+import { IconArrowRight } from "src/components/icons";
+
+const CheckoutSuccess = () => {
+ return (
+
+
+
+
+
+
Your purchase has been successed!
+
Last call! Shop deep deals on 100+ bulk picks while you can.
+
+
+
+
+
+ )
+}
+
+export default CheckoutSuccess
\ No newline at end of file
diff --git a/src/components/modules/checkout/CheckoutSuccess/assets/checkIcon.png b/src/components/modules/checkout/CheckoutSuccess/assets/checkIcon.png
new file mode 100644
index 000000000..9d97234fb
Binary files /dev/null and b/src/components/modules/checkout/CheckoutSuccess/assets/checkIcon.png differ
diff --git a/src/components/modules/checkout/CheckoutSuccess/assets/coffeeBean.png b/src/components/modules/checkout/CheckoutSuccess/assets/coffeeBean.png
new file mode 100644
index 000000000..742f30b68
Binary files /dev/null and b/src/components/modules/checkout/CheckoutSuccess/assets/coffeeBean.png differ
diff --git a/src/components/modules/checkout/CheckoutSuccess/assets/fish.png b/src/components/modules/checkout/CheckoutSuccess/assets/fish.png
new file mode 100644
index 000000000..14f676f64
Binary files /dev/null and b/src/components/modules/checkout/CheckoutSuccess/assets/fish.png differ
diff --git a/src/components/modules/checkout/CheckoutSuccess/assets/freezeShrimp.png b/src/components/modules/checkout/CheckoutSuccess/assets/freezeShrimp.png
new file mode 100644
index 000000000..5b3a501ac
Binary files /dev/null and b/src/components/modules/checkout/CheckoutSuccess/assets/freezeShrimp.png differ
diff --git a/src/components/modules/checkout/CheckoutSuccess/assets/veget.png b/src/components/modules/checkout/CheckoutSuccess/assets/veget.png
new file mode 100644
index 000000000..83b8f51cc
Binary files /dev/null and b/src/components/modules/checkout/CheckoutSuccess/assets/veget.png differ
diff --git a/src/components/modules/error/ErrorPage/Errorpage.module.scss b/src/components/modules/error-page/ErrorContent/ErrorContent.module.scss
similarity index 97%
rename from src/components/modules/error/ErrorPage/Errorpage.module.scss
rename to src/components/modules/error-page/ErrorContent/ErrorContent.module.scss
index 562a20f8b..379c01c46 100644
--- a/src/components/modules/error/ErrorPage/Errorpage.module.scss
+++ b/src/components/modules/error-page/ErrorContent/ErrorContent.module.scss
@@ -6,7 +6,7 @@
background-color: white;
.inner{
- height: 100vh;
+ height: 70vh;
.logo{
margin-top: 2rem;
}
diff --git a/src/components/modules/error/ErrorPage/ErrorPage.tsx b/src/components/modules/error-page/ErrorContent/ErrorContent.tsx
similarity index 86%
rename from src/components/modules/error/ErrorPage/ErrorPage.tsx
rename to src/components/modules/error-page/ErrorContent/ErrorContent.tsx
index 0e550b766..112f9339c 100644
--- a/src/components/modules/error/ErrorPage/ErrorPage.tsx
+++ b/src/components/modules/error-page/ErrorContent/ErrorContent.tsx
@@ -1,12 +1,12 @@
import Link from 'next/link';
import React from 'react';
import { ButtonCommon } from 'src/components/common';
-import s from './ErrorPage.module.scss';
+import s from './ErrorContent.module.scss';
interface Props {
}
-const ErrorPage = ({ }: Props) => {
+const ErrorContent = ({ }: Props) => {
return (
@@ -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 = {