diff --git a/apps/web/public/images/home/hero.png b/apps/web/public/images/home/hero.png
new file mode 100644
index 00000000..1ae80c71
Binary files /dev/null and b/apps/web/public/images/home/hero.png differ
diff --git a/apps/web/src/modules/home/Banner/SvgGroup.tsx b/apps/web/src/modules/home/Banner/SvgGroup.tsx
deleted file mode 100644
index e9df8409..00000000
--- a/apps/web/src/modules/home/Banner/SvgGroup.tsx
+++ /dev/null
@@ -1,238 +0,0 @@
-import React, { useEffect, useMemo, useRef } from 'react';
-import { gsap } from 'gsap';
-import { useDebounceFn } from 'ahooks';
-
-import Svg1 from './assets/01.svg';
-import Svg2 from './assets/02.svg';
-import Svg3 from './assets/03.svg';
-import Svg4 from './assets/04.svg';
-import Svg5 from './assets/05.svg';
-// import Svg6 from './assets/06.svg';
-import Svg6 from './assets/07.svg';
-// import Svg8 from './assets/08.svg';
-
-export const SvgPositionConfig = [
- {
- id: 1,
- top: 38,
- right: 213,
- width: 143,
- height: 129,
- el: ,
- animate: true,
- },
- {
- id: 2,
- top: 89,
- right: 311,
- width: 277,
- height: 250,
- el: ,
- animate: true,
- },
- {
- id: 3,
- top: 107,
- right: 1,
- width: 226,
- height: 232,
- el: ,
- animate: true,
- },
- {
- id: 4,
- top: 383,
- right: 11,
- width: 143,
- height: 129,
- el: ,
- animate: true,
- },
- // {
- // id: 5,
- // top: 230,
- // right: 417,
- // width: 139,
- // height: 143,
- // el: ,
- // animate: true,
- // },
- {
- id: 5,
- top: 331,
- right: 241,
- width: 307,
- height: 233,
- el: ,
- animate: true,
- },
- // {
- // id: 7,
- // top: 615,
- // right: 47,
- // width: 139,
- // height: 143,
- // el: ,
- // animate: true,
- // },
- {
- id: 6,
- top: 295,
- right: 200,
- width: 139,
- height: 143,
- el: ,
- animate: false,
- },
-];
-
-export const SvgPositionMobileConfig = [
- {
- id: 1,
- top: 10,
- right: 360,
- width: 78,
- height: 70,
- el: ,
- animate: true,
- },
- {
- id: 2,
- top: 10,
- right: 211,
- width: 151,
- height: 136,
- el: ,
- animate: true,
- },
- {
- id: 3,
- top: 10,
- right: 50,
- width: 122,
- height: 126,
- el: ,
- animate: true,
- },
- {
- id: 4,
- top: 150,
- right: 20,
- width: 100,
- height: 100,
- el: ,
- animate: true,
- },
- // {
- // id: 5,
- // top: 230,
- // right: 417,
- // width: 139,
- // height: 143,
- // el: ,
- // animate: true,
- // },
- {
- id: 5,
- bottom: 20,
- right: 50,
- width: 167,
- height: 126,
- el: ,
- animate: true,
- },
- // {
- // id: 7,
- // top: 205,
- // right: 47,
- // width: 139,
- // height: 143,
- // el: ,
- // animate: true,
- // },
- {
- id: 6,
- top: 200,
- right: 140,
- width: 139,
- height: 143,
- el: ,
- animate: false,
- },
-];
-
-const anim = (id: string) => {
- const list = [
- {
- target: `#${id} svg path:nth-child(2)`,
- vars: { duration: 0.5, x: -10, y: 5 },
- },
- {
- target: `#${id} svg path:nth-child(3)`,
- vars: { duration: 0.5, x: -20, y: 10 },
- },
- {
- target: `#${id} svg path:nth-child(4)`,
- vars: { duration: 0.5, x: -30, y: 15 },
- },
- {
- target: `#${id} svg path:nth-child(5)`,
- vars: { duration: 0.5, x: -40, y: 20 },
- },
- ];
- list.forEach((item) => {
- gsap.to(item.target, item.vars);
- });
-};
-
-export const SvgBlock: React.FC<{
- id: number;
- left?: number;
- right?: number;
- top?: number;
- bottom?: number;
- width: number;
- height: number;
- el: React.ReactElement;
- animate: boolean;
-}> = ({ id, top, bottom, left, right, width, height, el, animate }) => {
- const ref = useRef(false);
-
- useEffect(() => {
- if (ref.current) return;
- ref.current = true;
- }, []);
-
- const { run, cancel } = useDebounceFn(
- (id) => {
- anim(id);
- },
- { wait: 1000, leading: true, trailing: false }
- );
-
- const styles = useMemo(() => {
- const styles: React.CSSProperties = {};
- if (top) styles.top = `${top}px`;
- if (bottom) styles.bottom = `${bottom}px`;
- if (left) styles.left = `${left}px`;
- if (right) styles.right = `${right}px`;
- return styles;
- }, [top, right, left, bottom]);
-
- return (
-
-
{
- if (animate) {
- cancel();
- run(`svg${id}`);
- }
- }}
- >
- {el}
-
-
- );
-};
diff --git a/apps/web/src/modules/home/Banner/assets/01.svg b/apps/web/src/modules/home/Banner/assets/01.svg
deleted file mode 100644
index ef15231a..00000000
--- a/apps/web/src/modules/home/Banner/assets/01.svg
+++ /dev/null
@@ -1,20 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/web/src/modules/home/Banner/assets/02.svg b/apps/web/src/modules/home/Banner/assets/02.svg
deleted file mode 100644
index 42e0ebfe..00000000
--- a/apps/web/src/modules/home/Banner/assets/02.svg
+++ /dev/null
@@ -1,14 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/web/src/modules/home/Banner/assets/03.svg b/apps/web/src/modules/home/Banner/assets/03.svg
deleted file mode 100644
index 9f0e18b6..00000000
--- a/apps/web/src/modules/home/Banner/assets/03.svg
+++ /dev/null
@@ -1,22 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/web/src/modules/home/Banner/assets/04.svg b/apps/web/src/modules/home/Banner/assets/04.svg
deleted file mode 100644
index d95d745b..00000000
--- a/apps/web/src/modules/home/Banner/assets/04.svg
+++ /dev/null
@@ -1,17 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/web/src/modules/home/Banner/assets/05.svg b/apps/web/src/modules/home/Banner/assets/05.svg
deleted file mode 100644
index 5a57fae2..00000000
--- a/apps/web/src/modules/home/Banner/assets/05.svg
+++ /dev/null
@@ -1,17 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/web/src/modules/home/Banner/assets/06.svg b/apps/web/src/modules/home/Banner/assets/06.svg
deleted file mode 100644
index b542d204..00000000
--- a/apps/web/src/modules/home/Banner/assets/06.svg
+++ /dev/null
@@ -1,17 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/web/src/modules/home/Banner/assets/07.svg b/apps/web/src/modules/home/Banner/assets/07.svg
deleted file mode 100644
index 2f96591e..00000000
--- a/apps/web/src/modules/home/Banner/assets/07.svg
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
\ No newline at end of file
diff --git a/apps/web/src/modules/home/Banner/assets/08.svg b/apps/web/src/modules/home/Banner/assets/08.svg
deleted file mode 100644
index a7dcf62a..00000000
--- a/apps/web/src/modules/home/Banner/assets/08.svg
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
diff --git a/apps/web/src/modules/home/Banner/assets/hero.png b/apps/web/src/modules/home/Banner/assets/hero.png
new file mode 100644
index 00000000..1ae80c71
Binary files /dev/null and b/apps/web/src/modules/home/Banner/assets/hero.png differ
diff --git a/apps/web/src/modules/home/Banner/index.tsx b/apps/web/src/modules/home/Banner/index.tsx
index 6328fb9d..f4a594e1 100644
--- a/apps/web/src/modules/home/Banner/index.tsx
+++ b/apps/web/src/modules/home/Banner/index.tsx
@@ -1,40 +1,28 @@
import React, { memo, useMemo } from 'react';
import { Center } from '@common/components/Layout';
-import useBreakpoint from '@common/hooks/useBreakpoint';
-import NoSsr from '@common/components/NoSsr';
-import {
- SvgBlock,
- SvgPositionConfig,
- SvgPositionMobileConfig,
-} from './SvgGroup';
import Search from './Search';
import styles from './index.module.scss';
+import NoSsr from '@common/components/NoSsr';
+import Image from 'next/image';
-const SvgGroup: React.FC<{ breakpoint: string }> = memo(({ breakpoint }) => {
- const svgConfig = useMemo(() => {
- if (breakpoint === 'sm') return SvgPositionMobileConfig;
- return SvgPositionConfig;
- }, [breakpoint]);
-
+const Carousel = () => {
return (
- <>
- {svgConfig.map((item) => {
- return ;
- })}
- >
+
+
+
);
-});
-SvgGroup.displayName = 'SvgGroup';
-
+};
const SectionBanner = () => {
- const breakpoint = useBreakpoint();
-
return (