11import React from 'react' ;
22import { Header } from '../layout/Header' ;
33import { Jumbotron } from '../components/Jumbotron' ;
4- import { BlogPostGrid } from '../components/BlogPostGrid' ;
5- import type { BlogPost } from '../components/BlogPostGrid' ;
64
75import imgStyling from '../assets/styling.png' ;
8- import imgTheming from '../assets/theming.png' ;
9- import imgDocs from '../assets/docs.png' ;
10- import imgTesting from '../assets/testing.png' ;
11- import imgAssets from '../assets/assets.png' ;
126
137export interface HomeProps {
148 /** Active menu item */
159 activeMenuItem ?: string ;
1610}
1711
18- const defaultPosts : BlogPost [ ] = [
19- {
20- id : '1' ,
21- title : 'Building Scalable APIs with Node.js' ,
22- excerpt : 'A deep dive into structuring RESTful APIs for performance and maintainability at scale.' ,
23- date : 'Jan 28, 2026' ,
24- href : '#' ,
25- imageSrc : imgStyling ,
26- imageAlt : 'Styling illustration' ,
27- labels : [ { text : 'Node.js' } , { text : 'JavaScript' } , { text : 'AI' } ] ,
28- } ,
29- {
30- id : '2' ,
31- title : 'React 19: What\'s New' ,
32- excerpt : 'Exploring the latest features in React 19 and how they change the way we build UIs.' ,
33- date : 'Jan 22, 2026' ,
34- href : '#' ,
35- imageSrc : imgTheming ,
36- imageAlt : 'Theming illustration' ,
37- labels : [ { text : 'React' } , { text : 'TypeScript' } , { text : 'CSS' } ] ,
38- } ,
39- {
40- id : '3' ,
41- title : 'Mastering Drupal Contrib Modules' ,
42- excerpt : 'How to plan, build, and maintain a contrib module that the community actually uses.' ,
43- date : 'Jan 15, 2026' ,
44- href : '#' ,
45- imageSrc : imgDocs ,
46- imageAlt : 'Docs illustration' ,
47- labels : [ { text : 'Drupal' } , { text : 'PHP' } , { text : 'HTML' } ] ,
48- } ,
49- {
50- id : '4' ,
51- title : 'Unity3D Terrain Optimization' ,
52- excerpt : 'Techniques for rendering large open-world terrains without tanking your frame rate.' ,
53- date : 'Jan 8, 2026' ,
54- href : '#' ,
55- imageSrc : imgTesting ,
56- imageAlt : 'Testing illustration' ,
57- labels : [ { text : 'Unity3D' } , { text : 'Python' } , { text : 'Git' } ] ,
58- } ,
59- {
60- id : '5' ,
61- title : 'Docker for Front-End Developers' ,
62- excerpt : 'A practical guide to containerizing your dev environment and CI/CD pipeline.' ,
63- date : 'Dec 30, 2025' ,
64- href : '#' ,
65- imageSrc : imgAssets ,
66- imageAlt : 'Assets illustration' ,
67- labels : [ { text : 'Docker' } , { text : 'Bootstrap' } , { text : 'Sass' } ] ,
68- } ,
69- ] ;
70-
7112export const Home = ( { activeMenuItem = 'Home' } : HomeProps ) => {
7213 return (
7314 < div className = "page-home" >
74- < Header activeItem = { activeMenuItem } />
15+ < Header menuItems = { [ 'Home' , 'Blog' , 'Portfolio' , 'Contact' ] } activeItem = { activeMenuItem } />
7516
7617 < Jumbotron
7718 heading = { < > < span className = "jumbotron__heading-line--deep-azure" > Senior Full</ span > < br /> < span className = "jumbotron__heading-line--frost" > Stack Developer</ span > </ > }
@@ -88,7 +29,6 @@ export const Home = ({ activeMenuItem = 'Home' }: HomeProps) => {
8829 } }
8930 />
9031
91- < BlogPostGrid heading = "Blog" posts = { defaultPosts } />
9232 </ div >
9333 ) ;
9434} ;
0 commit comments