create-neon-flux 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/app/page.tsx ADDED
@@ -0,0 +1,289 @@
1
+ 'use client';
2
+
3
+ import dynamic from 'next/dynamic';
4
+ import Hero from '@/components/animations/Hero';
5
+ import CyberNav from '@/components/ui/CyberNav';
6
+ import ScanLines from '@/components/effects/ScanLines';
7
+ import CyberGrid from '@/components/animations/CyberGrid';
8
+ import HologramCard from '@/components/ui/HologramCard';
9
+ import Terminal from '@/components/ui/Terminal';
10
+ import { Github, Twitter, Linkedin, Mail } from 'lucide-react';
11
+
12
+ // Dynamic imports for 3D components (client-side only)
13
+ const CyberCity = dynamic(() => import('@/components/3d/CyberCity'), {
14
+ ssr: false,
15
+ loading: () => <div className="canvas-container bg-cyber-black" />,
16
+ });
17
+
18
+ // Sample portfolio projects
19
+ const projects = [
20
+ {
21
+ title: 'Neural Network Dashboard',
22
+ description: 'Real-time AI monitoring system with cyberpunk aesthetics. Features live data visualization and neural network status tracking.',
23
+ image: 'https://images.unsplash.com/photo-1639322537228-f710d846310a?w=800&h=600&fit=crop',
24
+ tags: ['Next.js', 'TypeScript', 'Three.js', 'WebGL'],
25
+ link: '#',
26
+ },
27
+ {
28
+ title: 'Crypto Trading Platform',
29
+ description: 'Futuristic cryptocurrency trading interface with real-time market data and advanced charting capabilities.',
30
+ image: 'https://images.unsplash.com/photo-1639762681485-074b7f938ba0?w=800&h=600&fit=crop',
31
+ tags: ['React', 'D3.js', 'WebSocket', 'TailwindCSS'],
32
+ link: '#',
33
+ },
34
+ {
35
+ title: 'Holographic Portfolio',
36
+ description: '3D interactive portfolio showcasing projects in a holographic interface with gesture controls.',
37
+ image: 'https://images.unsplash.com/photo-1633356122544-f134324a6cee?w=800&h=600&fit=crop',
38
+ tags: ['Three.js', 'GSAP', 'React', 'Framer Motion'],
39
+ link: '#',
40
+ },
41
+ ];
42
+
43
+ // Sample blog posts
44
+ const blogPosts = [
45
+ {
46
+ title: 'Building Cyberpunk UIs with Next.js',
47
+ description: 'A comprehensive guide to creating stunning neon-themed interfaces using modern web technologies.',
48
+ tags: ['Tutorial', 'Next.js', 'CSS'],
49
+ link: '#',
50
+ },
51
+ {
52
+ title: 'The Future of Web Animations',
53
+ description: 'Exploring cutting-edge animation techniques using GSAP, Framer Motion, and Three.js.',
54
+ tags: ['Animation', 'WebGL', 'Performance'],
55
+ link: '#',
56
+ },
57
+ {
58
+ title: 'Optimizing 3D Graphics for the Web',
59
+ description: 'Best practices for implementing performant 3D graphics in React applications.',
60
+ tags: ['Three.js', 'Optimization', 'React'],
61
+ link: '#',
62
+ },
63
+ ];
64
+
65
+ // Tech stack / Skills
66
+ const skills = [
67
+ { name: 'Next.js', level: 95 },
68
+ { name: 'TypeScript', level: 90 },
69
+ { name: 'React', level: 95 },
70
+ { name: 'Three.js', level: 85 },
71
+ { name: 'GSAP', level: 80 },
72
+ { name: 'TailwindCSS', level: 90 },
73
+ { name: 'Node.js', level: 85 },
74
+ { name: 'WebGL', level: 75 },
75
+ ];
76
+
77
+ export default function Home() {
78
+ const scrollToSection = (id: string) => {
79
+ const element = document.getElementById(id);
80
+ element?.scrollIntoView({ behavior: 'smooth' });
81
+ };
82
+
83
+ return (
84
+ <main className="relative min-h-screen bg-cyber-black overflow-hidden">
85
+ {/* Background Effects */}
86
+ <CyberGrid />
87
+ <ScanLines />
88
+ <CyberCity />
89
+
90
+ {/* Navigation */}
91
+ <CyberNav />
92
+
93
+ {/* Hero Section */}
94
+ <Hero />
95
+
96
+ {/* Portfolio/Projects Section */}
97
+ <section id="portfolio" className="relative z-10 py-20">
98
+ <div className="container mx-auto px-4">
99
+ <h2 className="text-4xl md:text-6xl font-orbitron text-center neon-text-cyan mb-4">
100
+ Featured Projects
101
+ </h2>
102
+ <p className="text-center text-neon-cyan/70 mb-12 max-w-2xl mx-auto">
103
+ Cutting-edge digital experiences powered by modern web technologies
104
+ </p>
105
+
106
+ <div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8">
107
+ {projects.map((project, index) => (
108
+ <HologramCard
109
+ key={index}
110
+ title={project.title}
111
+ description={project.description}
112
+ image={project.image}
113
+ tags={project.tags}
114
+ link={project.link}
115
+ delay={index * 0.2}
116
+ />
117
+ ))}
118
+ </div>
119
+ </div>
120
+ </section>
121
+
122
+ {/* Skills Section */}
123
+ <section id="skills" className="relative z-10 py-20">
124
+ <div className="container mx-auto px-4">
125
+ <h2 className="text-4xl md:text-6xl font-orbitron text-center neon-text-pink mb-12">
126
+ Tech Stack
127
+ </h2>
128
+
129
+ <div className="grid grid-cols-1 lg:grid-cols-2 gap-8 max-w-5xl mx-auto">
130
+ {/* Skills bars */}
131
+ <div className="space-y-6">
132
+ {skills.map((skill, index) => (
133
+ <div key={index} className="space-y-2">
134
+ <div className="flex justify-between text-neon-cyan font-space-mono">
135
+ <span>{skill.name}</span>
136
+ <span>{skill.level}%</span>
137
+ </div>
138
+ <div className="h-2 bg-cyber-dark rounded-full overflow-hidden">
139
+ <div
140
+ className="h-full bg-gradient-to-r from-neon-pink to-neon-cyan transition-all duration-1000 ease-out"
141
+ style={{
142
+ width: `${skill.level}%`,
143
+ boxShadow: '0 0 10px currentColor',
144
+ }}
145
+ />
146
+ </div>
147
+ </div>
148
+ ))}
149
+ </div>
150
+
151
+ {/* Terminal */}
152
+ <Terminal />
153
+ </div>
154
+ </div>
155
+ </section>
156
+
157
+ {/* Blog Section */}
158
+ <section id="blog" className="relative z-10 py-20">
159
+ <div className="container mx-auto px-4">
160
+ <h2 className="text-4xl md:text-6xl font-orbitron text-center neon-text-yellow mb-4">
161
+ Latest Articles
162
+ </h2>
163
+ <p className="text-center text-neon-cyan/70 mb-12 max-w-2xl mx-auto">
164
+ Insights, tutorials, and thoughts on web development
165
+ </p>
166
+
167
+ <div className="grid grid-cols-1 md:grid-cols-3 gap-8">
168
+ {blogPosts.map((post, index) => (
169
+ <HologramCard
170
+ key={index}
171
+ title={post.title}
172
+ description={post.description}
173
+ tags={post.tags}
174
+ link={post.link}
175
+ delay={index * 0.15}
176
+ />
177
+ ))}
178
+ </div>
179
+
180
+ <div className="text-center mt-12">
181
+ <button
182
+ onClick={() => scrollToSection('blog')}
183
+ className="neon-button"
184
+ >
185
+ View All Articles
186
+ </button>
187
+ </div>
188
+ </div>
189
+ </section>
190
+
191
+ {/* About Section */}
192
+ <section id="about" className="relative z-10 py-20">
193
+ <div className="container mx-auto px-4">
194
+ <div className="max-w-4xl mx-auto glass rounded-lg p-8 md:p-12">
195
+ <h2 className="text-4xl md:text-6xl font-orbitron glitch neon-text-cyan mb-8" data-text="About">
196
+ About
197
+ </h2>
198
+ <div className="space-y-4 text-lg text-neon-cyan/80 leading-relaxed">
199
+ <p>
200
+ Welcome to the future of web development. This cyberpunk-themed portfolio template
201
+ combines cutting-edge design with powerful modern technologies.
202
+ </p>
203
+ <p>
204
+ Built with <span className="text-neon-pink font-semibold">Next.js 15</span>, featuring
205
+ stunning <span className="text-neon-yellow font-semibold">canvas-based graphics</span>, smooth
206
+ animations, and a complete design system that&apos;s ready to showcase your projects.
207
+ </p>
208
+ <p>
209
+ Whether you&apos;re a developer, designer, or creative professional, this template provides
210
+ everything you need to create an unforgettable digital presence.
211
+ </p>
212
+ </div>
213
+
214
+ <div className="grid grid-cols-2 md:grid-cols-4 gap-6 mt-12">
215
+ {[
216
+ { label: 'Projects', value: '50+' },
217
+ { label: 'Technologies', value: '20+' },
218
+ { label: 'Experience', value: '5 Years' },
219
+ { label: 'Coffee', value: '∞' },
220
+ ].map((stat, index) => (
221
+ <div key={index} className="text-center">
222
+ <div className="text-3xl md:text-4xl font-orbitron text-neon-pink mb-2">
223
+ {stat.value}
224
+ </div>
225
+ <div className="text-sm text-neon-cyan/60">{stat.label}</div>
226
+ </div>
227
+ ))}
228
+ </div>
229
+ </div>
230
+ </div>
231
+ </section>
232
+
233
+ {/* Footer */}
234
+ <footer className="relative z-10 py-12 border-t border-neon-cyan/20">
235
+ <div className="container mx-auto px-4">
236
+ <div className="max-w-4xl mx-auto">
237
+ {/* Social Links */}
238
+ <div className="flex justify-center gap-6 mb-8">
239
+ {[
240
+ { name: 'GitHub', icon: Github, link: 'https://github.com' },
241
+ { name: 'Twitter', icon: Twitter, link: 'https://twitter.com' },
242
+ { name: 'LinkedIn', icon: Linkedin, link: 'https://linkedin.com' },
243
+ { name: 'Email', icon: Mail, link: 'mailto:hello@example.com' },
244
+ ].map((social, index) => {
245
+ const Icon = social.icon;
246
+ return (
247
+ <a
248
+ key={index}
249
+ href={social.link}
250
+ target="_blank"
251
+ rel="noopener noreferrer"
252
+ className="w-12 h-12 flex items-center justify-center glass rounded-full cursor-pointer text-neon-cyan hover:text-neon-pink hover:shadow-neon-pink hover:border-neon-pink/50 transition-all duration-300 focus:outline-none focus:ring-2 focus:ring-neon-cyan focus:ring-offset-2 focus:ring-offset-cyber-black"
253
+ title={social.name}
254
+ aria-label={social.name}
255
+ >
256
+ <Icon className="w-5 h-5" />
257
+ </a>
258
+ );
259
+ })}
260
+ </div>
261
+
262
+ {/* Footer Info */}
263
+ <div className="flex flex-col md:flex-row justify-between items-center gap-4">
264
+ <p className="text-neon-cyan font-space-mono text-sm">
265
+ &copy; {new Date().getFullYear()} Neon Flux Template. Built with Next.js 15
266
+ </p>
267
+ <div className="flex gap-6 text-sm text-neon-cyan/60">
268
+ <a href="#" className="hover:text-neon-pink transition-colors cursor-pointer focus:outline-none focus:text-neon-pink">
269
+ Privacy
270
+ </a>
271
+ <a href="#" className="hover:text-neon-pink transition-colors cursor-pointer focus:outline-none focus:text-neon-pink">
272
+ Terms
273
+ </a>
274
+ <a
275
+ href="https://github.com/yourusername/neon-flux-template"
276
+ target="_blank"
277
+ rel="noopener noreferrer"
278
+ className="hover:text-neon-pink transition-colors cursor-pointer focus:outline-none focus:text-neon-pink"
279
+ >
280
+ Source Code
281
+ </a>
282
+ </div>
283
+ </div>
284
+ </div>
285
+ </div>
286
+ </footer>
287
+ </main>
288
+ );
289
+ }
@@ -0,0 +1,76 @@
1
+ <svg width="1200" height="300" viewBox="0 0 1200 300" xmlns="http://www.w3.org/2000/svg">
2
+ <defs>
3
+ <linearGradient id="bgGrad" x1="0%" y1="0%" x2="0%" y2="100%">
4
+ <stop offset="0%" style="stop-color:#0D0221"/>
5
+ <stop offset="100%" style="stop-color:#0A0A0A"/>
6
+ </linearGradient>
7
+ <linearGradient id="neonGrad" x1="0%" y1="0%" x2="100%" y2="0%">
8
+ <stop offset="0%" style="stop-color:#FF10F0"/>
9
+ <stop offset="50%" style="stop-color:#00FFF0"/>
10
+ <stop offset="100%" style="stop-color:#FF10F0"/>
11
+ </linearGradient>
12
+ <filter id="glow" x="-50%" y="-50%" width="200%" height="200%">
13
+ <feGaussianBlur stdDeviation="4" result="coloredBlur"/>
14
+ <feMerge>
15
+ <feMergeNode in="coloredBlur"/>
16
+ <feMergeNode in="SourceGraphic"/>
17
+ </feMerge>
18
+ </filter>
19
+ <filter id="glowStrong" x="-50%" y="-50%" width="200%" height="200%">
20
+ <feGaussianBlur stdDeviation="8" result="coloredBlur"/>
21
+ <feMerge>
22
+ <feMergeNode in="coloredBlur"/>
23
+ <feMergeNode in="coloredBlur"/>
24
+ <feMergeNode in="SourceGraphic"/>
25
+ </feMerge>
26
+ </filter>
27
+ </defs>
28
+
29
+ <!-- Background -->
30
+ <rect width="1200" height="300" fill="url(#bgGrad)"/>
31
+
32
+ <!-- Grid lines -->
33
+ <g stroke="#00FFF0" stroke-opacity="0.1" stroke-width="1">
34
+ <line x1="0" y1="50" x2="1200" y2="50"/>
35
+ <line x1="0" y1="100" x2="1200" y2="100"/>
36
+ <line x1="0" y1="150" x2="1200" y2="150"/>
37
+ <line x1="0" y1="200" x2="1200" y2="200"/>
38
+ <line x1="0" y1="250" x2="1200" y2="250"/>
39
+ <line x1="100" y1="0" x2="100" y2="300"/>
40
+ <line x1="200" y1="0" x2="200" y2="300"/>
41
+ <line x1="300" y1="0" x2="300" y2="300"/>
42
+ <line x1="400" y1="0" x2="400" y2="300"/>
43
+ <line x1="500" y1="0" x2="500" y2="300"/>
44
+ <line x1="600" y1="0" x2="600" y2="300"/>
45
+ <line x1="700" y1="0" x2="700" y2="300"/>
46
+ <line x1="800" y1="0" x2="800" y2="300"/>
47
+ <line x1="900" y1="0" x2="900" y2="300"/>
48
+ <line x1="1000" y1="0" x2="1000" y2="300"/>
49
+ <line x1="1100" y1="0" x2="1100" y2="300"/>
50
+ </g>
51
+
52
+ <!-- Decorative elements -->
53
+ <rect x="50" y="70" width="150" height="2" fill="#FF10F0" filter="url(#glow)" opacity="0.8"/>
54
+ <rect x="1000" y="70" width="150" height="2" fill="#00FFF0" filter="url(#glow)" opacity="0.8"/>
55
+ <rect x="50" y="228" width="150" height="2" fill="#00FFF0" filter="url(#glow)" opacity="0.8"/>
56
+ <rect x="1000" y="228" width="150" height="2" fill="#FF10F0" filter="url(#glow)" opacity="0.8"/>
57
+
58
+ <!-- Corner accents -->
59
+ <path d="M30 30 L30 60 M30 30 L60 30" stroke="#00FFF0" stroke-width="3" fill="none" filter="url(#glow)"/>
60
+ <path d="M1170 30 L1170 60 M1170 30 L1140 30" stroke="#00FFF0" stroke-width="3" fill="none" filter="url(#glow)"/>
61
+ <path d="M30 270 L30 240 M30 270 L60 270" stroke="#FF10F0" stroke-width="3" fill="none" filter="url(#glow)"/>
62
+ <path d="M1170 270 L1170 240 M1170 270 L1140 270" stroke="#FF10F0" stroke-width="3" fill="none" filter="url(#glow)"/>
63
+
64
+ <!-- Main title -->
65
+ <text x="600" y="145" text-anchor="middle" font-family="'Orbitron', 'Arial Black', sans-serif" font-size="72" font-weight="900" fill="#FF10F0" filter="url(#glowStrong)">NEON</text>
66
+ <text x="600" y="145" text-anchor="middle" font-family="'Orbitron', 'Arial Black', sans-serif" font-size="72" font-weight="900" fill="#FF10F0">NEON</text>
67
+
68
+ <text x="600" y="205" text-anchor="middle" font-family="'Orbitron', 'Arial Black', sans-serif" font-size="72" font-weight="900" fill="#00FFF0" filter="url(#glowStrong)">FLUX</text>
69
+ <text x="600" y="205" text-anchor="middle" font-family="'Orbitron', 'Arial Black', sans-serif" font-size="72" font-weight="900" fill="#00FFF0">FLUX</text>
70
+
71
+ <!-- Subtitle -->
72
+ <text x="600" y="255" text-anchor="middle" font-family="'Space Mono', 'Courier New', monospace" font-size="16" fill="#00FFF0" opacity="0.8">CYBERPUNK NEXT.JS TEMPLATE</text>
73
+
74
+ <!-- Scan line effect -->
75
+ <rect x="0" y="0" width="1200" height="300" fill="url(#neonGrad)" opacity="0.03"/>
76
+ </svg>
@@ -0,0 +1,99 @@
1
+ #!/usr/bin/env node
2
+
3
+ const { execSync } = require('child_process');
4
+ const path = require('path');
5
+ const fs = require('fs');
6
+
7
+ // Get project name from command line arguments
8
+ const projectName = process.argv[2] || 'neon-flux-app';
9
+
10
+ // ASCII Art Banner
11
+ console.log(`
12
+ ╔═══════════════════════════════════════════════════════════╗
13
+ ║ ║
14
+ ║ ███╗ ██╗███████╗ ██████╗ ███╗ ██╗ ║
15
+ ║ ████╗ ██║██╔════╝██╔═══██╗████╗ ██║ ║
16
+ ║ ██╔██╗ ██║█████╗ ██║ ██║██╔██╗ ██║ ║
17
+ ║ ██║╚██╗██║██╔══╝ ██║ ██║██║╚██╗██║ ║
18
+ ║ ██║ ╚████║███████╗╚██████╔╝██║ ╚████║ ║
19
+ ║ ╚═╝ ╚═══╝╚══════╝ ╚═════╝ ╚═╝ ╚═══╝ ║
20
+ ║ ║
21
+ ║ ███████╗██╗ ██╗ ██╗██╗ ██╗ ║
22
+ ║ ██╔════╝██║ ██║ ██║╚██╗██╔╝ ║
23
+ ║ █████╗ ██║ ██║ ██║ ╚███╔╝ ║
24
+ ║ ██╔══╝ ██║ ██║ ██║ ██╔██╗ ║
25
+ ║ ██║ ███████╗╚██████╔╝██╔╝ ██╗ ║
26
+ ║ ╚═╝ ╚══════╝ ╚═════╝ ╚═╝ ╚═╝ ║
27
+ ║ ║
28
+ ║ Cyberpunk Next.js Template ║
29
+ ║ v1.0.0 ║
30
+ ║ ║
31
+ ╚═══════════════════════════════════════════════════════════╝
32
+
33
+ 🚀 Creating ${projectName}...
34
+ `);
35
+
36
+ try {
37
+ // Check if directory already exists
38
+ if (fs.existsSync(projectName)) {
39
+ console.error(`❌ Error: Directory "${projectName}" already exists.`);
40
+ process.exit(1);
41
+ }
42
+
43
+ console.log('📦 Cloning Neon Flux template...');
44
+
45
+ // Clone the repository
46
+ execSync(
47
+ `git clone https://github.com/kpab/neon-flux-template.git ${projectName}`,
48
+ { stdio: 'inherit' }
49
+ );
50
+
51
+ // Change to project directory
52
+ process.chdir(projectName);
53
+
54
+ console.log('🗑️ Removing git history...');
55
+
56
+ // Remove .git directory
57
+ if (process.platform === 'win32') {
58
+ execSync('rmdir /s /q .git', { stdio: 'inherit' });
59
+ } else {
60
+ execSync('rm -rf .git', { stdio: 'inherit' });
61
+ }
62
+
63
+ console.log('📝 Installing dependencies...');
64
+
65
+ // Install dependencies
66
+ execSync('npm install', { stdio: 'inherit' });
67
+
68
+ console.log('✅ Setup complete!');
69
+ console.log(`
70
+ ╔═══════════════════════════════════════════════════════════╗
71
+ ║ ║
72
+ ║ ✨ Success! Your Neon Flux project is ready! ║
73
+ ║ ║
74
+ ║ 📁 Project: ${projectName.padEnd(44)} ║
75
+ ║ ║
76
+ ║ Get started with: ║
77
+ ║ ║
78
+ ║ cd ${projectName.padEnd(48)} ║
79
+ ║ npm run dev ║
80
+ ║ ║
81
+ ║ 🌐 Open http://localhost:3000 ║
82
+ ║ ║
83
+ ║ 📚 Documentation: README.md ║
84
+ ║ 🐛 Issues: github.com/kpab/neon-flux-template ║
85
+ ║ ║
86
+ ╚═══════════════════════════════════════════════════════════╝
87
+
88
+ 💡 Tips:
89
+ - Customize colors in tailwind.config.ts
90
+ - Configure features in .env.example (copy to .env)
91
+ - Check out components/ for pre-built cyberpunk components
92
+ - Visit the documentation for more advanced features
93
+
94
+ Happy coding! 🎮✨
95
+ `);
96
+ } catch (error) {
97
+ console.error('❌ Error creating project:', error.message);
98
+ process.exit(1);
99
+ }