@@ -31,7 +38,7 @@ export default function AboutSection() {
style={{ fontSize: 'clamp(1rem, 2vw, 1.35rem)' }}
/>
-
+
diff --git a/keith-portfolio/src/sections/ContactSection.tsx b/keith-portfolio/src/sections/ContactSection.tsx
new file mode 100644
index 0000000..bfc7a91
--- /dev/null
+++ b/keith-portfolio/src/sections/ContactSection.tsx
@@ -0,0 +1,47 @@
+import { ArrowUpRight, Phone } from 'lucide-react';
+import FadeIn from '../components/FadeIn';
+import ContactButton from '../components/ContactButton';
+import { profile } from '../data/content';
+
+export default function ContactSection() {
+ return (
+
+ );
+}
diff --git a/keith-portfolio/src/sections/CredentialsSection.tsx b/keith-portfolio/src/sections/CredentialsSection.tsx
new file mode 100644
index 0000000..78ce32d
--- /dev/null
+++ b/keith-portfolio/src/sections/CredentialsSection.tsx
@@ -0,0 +1,31 @@
+import FadeIn from '../components/FadeIn';
+import { certifications, education } from '../data/content';
+
+export default function CredentialsSection() {
+ return (
+
+
+
+ Credentials
+
+
+
+
+ Education
+ {education.degree}
+ {education.school}, {education.year}
+
+
+
+ {certifications.map((c, i) => (
+
+
+
{String(i + 1).padStart(2, '0')}
+
{c}
+
+
+ ))}
+
+
+ );
+}
diff --git a/keith-portfolio/src/sections/ExperienceSection.tsx b/keith-portfolio/src/sections/ExperienceSection.tsx
new file mode 100644
index 0000000..16dd492
--- /dev/null
+++ b/keith-portfolio/src/sections/ExperienceSection.tsx
@@ -0,0 +1,55 @@
+import { Check } from 'lucide-react';
+import FadeIn from '../components/FadeIn';
+import { foundations, roles } from '../data/content';
+
+export default function ExperienceSection() {
+ return (
+
+
+
+ Experience
+
+
+
+ {roles.map((r, i) => (
+
+
+
+ {r.dates}
+ {r.organisation}
+ {String(i + 1).padStart(2, '0')}
+
+
+
{r.role}
+
{r.summary}
+
+ {r.points.map((p) => (
+ -
+
+ {p}
+
+ ))}
+
+
+
+
+ ))}
+
+
+
+
Earlier foundations
+
+ {foundations.map((f) => (
+
+ {f.dates}
+ {f.role}
+ {f.organisation}
+
+ ))}
+
+
+
+
+
+ );
+}
diff --git a/jack-portfolio/src/sections/HeroSection.tsx b/keith-portfolio/src/sections/HeroSection.tsx
similarity index 58%
rename from jack-portfolio/src/sections/HeroSection.tsx
rename to keith-portfolio/src/sections/HeroSection.tsx
index 1456e6f..634d293 100644
--- a/jack-portfolio/src/sections/HeroSection.tsx
+++ b/keith-portfolio/src/sections/HeroSection.tsx
@@ -1,20 +1,20 @@
import FadeIn from '../components/FadeIn';
import Magnet from '../components/Magnet';
import ContactButton from '../components/ContactButton';
-import { portrait } from '../data/content';
+import { images, profile } from '../data/content';
const links = [
{ label: 'About', href: '#about' },
- { label: 'Price', href: '#services' },
+ { label: 'Skills', href: '#skills' },
{ label: 'Projects', href: '#projects' },
- { label: 'Contact', href: 'mailto:hello@example.com' },
+ { label: 'Contact', href: '#contact' },
];
export default function HeroSection() {
return (
-
-