diff --git a/frontend/public/assets/images/onboarding/character.png b/frontend/public/assets/images/onboarding/character.png
new file mode 100644
index 00000000..026f12dd
Binary files /dev/null and b/frontend/public/assets/images/onboarding/character.png differ
diff --git a/frontend/public/assets/images/onboarding/slide1.png b/frontend/public/assets/images/onboarding/slide1.png
new file mode 100644
index 00000000..9d3ed196
Binary files /dev/null and b/frontend/public/assets/images/onboarding/slide1.png differ
diff --git a/frontend/public/assets/images/onboarding/slide10.png b/frontend/public/assets/images/onboarding/slide10.png
new file mode 100644
index 00000000..85c5ed0b
Binary files /dev/null and b/frontend/public/assets/images/onboarding/slide10.png differ
diff --git a/frontend/public/assets/images/onboarding/slide11.png b/frontend/public/assets/images/onboarding/slide11.png
new file mode 100644
index 00000000..5d966ab8
Binary files /dev/null and b/frontend/public/assets/images/onboarding/slide11.png differ
diff --git a/frontend/public/assets/images/onboarding/slide12.png b/frontend/public/assets/images/onboarding/slide12.png
new file mode 100644
index 00000000..cf4a9043
Binary files /dev/null and b/frontend/public/assets/images/onboarding/slide12.png differ
diff --git a/frontend/public/assets/images/onboarding/slide13.png b/frontend/public/assets/images/onboarding/slide13.png
new file mode 100644
index 00000000..67bd3e55
Binary files /dev/null and b/frontend/public/assets/images/onboarding/slide13.png differ
diff --git a/frontend/public/assets/images/onboarding/slide14.png b/frontend/public/assets/images/onboarding/slide14.png
new file mode 100644
index 00000000..dea59c9a
Binary files /dev/null and b/frontend/public/assets/images/onboarding/slide14.png differ
diff --git a/frontend/public/assets/images/onboarding/slide15.png b/frontend/public/assets/images/onboarding/slide15.png
new file mode 100644
index 00000000..4616a0c4
Binary files /dev/null and b/frontend/public/assets/images/onboarding/slide15.png differ
diff --git a/frontend/public/assets/images/onboarding/slide2.png b/frontend/public/assets/images/onboarding/slide2.png
new file mode 100644
index 00000000..9ce0d28c
Binary files /dev/null and b/frontend/public/assets/images/onboarding/slide2.png differ
diff --git a/frontend/public/assets/images/onboarding/slide3.png b/frontend/public/assets/images/onboarding/slide3.png
new file mode 100644
index 00000000..a58c284b
Binary files /dev/null and b/frontend/public/assets/images/onboarding/slide3.png differ
diff --git a/frontend/public/assets/images/onboarding/slide4.png b/frontend/public/assets/images/onboarding/slide4.png
new file mode 100644
index 00000000..5f414e47
Binary files /dev/null and b/frontend/public/assets/images/onboarding/slide4.png differ
diff --git a/frontend/public/assets/images/onboarding/slide5.png b/frontend/public/assets/images/onboarding/slide5.png
new file mode 100644
index 00000000..7337f19d
Binary files /dev/null and b/frontend/public/assets/images/onboarding/slide5.png differ
diff --git a/frontend/public/assets/images/onboarding/slide6.png b/frontend/public/assets/images/onboarding/slide6.png
new file mode 100644
index 00000000..84dd7d4c
Binary files /dev/null and b/frontend/public/assets/images/onboarding/slide6.png differ
diff --git a/frontend/public/assets/images/onboarding/slide7.png b/frontend/public/assets/images/onboarding/slide7.png
new file mode 100644
index 00000000..a9dda57c
Binary files /dev/null and b/frontend/public/assets/images/onboarding/slide7.png differ
diff --git a/frontend/public/assets/images/onboarding/slide8.png b/frontend/public/assets/images/onboarding/slide8.png
new file mode 100644
index 00000000..63226fd2
Binary files /dev/null and b/frontend/public/assets/images/onboarding/slide8.png differ
diff --git a/frontend/public/assets/images/onboarding/slide9.png b/frontend/public/assets/images/onboarding/slide9.png
new file mode 100644
index 00000000..69364d59
Binary files /dev/null and b/frontend/public/assets/images/onboarding/slide9.png differ
diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx
index 8b9f2dd5..ce94b573 100644
--- a/frontend/src/App.tsx
+++ b/frontend/src/App.tsx
@@ -1,9 +1,13 @@
import { IndexRoutes } from '@/routes/IndexRoutes.tsx';
import 'App.css';
import { useEffect, useState } from 'react';
+import { loadLocalData, saveLocalData } from '@/utils/common/manageLocalData.ts';
+import { AppConfig } from '@/lib/constants/commonConstants.ts';
+import { Onboarding } from '@/component/onBoarding/Onboarding.tsx';
export const App = () => {
const [isMobile, setIsMobile] = useState(true);
+ const [isFirstVisit, setIsFirstVisit] = useState(false);
useEffect(() => {
const checkIsMobile = () => {
@@ -24,6 +28,23 @@ export const App = () => {
return () => window.removeEventListener('resize', checkIsMobile);
}, []);
+ useEffect(() => {
+ const firstVisit = loadLocalData(AppConfig.KEYS.FIRST_VISIT);
+ if (firstVisit === null) {
+ saveLocalData(AppConfig.KEYS.FIRST_VISIT, 'true');
+ setIsFirstVisit(true);
+ } else if (firstVisit === 'true') {
+ setIsFirstVisit(true);
+ } else {
+ setIsFirstVisit(false);
+ }
+ }, []);
+
+ const handleOnboardingComplete = () => {
+ saveLocalData(AppConfig.KEYS.FIRST_VISIT, 'false');
+ setIsFirstVisit(false);
+ };
+
if (!isMobile) {
return (
<>
@@ -37,5 +58,10 @@ export const App = () => {
>
);
}
+
+ if (isFirstVisit) {
+ return