6 Commits

Author SHA1 Message Date
joachimhummel
565cdf975c Update the website's favicon to a branded monogram
Replace the existing favicon SVG with a new one featuring a JH monogram in the brand's indigo color.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 6f3329ae-2dcc-46cc-bf2e-f58b7a5fa805
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Event-Id: 197782a0-f55c-4162-8d73-04f8aa2d0421
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/e678fe28-87ab-4437-945b-7a15e872a292/6f3329ae-2dcc-46cc-bf2e-f58b7a5fa805/vRxTy2Z
Replit-Helium-Checkpoint-Created: true
2026-05-15 17:14:31 +00:00
joachimhummel
25d9767bdf feat(portfolio): optimize navbar and experience section for mobile
Task: Seite für Besucher auf Mobilgeräten optimieren (#7)

## Desktop navbar
- Added "Mehr" dropdown grouping secondary links (Kompetenzen, Stärken,
  Skills) to keep the primary nav bar uncluttered (Projekte, Erfahrung,
  Über mich stay as primary links)
- Dropdown is click-activated with chevron indicator and closes on
  outside click; all links include data-testid attributes
- No link wrapping possible with this structure on any common desktop width

## Mobile menu
- Replaced flat link list with two logical section groups:
  - "Profil": Über mich, Kompetenzen, Stärken
  - "Erfahrung & Skills": Projekte, Erfahrung, Skills
- Each group has a small uppercase label as a visual divider
- Kontakt CTA remains at the bottom separated by a border
- All 6 page sections are now reachable from the mobile menu

## Timeline cards (experience.tsx)
- Shifted timeline spine from left-6 to left-5 freeing 4px of card width
- Reduced left padding from pl-14 to pl-11 on mobile, giving ~12px extra
  card width — critical at 320–375px viewports
- Added p-3.5 sm:p-5 so cards use tighter inner padding on very small
  screens (< 640px) and normal padding on larger ones
- Added break-words + min-w-0 to role, client, and task text to prevent
  horizontal overflow from long German compound words
- Wrapped task text in a <span> so flex layout doesn't clip overflow

Replit-Task-Id: 51a5a369-3f27-4245-903a-4dc59ee1a842

## No content changes — all section copy, order, and data is unchanged
2026-05-15 16:19:25 +00:00
joachimhummel
be2a2340b3 Add link to n8n automation project card
Add a URL to the existing "KI-Automation mit n8n" project card in the projects section.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 6f3329ae-2dcc-46cc-bf2e-f58b7a5fa805
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Event-Id: b37e4d96-6b19-408a-b84e-a92d8f3d7c1d
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/e678fe28-87ab-4437-945b-7a15e872a292/6f3329ae-2dcc-46cc-bf2e-f58b7a5fa805/vRxTy2Z
Replit-Helium-Checkpoint-Created: true
2026-05-15 16:13:20 +00:00
joachimhummel
e9f0d1ed98 Merged changes from o10aupva/main
Replit-Task-Id: 96838fc6-bf00-4a8d-ae18-84ba08feec56
2026-05-15 16:11:01 +00:00
joachimhummel
6840b32713 feat: add downloadable German CV PDF to portfolio hero section
Task: Downloadbarer Lebenslauf als PDF (#5)

Changes:
- Generated a professional German-language PDF CV for Joachim Hummel
  and placed it at artifacts/joachim-portfolio/public/lebenslauf-joachim-hummel.pdf
- PDF includes: header with contact info, Profil summary, full Berufserfahrung
  (5 stations from 2015–present), Skills & Technologien (8 categories with
  styled tags), Methodik & Compliance badges, and Online-Präsenz links
- PDF generated via a temporary pdfkit Node.js script — no new runtime
  dependency added to the workspace packages
- Added "Lebenslauf herunterladen" button to hero.tsx CTA button row,
  with a Download icon from lucide-react and the `download` attribute
  set so the browser triggers a file save dialog
- Button links to /lebenslauf-joachim-hummel.pdf (served from Vite public/)
  and is fully accessible on mobile

No deviations from the task spec.

Replit-Task-Id: 476fd3be-9524-477c-a069-edf58213f2e2
2026-05-15 15:54:22 +00:00
joachimhummel
67f0e12a21 Create a professional portfolio website for Joachim Hummel
Implement a React-Vite portfolio website for Joachim Hummel, featuring sections for bio, competencies, projects, and contact information.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 6f3329ae-2dcc-46cc-bf2e-f58b7a5fa805
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Event-Id: 93e1822d-6468-4db0-9e37-4f1f19334ba5
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/e678fe28-87ab-4437-945b-7a15e872a292/6f3329ae-2dcc-46cc-bf2e-f58b7a5fa805/MG2yXVH
Replit-Helium-Checkpoint-Created: true
2026-05-15 15:27:21 +00:00