feat: Build Experience section with timeline (Task 8)

- Create Experience.tsx component with vertical timeline layout
- Add 5 roles from NHS and Tesco with bullet points
- ECG waveform SVG decoration beside heading
- Timeline dots filled for current roles
- Hover effects on cards (scale, shadow, left border)
- Scroll-triggered animations using useScrollReveal hook
- Responsive: hide timeline line/dots on mobile
- Fix useScrollReveal ref type for React 18+ compatibility
This commit is contained in:
2026-02-10 16:48:14 +00:00
parent ab42a5edf7
commit 09e4f92270
3 changed files with 168 additions and 8 deletions
+2 -2
View File
@@ -8,9 +8,9 @@ interface UseScrollRevealOptions {
export function useScrollReveal<T extends HTMLElement>(
options: UseScrollRevealOptions = {}
): [RefObject<T | null>, boolean] {
): [RefObject<T>, boolean] {
const { threshold = 0.15, rootMargin = '0px', triggerOnce = true } = options
const ref = useRef<T | null>(null)
const ref = useRef<T>(null)
const [isVisible, setIsVisible] = useState(false)
useEffect(() => {