diff --git a/package.json b/package.json
new file mode 100644
index 0000000..8505288
--- /dev/null
+++ b/package.json
@@ -0,0 +1,25 @@
+{
+ "name": "gamehub", "version": "0.1.0", "private": true,
+ "dependencies": {
+ "@testing-library/jest-dom": "^5.16.4", "@testing-library/react": "^13.3.0", "@testing-library/user-event": "^13.5.0", "@types/jest": "^27.5.2", "@types/node": "^16.18.23", "@types/react": "^18.0.37", "@types/react-dom": "^18.0.11", "lucide-react": "^0.263.1", "react": "^18.2.0", "react-dom": "^18.2.0", "react-scripts": "5.0.1", "typescript": "^4.9.5", "web-vitals": "^2.1.4"
+ },
+ "scripts": {
+ "start": "react-scripts start", "build": "react-scripts build", "test": "react-scripts test", "eject": "react-scripts eject"
+ },
+ "eslintConfig": {
+ "extends": [
+ "react-app", "react-app/jest"
+ ]
+ },
+ "browserslist": {
+ "production": [
+ ">0.2%", "not dead", "not op_mini all"
+ ],
+ "development": [
+ "last 1 chrome version", "last 1 firefox version", "last 1 safari version"
+ ]
+ },
+ "devDependencies": {
+ "@types/react": "^18.0.37", "@types/react-dom": "^18.0.11", "autoprefixer": "^10.4.14", "postcss": "^8.4.24", "tailwindcss": "^3.3.2"
+ }
+}
diff --git a/public/index.html b/public/index.html
new file mode 100644
index 0000000..0b99efa
--- /dev/null
+++ b/public/index.html
@@ -0,0 +1,1237 @@
+
+
+
+
+
+
+
+
+
+
+ GameHub
+
+
+
+
+
+
+
+
+
diff --git a/src/App.css b/src/App.css
new file mode 100644
index 0000000..4931613
--- /dev/null
+++ b/src/App.css
@@ -0,0 +1,3 @@
+.App {
+ text-align: center;
+}
diff --git a/src/App.tsx b/src/App.tsx
new file mode 100644
index 0000000..c62ad9b
--- /dev/null
+++ b/src/App.tsx
@@ -0,0 +1,13 @@
+import React from 'react';
+import HomePage from './components/HomePage';
+import './App.css';
+
+function App() {
+ return (
+
+
+
+ );
+}
+
+export default App;
diff --git a/src/components/HomePage.tsx b/src/components/HomePage.tsx
new file mode 100644
index 0000000..d4af37e
--- /dev/null
+++ b/src/components/HomePage.tsx
@@ -0,0 +1,73 @@
+import React from 'react';
+import { Play, Users, Trophy, Star } from 'lucide-react';
+
+const HomePage = () => {
+ return (
+
+ {/* Header */}
+
+
+ {/* Hero Section */}
+
+
+
+ Welcome to GameHub
+
+
+ The ultimate gaming platform where players connect, compete, and conquer together.
+
+
+
+
+
+ {/* Features */}
+
+
+
Why Choose GameHub?
+
+
+
+
Global Community
+
Connect with millions of players worldwide
+
+
+
+
Tournaments
+
Compete in epic tournaments and win prizes
+
+
+
+
Premium Experience
+
Enjoy ad-free gaming with exclusive content
+
+
+
+
+
+ {/* Footer */}
+
+
+ );
+};
+
+export default HomePage;
diff --git a/src/index.css b/src/index.css
new file mode 100644
index 0000000..17df0e7
--- /dev/null
+++ b/src/index.css
@@ -0,0 +1,17 @@
+@tailwind base;
+@tailwind components;
+@tailwind utilities;
+
+body {
+ margin: 0;
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
+ 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
+ sans-serif;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+
+code {
+ font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
+ monospace;
+}
diff --git a/src/index.tsx b/src/index.tsx
new file mode 100644
index 0000000..88b4f64
--- /dev/null
+++ b/src/index.tsx
@@ -0,0 +1,16 @@
+import React from 'react';
+import ReactDOM from 'react-dom/client';
+import './index.css';
+import App from './App';
+import reportWebVitals from './reportWebVitals';
+
+const root = ReactDOM.createRoot(
+ document.getElementById('root') as HTMLElement
+);
+root.render(
+
+
+
+);
+
+reportWebVitals();
diff --git a/src/reportWebVitals.ts b/src/reportWebVitals.ts
new file mode 100644
index 0000000..49a2a16
--- /dev/null
+++ b/src/reportWebVitals.ts
@@ -0,0 +1,15 @@
+import { ReportHandler } from 'web-vitals';
+
+const reportWebVitals = (onPerfEntry?: ReportHandler) => {
+ if (onPerfEntry && onPerfEntry instanceof Function) {
+ import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {
+ getCLS(onPerfEntry);
+ getFID(onPerfEntry);
+ getFCP(onPerfEntry);
+ getLCP(onPerfEntry);
+ getTTFB(onPerfEntry);
+ });
+ }
+};
+
+export default reportWebVitals;
diff --git a/tailwind.config.js b/tailwind.config.js
new file mode 100644
index 0000000..6b48b48
--- /dev/null
+++ b/tailwind.config.js
@@ -0,0 +1,9 @@
+/** @type {import('tailwindcss').Config} */
+module.exports = {
+ content: [
+ "./src/**/*.{js,jsx,ts,tsx}"],
+ theme: {
+ extend: {},
+ },
+ plugins: [],
+}
diff --git a/tsconfig.json b/tsconfig.json
new file mode 100644
index 0000000..70826b2
--- /dev/null
+++ b/tsconfig.json
@@ -0,0 +1,21 @@
+{
+ "compilerOptions": {
+ "target": "es5", "lib": [
+ "dom", "dom.iterable", "es6"
+ ],
+ "allowJs": true,
+ "skipLibCheck": true,
+ "esModuleInterop": true,
+ "allowSyntheticDefaultImports": true,
+ "strict": true,
+ "forceConsistentCasingInFileNames": true,
+ "noFallthroughCasesInSwitch": true,
+ "module": "esnext", "moduleResolution": "node", "resolveJsonModule": true,
+ "isolatedModules": true,
+ "noEmit": true,
+ "jsx": "react-jsx"
+ },
+ "include": [
+ "src"
+ ]
+}