-
-
+
+
{title}
@@ -43,7 +44,7 @@ const Section: React.FC = ({
{items.map((exp, index) => (
-
+
))}
@@ -58,7 +59,7 @@ const defaultIndustryExperience: ExperienceItem[] = [
icon: Wrench
},
{
- title: "Industrial Operations",
+ title: "Industrial Maintenance and Construction",
company: "Multiple Sectors",
period: "2003 - Present",
description: "Extensive experience in oil refineries, steel mills, and power generation facilities. Specialized in maintenance, repairs, and large-scale equipment installations.",
@@ -71,15 +72,15 @@ const defaultNuclearExperience: ExperienceItem[] = [
title: "Radiation Protection",
company: "Makwa-Cahill/Nuvia",
period: "2019 - Present",
- description: "Lead Radiation Protection Specialist for Bruce Nuclear's Major Component Replacement Project. Managing radiological safety for one of North America's largest nuclear refurbishment projects.",
+ description: "Radiation Protection Technician for Bruce Nuclear's Major Component Replacement Project. Managing radiological safety for one of North America's largest nuclear refurbishment projects.",
icon: Shield
},
{
- title: "Nuclear Operations",
+ title: "Nuclear Maintenance and Refurbishment",
company: "Multiple Nuclear Facilities",
period: "2003 - Present",
description: "20 years of nuclear experience including Pickering, Darlington, and Bruce Power. Specialized focus on reactor refurbishment and radiation protection for the last 8 years.",
- icon: Power
+ icon: BatteryCharging
}
];
@@ -114,8 +115,8 @@ export const Expertise: React.FC
= ({
title="Industrial Expertise"
icon={Factory}
items={defaultIndustryExperience}
- gradientFrom="blue-500"
- gradientTo="purple-500"
+ gradientFrom="cyan-500"
+ gradientTo="indigo-500"
/>
{/* Nuclear Section */}
@@ -124,8 +125,8 @@ export const Expertise: React.FC = ({
title="Nuclear Expertise"
icon={Atom}
items={nuclearExperience}
- gradientFrom="blue-500"
- gradientTo="purple-500"
+ gradientFrom="blue-600"
+ gradientTo="emerald-400"
/>
{/* Web3 Section */}
@@ -134,8 +135,8 @@ export const Expertise: React.FC = ({
title="Web3 Innovation"
icon={Database}
items={web3Experience}
- gradientFrom="blue-500"
- gradientTo="purple-500"
+ gradientFrom="purple-500"
+ gradientTo="pink-500"
/>
diff --git a/src/components/Expertise/types.ts b/src/components/Expertise/types.ts
index d0da84a..831cd51 100644
--- a/src/components/Expertise/types.ts
+++ b/src/components/Expertise/types.ts
@@ -9,6 +9,7 @@ export interface ExpertiseProps {
export interface ExperienceCardProps extends ExperienceItem {
className?: string;
+ gradientFrom?: string; // Add this for icon color customization
}
export interface SectionProps {
diff --git a/src/components/Hero/index.tsx b/src/components/Hero/index.tsx
index 90cfda5..634bb09 100644
--- a/src/components/Hero/index.tsx
+++ b/src/components/Hero/index.tsx
@@ -1,10 +1,11 @@
import React, { useState, useEffect } from 'react';
import { Terminal, ExternalLink, AtSign, Calendar, Binary } from 'lucide-react';
+import { SiFarcaster } from "react-icons/si";
import { HeroProps, QuickLink, AnimationState } from './types';
const defaultIntroText = `> const profile = {
name: "Christopher Wylde",
- alias: "boilerrat",
+ alias: "boiler, boilerrat",
roles: [
"Radiation Protection Specialist",
"Journeyman Boilermaker",
@@ -27,7 +28,7 @@ const quickLinks: QuickLink[] = [
},
{
icon: AtSign,
- label: "Contact",
+ label: "email",
href: "mailto:128boilerrat@gmail.com"
},
{
@@ -37,9 +38,9 @@ const quickLinks: QuickLink[] = [
external: true
},
{
- icon: Binary,
- label: "DAO Masons",
- href: "https://www.daomasons.com",
+ icon: SiFarcaster,
+ label: "DM on Warpcast",
+ href: "https://www.warpcast.com/boiler",
external: true
}
];
diff --git a/src/components/Hero/types.ts b/src/components/Hero/types.ts
index 20a31a3..b528b2f 100644
--- a/src/components/Hero/types.ts
+++ b/src/components/Hero/types.ts
@@ -1,4 +1,5 @@
import { LucideIcon } from 'lucide-react';
+import { IconType } from 'react-icons';
export interface HeroProps {
className?: string;
@@ -6,7 +7,7 @@ export interface HeroProps {
}
export interface QuickLink {
- icon: LucideIcon;
+ icon: LucideIcon | IconType; // Allow both Lucide and React icons
label: string;
href: string;
external?: boolean;
diff --git a/src/components/Navigation/index.tsx b/src/components/Navigation/index.tsx
index 24aa8b2..299b7e1 100644
--- a/src/components/Navigation/index.tsx
+++ b/src/components/Navigation/index.tsx
@@ -1,5 +1,5 @@
import React, { useState, useEffect, useCallback } from 'react';
-import { Home, Atom, Database, Award, Image, User, Factory } from 'lucide-react';
+import { Home, Atom, Database, Award, Image, User, Factory, Briefcase } from 'lucide-react';
import { NavItem } from '../../types';
import { NavigationProps, ScrollState } from './types';
@@ -19,9 +19,10 @@ export const Navigation: React.FC
= ({
{ id: 'nuclear', icon: Atom, label: 'Nuclear' },
{ id: 'web3', icon: Database, label: 'Web3' },
{ id: 'achievements', icon: Award, label: 'Achievements' },
+ { id: 'skills', icon: Briefcase, label: 'Skills' },
{ id: 'nfts', icon: Image, label: 'NFTs' },
{ id: 'contact', icon: User, label: 'Contact' }
- ];
+ ];
const navItems = customNavItems || defaultNavItems;
diff --git a/src/types/index.tsx b/src/types/index.tsx
index c20e87e..f5809b5 100644
--- a/src/types/index.tsx
+++ b/src/types/index.tsx
@@ -34,6 +34,12 @@ export interface TooltipProps {
}>;
}
+export interface Skills {
+ title: string;
+ description: string;
+ date: string;
+}
+
export interface NFT {
id: number;
image: string;
diff --git a/tailwind.config.js b/tailwind.config.js
index 89a305e..067b031 100644
--- a/tailwind.config.js
+++ b/tailwind.config.js
@@ -5,7 +5,33 @@ export default {
"./src/**/*.{js,ts,jsx,tsx}",
],
theme: {
- extend: {},
+ extend: {
+ fontFamily: {
+ 'courier-prime': ['Courier Prime', 'monospace'],
+ 'space-mono': ['Space Mono', 'monospace'],
+ },
+ animation: {
+ 'fade-in': 'fadeIn 0.5s ease-in forwards',
+ 'float': 'float 20s ease-in-out infinite',
+ 'float-delayed': 'floatDelayed 15s ease-in-out infinite',
+ },
+ keyframes: {
+ fadeIn: {
+ '0%': { opacity: '0' },
+ '100%': { opacity: '1' },
+ },
+ float: {
+ '0%': { transform: 'translate(0, 0)' },
+ '50%': { transform: 'translate(-10px, 10px)' },
+ '100%': { transform: 'translate(0, 0)' },
+ },
+ floatDelayed: {
+ '0%': { transform: 'translate(0, 0)' },
+ '50%': { transform: 'translate(10px, -10px)' },
+ '100%': { transform: 'translate(0, 0)' },
+ },
+ },
+ },
},
plugins: [],
}
\ No newline at end of file