Initial import
This commit is contained in:
commit
abe261aa1f
3
bolt-gaming-geek-main/.bolt/config.json
Normal file
3
bolt-gaming-geek-main/.bolt/config.json
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"template": "bolt-vite-react-ts"
|
||||
}
|
||||
5
bolt-gaming-geek-main/.bolt/prompt
Normal file
5
bolt-gaming-geek-main/.bolt/prompt
Normal file
@ -0,0 +1,5 @@
|
||||
For all designs I ask you to make, have them be beautiful, not cookie cutter. Make webpages that are fully featured and worthy for production.
|
||||
|
||||
By default, this template supports JSX syntax with Tailwind CSS classes, React hooks, and Lucide React for icons. Do not install other packages for UI themes, icons, etc unless absolutely necessary or I request them.
|
||||
|
||||
Use icons from lucide-react for logos.
|
||||
23
bolt-gaming-geek-main/.gitignore
vendored
Normal file
23
bolt-gaming-geek-main/.gitignore
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
logs
|
||||
*.log
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
pnpm-debug.log*
|
||||
lerna-debug.log*
|
||||
|
||||
node_modules
|
||||
dist
|
||||
dist-ssr
|
||||
*.local
|
||||
|
||||
.vscode/*
|
||||
!.vscode/extensions.json
|
||||
.idea
|
||||
.DS_Store
|
||||
*.suo
|
||||
*.ntvs*
|
||||
*.njsproj
|
||||
*.sln
|
||||
*.sw?
|
||||
.env
|
||||
1
bolt-gaming-geek-main/README.md
Normal file
1
bolt-gaming-geek-main/README.md
Normal file
@ -0,0 +1 @@
|
||||
bolt-gaming-geek
|
||||
28
bolt-gaming-geek-main/eslint.config.js
Normal file
28
bolt-gaming-geek-main/eslint.config.js
Normal file
@ -0,0 +1,28 @@
|
||||
import js from '@eslint/js';
|
||||
import globals from 'globals';
|
||||
import reactHooks from 'eslint-plugin-react-hooks';
|
||||
import reactRefresh from 'eslint-plugin-react-refresh';
|
||||
import tseslint from 'typescript-eslint';
|
||||
|
||||
export default tseslint.config(
|
||||
{ ignores: ['dist'] },
|
||||
{
|
||||
extends: [js.configs.recommended, ...tseslint.configs.recommended],
|
||||
files: ['**/*.{ts,tsx}'],
|
||||
languageOptions: {
|
||||
ecmaVersion: 2020,
|
||||
globals: globals.browser,
|
||||
},
|
||||
plugins: {
|
||||
'react-hooks': reactHooks,
|
||||
'react-refresh': reactRefresh,
|
||||
},
|
||||
rules: {
|
||||
...reactHooks.configs.recommended.rules,
|
||||
'react-refresh/only-export-components': [
|
||||
'warn',
|
||||
{ allowConstantExport: true },
|
||||
],
|
||||
},
|
||||
}
|
||||
);
|
||||
17
bolt-gaming-geek-main/index.html
Normal file
17
bolt-gaming-geek-main/index.html
Normal file
@ -0,0 +1,17 @@
|
||||
<!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 data-default>NEXUS - Gaming & Geek Culture Hub</title>
|
||||
<meta name="description" content="Join the ultimate hub for gamers, streamers, and geek culture enthusiasts. Get exclusive reviews, breaking news, and connect with 500K+ players." />
|
||||
<meta property="og:image" content="https://bolt.new/static/og_default.png" />
|
||||
<meta name="twitter:card" content="summary_large_image" />
|
||||
<meta name="twitter:image" content="https://bolt.new/static/og_default.png" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="root"></div>
|
||||
<script type="module" src="/src/main.tsx"></script>
|
||||
</body>
|
||||
</html>
|
||||
4175
bolt-gaming-geek-main/package-lock.json
generated
Normal file
4175
bolt-gaming-geek-main/package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
35
bolt-gaming-geek-main/package.json
Normal file
35
bolt-gaming-geek-main/package.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"name": "vite-react-typescript-starter",
|
||||
"private": true,
|
||||
"version": "0.0.0",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
"build": "vite build",
|
||||
"lint": "eslint .",
|
||||
"preview": "vite preview",
|
||||
"typecheck": "tsc --noEmit -p tsconfig.app.json"
|
||||
},
|
||||
"dependencies": {
|
||||
"@supabase/supabase-js": "^2.57.4",
|
||||
"lucide-react": "^0.344.0",
|
||||
"react": "^18.3.1",
|
||||
"react-dom": "^18.3.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@eslint/js": "^9.9.1",
|
||||
"@types/react": "^18.3.5",
|
||||
"@types/react-dom": "^18.3.0",
|
||||
"@vitejs/plugin-react": "^4.3.1",
|
||||
"autoprefixer": "^10.4.18",
|
||||
"eslint": "^9.9.1",
|
||||
"eslint-plugin-react-hooks": "^5.1.0-rc.0",
|
||||
"eslint-plugin-react-refresh": "^0.4.11",
|
||||
"globals": "^15.9.0",
|
||||
"postcss": "^8.4.35",
|
||||
"tailwindcss": "^3.4.1",
|
||||
"typescript": "^5.5.3",
|
||||
"typescript-eslint": "^8.3.0",
|
||||
"vite": "^5.4.2"
|
||||
}
|
||||
}
|
||||
6
bolt-gaming-geek-main/postcss.config.js
Normal file
6
bolt-gaming-geek-main/postcss.config.js
Normal file
@ -0,0 +1,6 @@
|
||||
export default {
|
||||
plugins: {
|
||||
tailwindcss: {},
|
||||
autoprefixer: {},
|
||||
},
|
||||
};
|
||||
311
bolt-gaming-geek-main/src/App.tsx
Normal file
311
bolt-gaming-geek-main/src/App.tsx
Normal file
@ -0,0 +1,311 @@
|
||||
import { useState } from 'react';
|
||||
import {
|
||||
Menu, X, Gamepad2, Trophy, Newspaper, Users,
|
||||
Youtube, Twitter, Twitch, MessageSquare, Mail,
|
||||
ChevronRight, Star, TrendingUp, Zap
|
||||
} from 'lucide-react';
|
||||
|
||||
function App() {
|
||||
const [isMenuOpen, setIsMenuOpen] = useState(false);
|
||||
const [email, setEmail] = useState('');
|
||||
|
||||
const handleNewsletterSubmit = (e: React.FormEvent) => {
|
||||
e.preventDefault();
|
||||
console.log('Newsletter signup:', email);
|
||||
setEmail('');
|
||||
alert('Thanks for subscribing! 🎮');
|
||||
};
|
||||
|
||||
return (
|
||||
<div className="min-h-screen bg-gradient-to-b from-gray-900 via-black to-gray-900 text-white">
|
||||
{/* Navigation */}
|
||||
<nav className="fixed top-0 w-full bg-black/80 backdrop-blur-md z-50 border-b border-cyan-500/20">
|
||||
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
|
||||
<div className="flex items-center justify-between h-16">
|
||||
<div className="flex items-center space-x-2">
|
||||
<Zap className="w-8 h-8 text-cyan-400" />
|
||||
<span className="text-2xl font-bold bg-gradient-to-r from-cyan-400 to-blue-500 bg-clip-text text-transparent">
|
||||
NEXUS
|
||||
</span>
|
||||
</div>
|
||||
|
||||
{/* Desktop Navigation */}
|
||||
<div className="hidden md:flex items-center space-x-8">
|
||||
<a href="#games" className="hover:text-cyan-400 transition-colors flex items-center space-x-1">
|
||||
<Gamepad2 className="w-4 h-4" />
|
||||
<span>Games</span>
|
||||
</a>
|
||||
<a href="#reviews" className="hover:text-cyan-400 transition-colors flex items-center space-x-1">
|
||||
<Trophy className="w-4 h-4" />
|
||||
<span>Reviews</span>
|
||||
</a>
|
||||
<a href="#news" className="hover:text-cyan-400 transition-colors flex items-center space-x-1">
|
||||
<Newspaper className="w-4 h-4" />
|
||||
<span>News</span>
|
||||
</a>
|
||||
<a href="#community" className="hover:text-cyan-400 transition-colors flex items-center space-x-1">
|
||||
<Users className="w-4 h-4" />
|
||||
<span>Community</span>
|
||||
</a>
|
||||
<button className="bg-gradient-to-r from-cyan-500 to-blue-500 hover:from-cyan-600 hover:to-blue-600 px-6 py-2 rounded-full font-semibold transition-all transform hover:scale-105">
|
||||
Join Now
|
||||
</button>
|
||||
</div>
|
||||
|
||||
{/* Mobile menu button */}
|
||||
<button
|
||||
className="md:hidden"
|
||||
onClick={() => setIsMenuOpen(!isMenuOpen)}
|
||||
>
|
||||
{isMenuOpen ? <X className="w-6 h-6" /> : <Menu className="w-6 h-6" />}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Mobile Navigation */}
|
||||
{isMenuOpen && (
|
||||
<div className="md:hidden bg-black border-t border-cyan-500/20">
|
||||
<div className="px-4 pt-2 pb-4 space-y-3">
|
||||
<a href="#games" className="block py-2 hover:text-cyan-400 transition-colors">Games</a>
|
||||
<a href="#reviews" className="block py-2 hover:text-cyan-400 transition-colors">Reviews</a>
|
||||
<a href="#news" className="block py-2 hover:text-cyan-400 transition-colors">News</a>
|
||||
<a href="#community" className="block py-2 hover:text-cyan-400 transition-colors">Community</a>
|
||||
<button className="w-full bg-gradient-to-r from-cyan-500 to-blue-500 px-6 py-2 rounded-full font-semibold">
|
||||
Join Now
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</nav>
|
||||
|
||||
{/* Hero Section */}
|
||||
<section className="relative pt-32 pb-20 px-4 overflow-hidden">
|
||||
<div className="absolute inset-0 bg-gradient-to-r from-cyan-500/10 to-blue-500/10 blur-3xl"></div>
|
||||
<div className="max-w-7xl mx-auto relative z-10">
|
||||
<div className="text-center space-y-8">
|
||||
<div className="inline-block px-4 py-2 bg-cyan-500/10 border border-cyan-500/30 rounded-full text-cyan-400 text-sm font-semibold mb-4">
|
||||
<span className="inline-block w-2 h-2 bg-cyan-400 rounded-full mr-2 animate-pulse"></span>
|
||||
LIVE NOW: Breaking Gaming News
|
||||
</div>
|
||||
<h1 className="text-5xl md:text-7xl font-bold leading-tight">
|
||||
<span className="bg-gradient-to-r from-cyan-400 via-blue-500 to-cyan-400 bg-clip-text text-transparent animate-gradient">
|
||||
Level Up Your
|
||||
</span>
|
||||
<br />
|
||||
<span className="text-white">Gaming Experience</span>
|
||||
</h1>
|
||||
<p className="text-xl md:text-2xl text-gray-400 max-w-3xl mx-auto">
|
||||
Join the ultimate hub for gamers, streamers, and geek culture enthusiasts.
|
||||
Get exclusive reviews, breaking news, and connect with a community of 500K+ players.
|
||||
</p>
|
||||
<div className="flex flex-col sm:flex-row items-center justify-center gap-4">
|
||||
<button className="group bg-gradient-to-r from-cyan-500 to-blue-500 hover:from-cyan-600 hover:to-blue-600 px-8 py-4 rounded-full font-bold text-lg transition-all transform hover:scale-105 flex items-center space-x-2">
|
||||
<span>Explore Content</span>
|
||||
<ChevronRight className="w-5 h-5 group-hover:translate-x-1 transition-transform" />
|
||||
</button>
|
||||
<button className="px-8 py-4 rounded-full font-bold text-lg border-2 border-cyan-500 hover:bg-cyan-500/10 transition-all flex items-center space-x-2">
|
||||
<Youtube className="w-5 h-5" />
|
||||
<span>Watch Streams</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{/* Featured Content Grid */}
|
||||
<section id="games" className="py-20 px-4">
|
||||
<div className="max-w-7xl mx-auto">
|
||||
<div className="flex items-center justify-between mb-12">
|
||||
<h2 className="text-4xl font-bold">
|
||||
<span className="text-cyan-400">Featured</span> Games
|
||||
</h2>
|
||||
<button className="text-cyan-400 hover:text-cyan-300 flex items-center space-x-1">
|
||||
<span>View All</span>
|
||||
<ChevronRight className="w-4 h-4" />
|
||||
</button>
|
||||
</div>
|
||||
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6">
|
||||
{[
|
||||
{ title: "Cyberpunk Warriors", genre: "RPG", rating: 9.2, trending: true },
|
||||
{ title: "Galactic Frontiers", genre: "Strategy", rating: 8.8, trending: true },
|
||||
{ title: "Shadow Realm", genre: "Action", rating: 9.5, trending: false },
|
||||
].map((game, index) => (
|
||||
<div key={index} className="group relative bg-gradient-to-br from-gray-800 to-gray-900 rounded-2xl overflow-hidden border border-cyan-500/20 hover:border-cyan-500/50 transition-all transform hover:scale-105">
|
||||
<div className="aspect-video bg-gradient-to-br from-cyan-500/20 to-blue-500/20 flex items-center justify-center">
|
||||
<Gamepad2 className="w-16 h-16 text-cyan-400 opacity-50" />
|
||||
</div>
|
||||
{game.trending && (
|
||||
<div className="absolute top-4 right-4 bg-gradient-to-r from-cyan-500 to-blue-500 px-3 py-1 rounded-full text-xs font-bold flex items-center space-x-1">
|
||||
<TrendingUp className="w-3 h-3" />
|
||||
<span>TRENDING</span>
|
||||
</div>
|
||||
)}
|
||||
<div className="p-6">
|
||||
<div className="flex items-center justify-between mb-2">
|
||||
<span className="text-xs text-cyan-400 font-semibold">{game.genre}</span>
|
||||
<div className="flex items-center space-x-1">
|
||||
<Star className="w-4 h-4 text-yellow-400 fill-yellow-400" />
|
||||
<span className="text-sm font-bold">{game.rating}</span>
|
||||
</div>
|
||||
</div>
|
||||
<h3 className="text-xl font-bold mb-2">{game.title}</h3>
|
||||
<button className="w-full bg-cyan-500/10 hover:bg-cyan-500/20 text-cyan-400 py-2 rounded-lg font-semibold transition-colors">
|
||||
Read Review
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{/* Latest Reviews Section */}
|
||||
<section id="reviews" className="py-20 px-4 bg-black/50">
|
||||
<div className="max-w-7xl mx-auto">
|
||||
<h2 className="text-4xl font-bold mb-12 text-center">
|
||||
<span className="text-cyan-400">Expert</span> Reviews
|
||||
</h2>
|
||||
<div className="grid grid-cols-1 md:grid-cols-2 gap-8">
|
||||
{[
|
||||
{ title: "The Future of VR Gaming is Here", category: "VR Tech", score: 9 },
|
||||
{ title: "Top 10 Indie Games You Can't Miss", category: "Indie", score: 8.5 },
|
||||
].map((review, index) => (
|
||||
<div key={index} className="bg-gradient-to-r from-gray-800 to-gray-900 rounded-2xl p-8 border border-cyan-500/20 hover:border-cyan-500/50 transition-all">
|
||||
<div className="flex items-start justify-between mb-4">
|
||||
<span className="text-xs text-cyan-400 font-semibold uppercase">{review.category}</span>
|
||||
<div className="bg-gradient-to-r from-cyan-500 to-blue-500 px-3 py-1 rounded-full text-sm font-bold">
|
||||
{review.score}/10
|
||||
</div>
|
||||
</div>
|
||||
<h3 className="text-2xl font-bold mb-4">{review.title}</h3>
|
||||
<p className="text-gray-400 mb-6">
|
||||
Dive deep into our comprehensive analysis and expert opinions on the latest trends in gaming.
|
||||
</p>
|
||||
<button className="text-cyan-400 hover:text-cyan-300 flex items-center space-x-2 font-semibold">
|
||||
<span>Read Full Review</span>
|
||||
<ChevronRight className="w-4 h-4" />
|
||||
</button>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{/* News Section */}
|
||||
<section id="news" className="py-20 px-4">
|
||||
<div className="max-w-7xl mx-auto">
|
||||
<h2 className="text-4xl font-bold mb-12 text-center">
|
||||
<span className="text-cyan-400">Breaking</span> News
|
||||
</h2>
|
||||
<div className="space-y-4">
|
||||
{[
|
||||
"Major Tournament Announces $5M Prize Pool",
|
||||
"New Console Generation: What to Expect",
|
||||
"Exclusive Interview with Top Game Developer",
|
||||
].map((headline, index) => (
|
||||
<div key={index} className="bg-gradient-to-r from-gray-800 to-gray-900 rounded-xl p-6 border border-cyan-500/20 hover:border-cyan-500/50 transition-all cursor-pointer group">
|
||||
<div className="flex items-center justify-between">
|
||||
<div className="flex items-center space-x-4">
|
||||
<Newspaper className="w-6 h-6 text-cyan-400" />
|
||||
<span className="text-lg font-semibold group-hover:text-cyan-400 transition-colors">{headline}</span>
|
||||
</div>
|
||||
<ChevronRight className="w-5 h-5 text-gray-500 group-hover:text-cyan-400 group-hover:translate-x-1 transition-all" />
|
||||
</div>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{/* Community Section */}
|
||||
<section id="community" className="py-20 px-4 bg-black/50">
|
||||
<div className="max-w-7xl mx-auto text-center">
|
||||
<h2 className="text-4xl font-bold mb-6">
|
||||
<span className="text-cyan-400">Join Our</span> Community
|
||||
</h2>
|
||||
<p className="text-xl text-gray-400 mb-12 max-w-2xl mx-auto">
|
||||
Connect with 500,000+ gamers, share your gameplay, and participate in exclusive events.
|
||||
</p>
|
||||
<div className="grid grid-cols-2 md:grid-cols-4 gap-8 mb-12">
|
||||
{[
|
||||
{ icon: Users, label: "500K+ Members", value: "Active Community" },
|
||||
{ icon: MessageSquare, label: "24/7 Discussion", value: "Live Forums" },
|
||||
{ icon: Trophy, label: "Weekly Events", value: "Win Prizes" },
|
||||
{ icon: Youtube, label: "Daily Streams", value: "Watch Live" },
|
||||
].map((stat, index) => (
|
||||
<div key={index} className="bg-gradient-to-br from-gray-800 to-gray-900 rounded-xl p-6 border border-cyan-500/20">
|
||||
<stat.icon className="w-8 h-8 text-cyan-400 mx-auto mb-3" />
|
||||
<div className="text-2xl font-bold mb-1">{stat.label}</div>
|
||||
<div className="text-sm text-gray-400">{stat.value}</div>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{/* Newsletter Section */}
|
||||
<section className="py-20 px-4">
|
||||
<div className="max-w-4xl mx-auto">
|
||||
<div className="bg-gradient-to-r from-cyan-500/10 to-blue-500/10 rounded-2xl p-12 border border-cyan-500/30 text-center">
|
||||
<Mail className="w-12 h-12 text-cyan-400 mx-auto mb-6" />
|
||||
<h2 className="text-3xl font-bold mb-4">
|
||||
Never Miss an <span className="text-cyan-400">Update</span>
|
||||
</h2>
|
||||
<p className="text-gray-400 mb-8">
|
||||
Get the latest gaming news, exclusive reviews, and special offers delivered straight to your inbox.
|
||||
</p>
|
||||
<form onSubmit={handleNewsletterSubmit} className="flex flex-col sm:flex-row gap-4 max-w-md mx-auto">
|
||||
<input
|
||||
type="email"
|
||||
value={email}
|
||||
onChange={(e) => setEmail(e.target.value)}
|
||||
placeholder="Enter your email"
|
||||
required
|
||||
className="flex-1 px-6 py-4 rounded-full bg-gray-900 border border-cyan-500/30 focus:border-cyan-500 focus:outline-none"
|
||||
/>
|
||||
<button
|
||||
type="submit"
|
||||
className="bg-gradient-to-r from-cyan-500 to-blue-500 hover:from-cyan-600 hover:to-blue-600 px-8 py-4 rounded-full font-bold transition-all transform hover:scale-105"
|
||||
>
|
||||
Subscribe
|
||||
</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{/* Footer */}
|
||||
<footer className="bg-black border-t border-cyan-500/20 py-12 px-4">
|
||||
<div className="max-w-7xl mx-auto">
|
||||
<div className="flex flex-col md:flex-row items-center justify-between space-y-6 md:space-y-0">
|
||||
<div className="flex items-center space-x-2">
|
||||
<Zap className="w-8 h-8 text-cyan-400" />
|
||||
<span className="text-2xl font-bold bg-gradient-to-r from-cyan-400 to-blue-500 bg-clip-text text-transparent">
|
||||
NEXUS
|
||||
</span>
|
||||
</div>
|
||||
<div className="flex space-x-6">
|
||||
<a href="#" className="hover:text-cyan-400 transition-colors">
|
||||
<Twitter className="w-6 h-6" />
|
||||
</a>
|
||||
<a href="#" className="hover:text-cyan-400 transition-colors">
|
||||
<Youtube className="w-6 h-6" />
|
||||
</a>
|
||||
<a href="#" className="hover:text-cyan-400 transition-colors">
|
||||
<Twitch className="w-6 h-6" />
|
||||
</a>
|
||||
<a href="#" className="hover:text-cyan-400 transition-colors">
|
||||
<MessageSquare className="w-6 h-6" />
|
||||
</a>
|
||||
</div>
|
||||
<div className="text-gray-400 text-sm">
|
||||
© 2024 NEXUS. All rights reserved.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export default App;
|
||||
3
bolt-gaming-geek-main/src/index.css
Normal file
3
bolt-gaming-geek-main/src/index.css
Normal file
@ -0,0 +1,3 @@
|
||||
@tailwind base;
|
||||
@tailwind components;
|
||||
@tailwind utilities;
|
||||
10
bolt-gaming-geek-main/src/main.tsx
Normal file
10
bolt-gaming-geek-main/src/main.tsx
Normal file
@ -0,0 +1,10 @@
|
||||
import { StrictMode } from 'react';
|
||||
import { createRoot } from 'react-dom/client';
|
||||
import App from './App.tsx';
|
||||
import './index.css';
|
||||
|
||||
createRoot(document.getElementById('root')!).render(
|
||||
<StrictMode>
|
||||
<App />
|
||||
</StrictMode>
|
||||
);
|
||||
1
bolt-gaming-geek-main/src/vite-env.d.ts
vendored
Normal file
1
bolt-gaming-geek-main/src/vite-env.d.ts
vendored
Normal file
@ -0,0 +1 @@
|
||||
/// <reference types="vite/client" />
|
||||
8
bolt-gaming-geek-main/tailwind.config.js
Normal file
8
bolt-gaming-geek-main/tailwind.config.js
Normal file
@ -0,0 +1,8 @@
|
||||
/** @type {import('tailwindcss').Config} */
|
||||
export default {
|
||||
content: ['./index.html', './src/**/*.{js,ts,jsx,tsx}'],
|
||||
theme: {
|
||||
extend: {},
|
||||
},
|
||||
plugins: [],
|
||||
};
|
||||
24
bolt-gaming-geek-main/tsconfig.app.json
Normal file
24
bolt-gaming-geek-main/tsconfig.app.json
Normal file
@ -0,0 +1,24 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"target": "ES2020",
|
||||
"useDefineForClassFields": true,
|
||||
"lib": ["ES2020", "DOM", "DOM.Iterable"],
|
||||
"module": "ESNext",
|
||||
"skipLibCheck": true,
|
||||
|
||||
/* Bundler mode */
|
||||
"moduleResolution": "bundler",
|
||||
"allowImportingTsExtensions": true,
|
||||
"isolatedModules": true,
|
||||
"moduleDetection": "force",
|
||||
"noEmit": true,
|
||||
"jsx": "react-jsx",
|
||||
|
||||
/* Linting */
|
||||
"strict": true,
|
||||
"noUnusedLocals": true,
|
||||
"noUnusedParameters": true,
|
||||
"noFallthroughCasesInSwitch": true
|
||||
},
|
||||
"include": ["src"]
|
||||
}
|
||||
7
bolt-gaming-geek-main/tsconfig.json
Normal file
7
bolt-gaming-geek-main/tsconfig.json
Normal file
@ -0,0 +1,7 @@
|
||||
{
|
||||
"files": [],
|
||||
"references": [
|
||||
{ "path": "./tsconfig.app.json" },
|
||||
{ "path": "./tsconfig.node.json" }
|
||||
]
|
||||
}
|
||||
22
bolt-gaming-geek-main/tsconfig.node.json
Normal file
22
bolt-gaming-geek-main/tsconfig.node.json
Normal file
@ -0,0 +1,22 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"target": "ES2022",
|
||||
"lib": ["ES2023"],
|
||||
"module": "ESNext",
|
||||
"skipLibCheck": true,
|
||||
|
||||
/* Bundler mode */
|
||||
"moduleResolution": "bundler",
|
||||
"allowImportingTsExtensions": true,
|
||||
"isolatedModules": true,
|
||||
"moduleDetection": "force",
|
||||
"noEmit": true,
|
||||
|
||||
/* Linting */
|
||||
"strict": true,
|
||||
"noUnusedLocals": true,
|
||||
"noUnusedParameters": true,
|
||||
"noFallthroughCasesInSwitch": true
|
||||
},
|
||||
"include": ["vite.config.ts"]
|
||||
}
|
||||
10
bolt-gaming-geek-main/vite.config.ts
Normal file
10
bolt-gaming-geek-main/vite.config.ts
Normal file
@ -0,0 +1,10 @@
|
||||
import { defineConfig } from 'vite';
|
||||
import react from '@vitejs/plugin-react';
|
||||
|
||||
// https://vitejs.dev/config/
|
||||
export default defineConfig({
|
||||
plugins: [react()],
|
||||
optimizeDeps: {
|
||||
exclude: ['lucide-react'],
|
||||
},
|
||||
});
|
||||
Loading…
x
Reference in New Issue
Block a user