Skip to content

Commit 30a38c6

Browse files
authored
Merge pull request #733 from zackproser/codex/improve-navigation-and-products-page
Simplify nav and refine products animation
2 parents de89e8b + a030900 commit 30a38c6

File tree

3 files changed

+44
-26
lines changed

3 files changed

+44
-26
lines changed

src/app/products/products-client.tsx

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -45,17 +45,19 @@ export default function ProductsPageClient({ products }: { products: ProductCont
4545
padding: 24,
4646
fontFamily: 'monospace',
4747
backgroundColor: 'rgba(20, 20, 30, 0.95)',
48-
textColor: '#38a169', // Darker green for better readability
4948
cursorColor: '#38a169',
5049
glowColor: 'rgba(56, 161, 105, 0.4)',
51-
borderRadius: 8
50+
borderRadius: 8,
51+
textColors: ['#38a169', '#0ea5e9', '#facc15'],
5252
}
5353

5454
// Value proposition statements that will be typed into the terminal
5555
const valuePropStrings = [
5656
'git checkout a new skill',
5757
'git push yourself',
58-
'git paid'
58+
'git commit to greatness',
59+
'git merge knowledge',
60+
'git rebase your career',
5961
]
6062

6163
// Terminal class
@@ -187,7 +189,6 @@ export default function ProductsPageClient({ products }: { products: ProductCont
187189
ctx.fillText('premium-dev-tools ~ zsh', this.x + this.width / 2, this.y + 20)
188190

189191
// Draw text content
190-
ctx.fillStyle = terminalConfig.textColor
191192
ctx.textAlign = 'left'
192193

193194
// Calculate maximum width to avoid text cutoff
@@ -216,22 +217,24 @@ export default function ProductsPageClient({ products }: { products: ProductCont
216217

217218
// Draw previous lines with flash effects
218219
this.text.forEach((line, i) => {
220+
const lineColor = terminalConfig.textColors[i % terminalConfig.textColors.length]
219221
// Check if this line has a flash effect
220222
const flashEffect = this.flashEffects?.find(e => e.lineIndex === i)
221223

222224
if (flashEffect) {
223225
// Apply scaling effect
224226
const fontSize = terminalConfig.charSize * flashEffect.scale
225227
ctx.font = `bold ${fontSize}px ${terminalConfig.fontFamily}`
226-
228+
227229
// Add a more pronounced glow for flash effect
228-
ctx.shadowColor = terminalConfig.textColor
230+
ctx.shadowColor = lineColor
229231
ctx.shadowBlur = 10
230232
// Make text brighter during the effect
231233
ctx.fillStyle = '#4ade80'
232234
} else {
233235
ctx.font = `bold ${terminalConfig.charSize}px ${terminalConfig.fontFamily}`
234236
ctx.shadowBlur = 0
237+
ctx.fillStyle = lineColor
235238
}
236239

237240
ctx.fillText(
@@ -248,6 +251,7 @@ export default function ProductsPageClient({ products }: { products: ProductCont
248251

249252
// Draw current line with cursor
250253
const currentLineY = this.y + terminalConfig.padding + 40 + this.text.length * terminalConfig.charSize
254+
ctx.fillStyle = terminalConfig.textColors[this.text.length % terminalConfig.textColors.length]
251255
ctx.fillText(this.currentLine, this.x + terminalConfig.padding, currentLineY, maxWidth)
252256

253257
// Draw cursor

src/app/tutorials/page.tsx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import { ContentCard } from '@/components/ContentCard'
55
import { Container } from '@/components/Container'
66
import { createMetadata } from '@/utils/createMetadata'
77
import { Content } from '@/types'
8+
import Link from 'next/link'
89

910
// Base metadata using createMetadata
1011
const baseMetadata = createMetadata({
@@ -54,6 +55,10 @@ export default async function TutorialsPage() {
5455
<p className="mt-6 text-base text-gray-700 dark:text-gray-300">
5556
Here you&apos;ll find in-depth tutorials and learning resources covering various technologies and concepts in software engineering and AI.
5657
</p>
58+
<p className="mt-4 text-sm text-gray-600 dark:text-gray-400">
59+
Looking for complete, project-based guides? Browse our{' '}
60+
<Link href="/products" className="underline font-medium text-blue-700 dark:text-blue-300">digital products</Link>.
61+
</p>
5762
</header>
5863
<div className="mt-16 sm:mt-20">
5964
{tutorials.length > 0 && (

src/components/ConsultancyNav.jsx

Lines changed: 29 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -9,28 +9,37 @@ import { AuthStatus } from './AuthStatus'
99

1010
// Export navigation items to be used in components
1111
export const navItems = [
12-
{ name: 'Services', dropdown: [
13-
{ name: 'Custom Gen AI Solutions', href: '/services' },
14-
{ name: '90-Day AI Team Transformation', href: '/ai-training' }
15-
]},
16-
{ name: 'Work', dropdown: [
17-
{ name: 'Products', href: '/products' },
18-
{ name: 'Case Studies', href: '/projects' },
19-
{ name: 'Demos', href: '/demos' },
20-
{ name: 'Collections', href: '/collections' }
21-
]},
22-
{ name: 'Insights', dropdown: [
23-
{ name: 'Blog', href: '/blog' },
24-
{ name: 'Research', href: '/publications' },
25-
{ name: 'Tutorials', href: '/tutorials' },
26-
{ name: 'Videos', href: '/videos' },
27-
{ name: 'Vector Databases', href: '/vectordatabases' },
28-
{ name: 'Comparisons', href: '/comparisons' },
29-
{ name: 'Chat', href: '/chat' }
30-
]},
12+
{
13+
name: 'Services',
14+
dropdown: [
15+
{ name: 'Custom Gen AI Solutions', href: '/services' },
16+
{ name: '90-Day AI Team Transformation', href: '/ai-training' },
17+
],
18+
},
19+
{
20+
name: 'Products',
21+
dropdown: [
22+
{ name: 'All Products', href: '/products' },
23+
{ name: 'Tutorials', href: '/tutorials' },
24+
{ name: 'Case Studies', href: '/projects' },
25+
{ name: 'Demos', href: '/demos' },
26+
{ name: 'Collections', href: '/collections' },
27+
],
28+
},
29+
{
30+
name: 'Resources',
31+
dropdown: [
32+
{ name: 'Blog', href: '/blog' },
33+
{ name: 'Research', href: '/publications' },
34+
{ name: 'Videos', href: '/videos' },
35+
{ name: 'Vector Databases', href: '/vectordatabases' },
36+
{ name: 'Comparisons', href: '/comparisons' },
37+
{ name: 'Chat', href: '/chat' },
38+
],
39+
},
3140
{ name: 'About', href: '/about' },
3241
{ name: 'Testimonials', href: '/testimonials' },
33-
{ name: 'Contact', href: '/contact' }
42+
{ name: 'Contact', href: '/contact' },
3443
];
3544

3645
function DropdownMenu({ label, items }) {

0 commit comments

Comments
 (0)