commit
						4987bc6275
					
				@ -0,0 +1,24 @@ | 
				
			|||||||
 | 
					# Logs | 
				
			||||||
 | 
					logs | 
				
			||||||
 | 
					*.log | 
				
			||||||
 | 
					npm-debug.log* | 
				
			||||||
 | 
					yarn-debug.log* | 
				
			||||||
 | 
					yarn-error.log* | 
				
			||||||
 | 
					pnpm-debug.log* | 
				
			||||||
 | 
					lerna-debug.log* | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					node_modules | 
				
			||||||
 | 
					dist | 
				
			||||||
 | 
					dist-ssr | 
				
			||||||
 | 
					*.local | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Editor directories and files | 
				
			||||||
 | 
					.vscode/* | 
				
			||||||
 | 
					!.vscode/extensions.json | 
				
			||||||
 | 
					.idea | 
				
			||||||
 | 
					.DS_Store | 
				
			||||||
 | 
					*.suo | 
				
			||||||
 | 
					*.ntvs* | 
				
			||||||
 | 
					*.njsproj | 
				
			||||||
 | 
					*.sln | 
				
			||||||
 | 
					*.sw? | 
				
			||||||
@ -0,0 +1,13 @@ | 
				
			|||||||
 | 
					<!DOCTYPE html> | 
				
			||||||
 | 
					<html lang="en"> | 
				
			||||||
 | 
					  <head> | 
				
			||||||
 | 
					    <meta charset="UTF-8" /> | 
				
			||||||
 | 
					    <link rel="icon" type="image/svg+xml" href="/vite.svg" /> | 
				
			||||||
 | 
					    <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | 
				
			||||||
 | 
					    <title>SGPT</title> | 
				
			||||||
 | 
					  </head> | 
				
			||||||
 | 
					  <body> | 
				
			||||||
 | 
					    <div id="root"></div> | 
				
			||||||
 | 
					    <script type="module" src="/src/main.tsx"></script> | 
				
			||||||
 | 
					  </body> | 
				
			||||||
 | 
					</html> | 
				
			||||||
									
										
											File diff suppressed because it is too large
											Load Diff
										
									
								
							
						@ -0,0 +1,31 @@ | 
				
			|||||||
 | 
					{ | 
				
			||||||
 | 
					  "name": "spgt-landing-page", | 
				
			||||||
 | 
					  "private": true, | 
				
			||||||
 | 
					  "version": "0.0.0", | 
				
			||||||
 | 
					  "type": "module", | 
				
			||||||
 | 
					  "scripts": { | 
				
			||||||
 | 
					    "dev": "vite", | 
				
			||||||
 | 
					    "build": "tsc && vite build", | 
				
			||||||
 | 
					    "preview": "vite preview" | 
				
			||||||
 | 
					  }, | 
				
			||||||
 | 
					  "dependencies": { | 
				
			||||||
 | 
					    "localforage": "^1.10.0", | 
				
			||||||
 | 
					    "match-sorter": "^6.3.1", | 
				
			||||||
 | 
					    "react": "^18.2.0", | 
				
			||||||
 | 
					    "react-dom": "^18.2.0", | 
				
			||||||
 | 
					    "react-router-dom": "^6.8.2", | 
				
			||||||
 | 
					    "sort-by": "^1.2.0" | 
				
			||||||
 | 
					  }, | 
				
			||||||
 | 
					  "devDependencies": { | 
				
			||||||
 | 
					    "@types/react": "^18.0.27", | 
				
			||||||
 | 
					    "@types/react-dom": "^18.0.10", | 
				
			||||||
 | 
					    "@types/react-router-dom": "^5.3.3", | 
				
			||||||
 | 
					    "@vitejs/plugin-react-swc": "^3.0.0", | 
				
			||||||
 | 
					    "autoprefixer": "^10.4.13", | 
				
			||||||
 | 
					    "postcss": "^8.4.21", | 
				
			||||||
 | 
					    "postcss-import": "^15.1.0", | 
				
			||||||
 | 
					    "tailwindcss": "^3.2.7", | 
				
			||||||
 | 
					    "typescript": "^4.9.3", | 
				
			||||||
 | 
					    "vite": "^4.1.0" | 
				
			||||||
 | 
					  } | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,6 @@ | 
				
			|||||||
 | 
					module.exports = { | 
				
			||||||
 | 
					  plugins: { | 
				
			||||||
 | 
					    tailwindcss: {}, | 
				
			||||||
 | 
					    autoprefixer: {}, | 
				
			||||||
 | 
					  }, | 
				
			||||||
 | 
					} | 
				
			||||||
| 
		 After Width: | Height: | Size: 1.5 KiB  | 
@ -0,0 +1,8 @@ | 
				
			|||||||
 | 
					import "./App.css"; | 
				
			||||||
 | 
					import RouterProviderComponent from "./shared/providers/RouterProviderComponent"; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function App() { | 
				
			||||||
 | 
					  return <RouterProviderComponent />; | 
				
			||||||
 | 
					} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export default App; | 
				
			||||||
| 
		 After Width: | Height: | Size: 445 KiB  | 
| 
		 After Width: | Height: | Size: 605 KiB  | 
| 
		 After Width: | Height: | Size: 618 KiB  | 
| 
		 After Width: | Height: | Size: 220 KiB  | 
| 
		 After Width: | Height: | Size: 4.0 KiB  | 
@ -0,0 +1,5 @@ | 
				
			|||||||
 | 
					@import "tailwindcss/base"; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@import "tailwindcss/components"; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@import "tailwindcss/utilities"; | 
				
			||||||
@ -0,0 +1,10 @@ | 
				
			|||||||
 | 
					import React from "react"; | 
				
			||||||
 | 
					import ReactDOM from "react-dom/client"; | 
				
			||||||
 | 
					import App from "./App"; | 
				
			||||||
 | 
					import "./index.css"; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ReactDOM.createRoot(document.getElementById("root") as HTMLElement).render( | 
				
			||||||
 | 
					  <React.StrictMode> | 
				
			||||||
 | 
					    <App /> | 
				
			||||||
 | 
					  </React.StrictMode> | 
				
			||||||
 | 
					); | 
				
			||||||
@ -0,0 +1,17 @@ | 
				
			|||||||
 | 
					import AboutSection from "../shared/components/home/AboutSection"; | 
				
			||||||
 | 
					import FirstSection from "../shared/components/home/FirstSection"; | 
				
			||||||
 | 
					import RoadMap from "../shared/components/home/RoadMap"; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type Props = {}; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const Home = (props: Props) => { | 
				
			||||||
 | 
					  return ( | 
				
			||||||
 | 
					    <div className="flex flex-col gap-20"> | 
				
			||||||
 | 
					      <FirstSection /> | 
				
			||||||
 | 
					      <AboutSection /> | 
				
			||||||
 | 
					      <RoadMap /> | 
				
			||||||
 | 
					    </div> | 
				
			||||||
 | 
					  ); | 
				
			||||||
 | 
					}; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export default Home; | 
				
			||||||
@ -0,0 +1,36 @@ | 
				
			|||||||
 | 
					type Props = { | 
				
			||||||
 | 
					  children: React.ReactNode; | 
				
			||||||
 | 
					  bgColor?: string; | 
				
			||||||
 | 
					  textColor?: string; | 
				
			||||||
 | 
					  borderColor?: string; | 
				
			||||||
 | 
					  onClick?: () => void; | 
				
			||||||
 | 
					  size?: "sm" | "md" | "lg"; | 
				
			||||||
 | 
					}; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const Button = ({ | 
				
			||||||
 | 
					  children, | 
				
			||||||
 | 
					  bgColor = "bg-[radial-gradient(ellipse_at_top_right,_var(--tw-gradient-stops))] from-orange-400 to-rose-400", | 
				
			||||||
 | 
					  textColor = "text-white", | 
				
			||||||
 | 
					  borderColor = "border-blue-500", | 
				
			||||||
 | 
					  onClick, | 
				
			||||||
 | 
					  size = "md", | 
				
			||||||
 | 
					}: Props) => { | 
				
			||||||
 | 
					  const sizes = { | 
				
			||||||
 | 
					    sm: "py-1 px-3 text-sm", | 
				
			||||||
 | 
					    md: "py-2 px-4 text-md", | 
				
			||||||
 | 
					    lg: "py-3 px-5 text-lg", | 
				
			||||||
 | 
					  }; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  const sizeClass = sizes[size] || sizes.md; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  return ( | 
				
			||||||
 | 
					    <button | 
				
			||||||
 | 
					      className={`rounded-full transition-all duration-150 font-semibold ${bgColor} ${textColor} ${borderColor} ${sizeClass}`} | 
				
			||||||
 | 
					      onClick={onClick} | 
				
			||||||
 | 
					    > | 
				
			||||||
 | 
					      {children} | 
				
			||||||
 | 
					    </button> | 
				
			||||||
 | 
					  ); | 
				
			||||||
 | 
					}; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export default Button; | 
				
			||||||
@ -0,0 +1,7 @@ | 
				
			|||||||
 | 
					type Props = {}; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const Footer = (props: Props) => { | 
				
			||||||
 | 
					  return <div className="container mx-auto bg-white">Footer</div>; | 
				
			||||||
 | 
					}; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export default Footer; | 
				
			||||||
@ -0,0 +1,105 @@ | 
				
			|||||||
 | 
					import React from "react"; | 
				
			||||||
 | 
					import Button from "./Button"; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type Props = {}; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const menuItems = [ | 
				
			||||||
 | 
					  { | 
				
			||||||
 | 
					    name: "Home", | 
				
			||||||
 | 
					    path: "/", | 
				
			||||||
 | 
					  }, | 
				
			||||||
 | 
					  { | 
				
			||||||
 | 
					    name: "About", | 
				
			||||||
 | 
					    path: "", | 
				
			||||||
 | 
					  }, | 
				
			||||||
 | 
					  { | 
				
			||||||
 | 
					    name: "Tokenomics", | 
				
			||||||
 | 
					    path: "", | 
				
			||||||
 | 
					  }, | 
				
			||||||
 | 
					  { | 
				
			||||||
 | 
					    name: "Roadmap", | 
				
			||||||
 | 
					    path: "", | 
				
			||||||
 | 
					  }, | 
				
			||||||
 | 
					]; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const Header = (props: Props) => { | 
				
			||||||
 | 
					  const [isScrolled, setIsScrolled] = React.useState(false); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  React.useEffect(() => { | 
				
			||||||
 | 
					    window.addEventListener("scroll", () => { | 
				
			||||||
 | 
					      if (window.scrollY > 0) { | 
				
			||||||
 | 
					        setIsScrolled(true); | 
				
			||||||
 | 
					      } else { | 
				
			||||||
 | 
					        setIsScrolled(false); | 
				
			||||||
 | 
					      } | 
				
			||||||
 | 
					    }); | 
				
			||||||
 | 
					  }, []); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  return ( | 
				
			||||||
 | 
					    <> | 
				
			||||||
 | 
					      {isScrolled ? ( | 
				
			||||||
 | 
					        <div className="fixed w-full z-30 p-1 transition-all duration-150 bg-gray-800"> | 
				
			||||||
 | 
					          <div className="container mx-auto flex justify-between items-center"> | 
				
			||||||
 | 
					            <div> | 
				
			||||||
 | 
					              <h4 className="text-2xl transition-all duration-150 text-white uppercase font-bold"> | 
				
			||||||
 | 
					                Logo | 
				
			||||||
 | 
					              </h4> | 
				
			||||||
 | 
					            </div> | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            <div className="flex gap-10 items-center"> | 
				
			||||||
 | 
					              <ul className="flex gap-10"> | 
				
			||||||
 | 
					                {menuItems.map((item) => ( | 
				
			||||||
 | 
					                  <li className="inline-block" key={item.path}> | 
				
			||||||
 | 
					                    <a | 
				
			||||||
 | 
					                      href="#" | 
				
			||||||
 | 
					                      className="text-white text-md transition-all duration-150" | 
				
			||||||
 | 
					                    > | 
				
			||||||
 | 
					                      {item.name} | 
				
			||||||
 | 
					                    </a> | 
				
			||||||
 | 
					                  </li> | 
				
			||||||
 | 
					                ))} | 
				
			||||||
 | 
					              </ul> | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					              <div className="flex gap-4"> | 
				
			||||||
 | 
					                <Button size="sm">Whitepaper</Button> | 
				
			||||||
 | 
					                <Button size="sm">Audit</Button> | 
				
			||||||
 | 
					              </div> | 
				
			||||||
 | 
					            </div> | 
				
			||||||
 | 
					          </div> | 
				
			||||||
 | 
					        </div> | 
				
			||||||
 | 
					      ) : ( | 
				
			||||||
 | 
					        <div className="fixed z-30 w-full p-5 transition-all duration-150"> | 
				
			||||||
 | 
					          <div className="container mx-auto flex justify-between items-center"> | 
				
			||||||
 | 
					            <div> | 
				
			||||||
 | 
					              <h4 className="text-4xl transition-all duration-150 text-white uppercase font-bold"> | 
				
			||||||
 | 
					                Logo | 
				
			||||||
 | 
					              </h4> | 
				
			||||||
 | 
					            </div> | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            <div className="flex gap-10 items-center"> | 
				
			||||||
 | 
					              <ul className="flex gap-10"> | 
				
			||||||
 | 
					                {menuItems.map((item) => ( | 
				
			||||||
 | 
					                  <li className="inline-block" key={item.path}> | 
				
			||||||
 | 
					                    <a | 
				
			||||||
 | 
					                      href="#" | 
				
			||||||
 | 
					                      className="text-white text-lg transition-all duration-150" | 
				
			||||||
 | 
					                    > | 
				
			||||||
 | 
					                      {item.name} | 
				
			||||||
 | 
					                    </a> | 
				
			||||||
 | 
					                  </li> | 
				
			||||||
 | 
					                ))} | 
				
			||||||
 | 
					              </ul> | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					              <div className="flex gap-4"> | 
				
			||||||
 | 
					                <Button size="md">Whitepaper</Button> | 
				
			||||||
 | 
					                <Button size="md">Audit</Button> | 
				
			||||||
 | 
					              </div> | 
				
			||||||
 | 
					            </div> | 
				
			||||||
 | 
					          </div> | 
				
			||||||
 | 
					        </div> | 
				
			||||||
 | 
					      )} | 
				
			||||||
 | 
					    </> | 
				
			||||||
 | 
					  ); | 
				
			||||||
 | 
					}; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export default Header; | 
				
			||||||
@ -0,0 +1,51 @@ | 
				
			|||||||
 | 
					import React from "react"; | 
				
			||||||
 | 
					import pokerChips from "../../../assets/images/poker-chips.webp"; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type Props = {}; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const AboutSection = (props: Props) => { | 
				
			||||||
 | 
					  return ( | 
				
			||||||
 | 
					    <div className="container mx-auto text-white py-20 flex"> | 
				
			||||||
 | 
					      <div className="flex flex-col gap-10 w-1/2"> | 
				
			||||||
 | 
					        <div className="flex flex-col gap-4"> | 
				
			||||||
 | 
					          <h4 className="text-5xl uppercase font-bold">What is SGPT?</h4> | 
				
			||||||
 | 
					          <p className="text-gray-300 md:w-4/5 text-lg"> | 
				
			||||||
 | 
					            Lorem ipsum dolor sit amet, consectetur adipisicing elit. Architecto | 
				
			||||||
 | 
					            dignissimos necessitatibus nam vero in quis! Voluptatum doloremque | 
				
			||||||
 | 
					            voluptatibus corporis animi ab. Quisquam alias error labore iste | 
				
			||||||
 | 
					            dolores necessitatibus mollitia officia! | 
				
			||||||
 | 
					          </p> | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          <p className="text-gray-300 md:w-4/5 text-lg"> | 
				
			||||||
 | 
					            Lorem ipsum dolor sit amet, consectetur adipisicing elit. Architecto | 
				
			||||||
 | 
					            dignissimos necessitatibus nam vero in quis! Voluptatum doloremque | 
				
			||||||
 | 
					            voluptatibus corporis animi ab. Quisquam alias error labore iste | 
				
			||||||
 | 
					            dolores necessitatibus mollitia officia! | 
				
			||||||
 | 
					          </p> | 
				
			||||||
 | 
					        </div> | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <div className="flex flex-col gap-4"> | 
				
			||||||
 | 
					          <h4 className="text-5xl uppercase font-bold">What is SGPT?</h4> | 
				
			||||||
 | 
					          <p className="text-gray-300 md:w-4/5 text-lg"> | 
				
			||||||
 | 
					            Lorem ipsum dolor sit amet, consectetur adipisicing elit. Architecto | 
				
			||||||
 | 
					            dignissimos necessitatibus nam vero in quis! Voluptatum doloremque | 
				
			||||||
 | 
					            voluptatibus corporis animi ab. Quisquam alias error labore iste | 
				
			||||||
 | 
					            dolores necessitatibus mollitia officia! | 
				
			||||||
 | 
					          </p> | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          <p className="text-gray-300 md:w-4/5 text-lg"> | 
				
			||||||
 | 
					            Lorem ipsum dolor sit amet, consectetur adipisicing elit. Architecto | 
				
			||||||
 | 
					            dignissimos necessitatibus nam vero in quis! Voluptatum doloremque | 
				
			||||||
 | 
					            voluptatibus corporis animi ab. Quisquam alias error labore iste | 
				
			||||||
 | 
					            dolores necessitatibus mollitia officia! | 
				
			||||||
 | 
					          </p> | 
				
			||||||
 | 
					        </div> | 
				
			||||||
 | 
					      </div> | 
				
			||||||
 | 
					      <div className="w-1/2 flex justify-center items-center"> | 
				
			||||||
 | 
					        <img className="w-2/3" src={pokerChips} /> | 
				
			||||||
 | 
					      </div> | 
				
			||||||
 | 
					    </div> | 
				
			||||||
 | 
					  ); | 
				
			||||||
 | 
					}; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export default AboutSection; | 
				
			||||||
@ -0,0 +1,41 @@ | 
				
			|||||||
 | 
					import robotImage from "../../../assets/images/robot.png"; | 
				
			||||||
 | 
					import Button from "../Button"; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type Props = {}; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const FirstSection = (props: Props) => { | 
				
			||||||
 | 
					  return ( | 
				
			||||||
 | 
					    <div | 
				
			||||||
 | 
					      // style={{ backgroundImage: `url(${background})` }}
 | 
				
			||||||
 | 
					      className="min-h-screen flex bg-cover bg-center bg-no-repeat relative" | 
				
			||||||
 | 
					    > | 
				
			||||||
 | 
					      <div className="container flex mx-auto text-white z-20 mt-20"> | 
				
			||||||
 | 
					        <div className="md:w-1/2 flex flex-col justify-center gap-10 pb-20"> | 
				
			||||||
 | 
					          <h4 className="text-6xl font-bold"> | 
				
			||||||
 | 
					            Lorem ipsum dolor sit amet consectetur adipisicing elit. | 
				
			||||||
 | 
					          </h4> | 
				
			||||||
 | 
					          <p className="w-3/4 font-body"> | 
				
			||||||
 | 
					            Lorem ipsum dolor sit amet consectetur adipisicing elit. Similique | 
				
			||||||
 | 
					            amet eveniet fugiat pariatur, illo in est officiis labore ad | 
				
			||||||
 | 
					            corrupti obcaecati asperiores! Quos ratione tempore dolorum | 
				
			||||||
 | 
					            temporibus tenetur quaerat. | 
				
			||||||
 | 
					          </p> | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          <div className="flex w-2/3 flex-wrap gap-4"> | 
				
			||||||
 | 
					            <Button>Telegram</Button> | 
				
			||||||
 | 
					            <Button>Telegram</Button> | 
				
			||||||
 | 
					            <Button>Telegram</Button> | 
				
			||||||
 | 
					            <Button>Telegram</Button> | 
				
			||||||
 | 
					            <Button>Telegram</Button> | 
				
			||||||
 | 
					          </div> | 
				
			||||||
 | 
					        </div> | 
				
			||||||
 | 
					        <div className="md:w-1/2 flex justify-center items-center"> | 
				
			||||||
 | 
					          <img src={robotImage} className="w-4/5" /> | 
				
			||||||
 | 
					        </div> | 
				
			||||||
 | 
					      </div> | 
				
			||||||
 | 
					      <div className="w-full h-full bg-black absolute opacity-75 z-10"></div> | 
				
			||||||
 | 
					    </div> | 
				
			||||||
 | 
					  ); | 
				
			||||||
 | 
					}; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export default FirstSection; | 
				
			||||||
@ -0,0 +1,33 @@ | 
				
			|||||||
 | 
					import React from "react"; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type Props = {}; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const RoadMap = (props: Props) => { | 
				
			||||||
 | 
					  return ( | 
				
			||||||
 | 
					    <div className="container mx-auto text-white md:min-h-[40vh]"> | 
				
			||||||
 | 
					      <h1 className="text-5xl font-bold text-center">RoadMap</h1> | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      <div className="flex gap-10 mt-20"> | 
				
			||||||
 | 
					        <div className="w-1/4 bg-[conic-gradient(at_left,_var(--tw-gradient-stops))] from-orange-400 to-rose-400 rounded-lg min-h-[200px] p-5"> | 
				
			||||||
 | 
					          <h4 className="text-center text-2xl text-gray-100 font-semibold mb-3"> | 
				
			||||||
 | 
					            Phase 1 | 
				
			||||||
 | 
					          </h4> | 
				
			||||||
 | 
					          <ol> | 
				
			||||||
 | 
					            <li> | 
				
			||||||
 | 
					              <p> | 
				
			||||||
 | 
					                Lorem ipsum, dolor sit amet consectetur adipisicing elit. vitae. | 
				
			||||||
 | 
					              </p> | 
				
			||||||
 | 
					            </li> | 
				
			||||||
 | 
					            <li> | 
				
			||||||
 | 
					              <p> | 
				
			||||||
 | 
					                Lorem ipsum, dolor sit amet consectetur adipisicing elit. vitae. | 
				
			||||||
 | 
					              </p> | 
				
			||||||
 | 
					            </li> | 
				
			||||||
 | 
					          </ol> | 
				
			||||||
 | 
					        </div> | 
				
			||||||
 | 
					      </div> | 
				
			||||||
 | 
					    </div> | 
				
			||||||
 | 
					  ); | 
				
			||||||
 | 
					}; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export default RoadMap; | 
				
			||||||
@ -0,0 +1,19 @@ | 
				
			|||||||
 | 
					import { Outlet } from "react-router-dom"; | 
				
			||||||
 | 
					import Footer from "../Footer"; | 
				
			||||||
 | 
					import Header from "../Header"; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type Props = {}; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const HomeLayout = (props: Props) => { | 
				
			||||||
 | 
					  return ( | 
				
			||||||
 | 
					    <div className="w-full relative bg-black"> | 
				
			||||||
 | 
					      <Header /> | 
				
			||||||
 | 
					      <div className="w-full"> | 
				
			||||||
 | 
					        <Outlet /> | 
				
			||||||
 | 
					      </div> | 
				
			||||||
 | 
					      <Footer /> | 
				
			||||||
 | 
					    </div> | 
				
			||||||
 | 
					  ); | 
				
			||||||
 | 
					}; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export default HomeLayout; | 
				
			||||||
@ -0,0 +1,16 @@ | 
				
			|||||||
 | 
					import { createBrowserRouter, RouterProvider } from "react-router-dom"; | 
				
			||||||
 | 
					import Home from "../../pages/Home"; | 
				
			||||||
 | 
					import HomeLayout from "../components/layouts/HomeLayout"; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const router = createBrowserRouter([ | 
				
			||||||
 | 
					  { | 
				
			||||||
 | 
					    path: "/", | 
				
			||||||
 | 
					    element: <HomeLayout />, | 
				
			||||||
 | 
					    children: [{ path: "", element: <Home /> }], | 
				
			||||||
 | 
					  }, | 
				
			||||||
 | 
					]); | 
				
			||||||
 | 
					const RouterProviderComponent = () => { | 
				
			||||||
 | 
					  return <RouterProvider router={router} />; | 
				
			||||||
 | 
					}; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export default RouterProviderComponent; | 
				
			||||||
@ -0,0 +1 @@ | 
				
			|||||||
 | 
					/// <reference types="vite/client" />
 | 
				
			||||||
@ -0,0 +1,18 @@ | 
				
			|||||||
 | 
					/** @type {import('tailwindcss').Config} */ | 
				
			||||||
 | 
					module.exports = { | 
				
			||||||
 | 
					  content: ["./index.html", "./src/**/*.{js,ts,jsx,tsx}"], | 
				
			||||||
 | 
					  theme: { | 
				
			||||||
 | 
					    extend: {}, | 
				
			||||||
 | 
					    fontFamily: { | 
				
			||||||
 | 
					      sans: ["Sen", "sans-serif"], | 
				
			||||||
 | 
					      body: ["Comfortaa", "sans-serif"], | 
				
			||||||
 | 
					    }, | 
				
			||||||
 | 
					  }, | 
				
			||||||
 | 
					  plugins: [ | 
				
			||||||
 | 
					    { | 
				
			||||||
 | 
					      "postcss-import": {}, | 
				
			||||||
 | 
					      tailwindcss: {}, | 
				
			||||||
 | 
					      autoprefixer: {}, | 
				
			||||||
 | 
					    }, | 
				
			||||||
 | 
					  ], | 
				
			||||||
 | 
					}; | 
				
			||||||
@ -0,0 +1,21 @@ | 
				
			|||||||
 | 
					{ | 
				
			||||||
 | 
					  "compilerOptions": { | 
				
			||||||
 | 
					    "target": "ESNext", | 
				
			||||||
 | 
					    "useDefineForClassFields": true, | 
				
			||||||
 | 
					    "lib": ["DOM", "DOM.Iterable", "ESNext"], | 
				
			||||||
 | 
					    "allowJs": false, | 
				
			||||||
 | 
					    "skipLibCheck": true, | 
				
			||||||
 | 
					    "esModuleInterop": false, | 
				
			||||||
 | 
					    "allowSyntheticDefaultImports": true, | 
				
			||||||
 | 
					    "strict": true, | 
				
			||||||
 | 
					    "forceConsistentCasingInFileNames": true, | 
				
			||||||
 | 
					    "module": "ESNext", | 
				
			||||||
 | 
					    "moduleResolution": "Node", | 
				
			||||||
 | 
					    "resolveJsonModule": true, | 
				
			||||||
 | 
					    "isolatedModules": true, | 
				
			||||||
 | 
					    "noEmit": true, | 
				
			||||||
 | 
					    "jsx": "react-jsx" | 
				
			||||||
 | 
					  }, | 
				
			||||||
 | 
					  "include": ["src"], | 
				
			||||||
 | 
					  "references": [{ "path": "./tsconfig.node.json" }] | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,9 @@ | 
				
			|||||||
 | 
					{ | 
				
			||||||
 | 
					  "compilerOptions": { | 
				
			||||||
 | 
					    "composite": true, | 
				
			||||||
 | 
					    "module": "ESNext", | 
				
			||||||
 | 
					    "moduleResolution": "Node", | 
				
			||||||
 | 
					    "allowSyntheticDefaultImports": true | 
				
			||||||
 | 
					  }, | 
				
			||||||
 | 
					  "include": ["vite.config.ts"] | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,11 @@ | 
				
			|||||||
 | 
					import react from "@vitejs/plugin-react-swc"; | 
				
			||||||
 | 
					import { defineConfig } from "vite"; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// https://vitejs.dev/config/
 | 
				
			||||||
 | 
					export default defineConfig({ | 
				
			||||||
 | 
					  plugins: [react()], | 
				
			||||||
 | 
					  server: { | 
				
			||||||
 | 
					    port: 5000, | 
				
			||||||
 | 
					    host: "0.0.0.0", | 
				
			||||||
 | 
					  }, | 
				
			||||||
 | 
					}); | 
				
			||||||
					Loading…
					
					
				
		Reference in new issue