Commit graph

5 commits

Author SHA1 Message Date
oskar 8c54b6004c feat: dodaj podstronę /platforma (nadzór nad systemami agentowymi)
Nowa podstrona produktowa zbudowana wg wzorca PrivacyPolicyPage: własny
komponent, własna ścieżka w App.tsx, header z linkiem powrotu, wspólna stopka.
Bez i18n — treść po polsku, spójnie z resztą serwisu poza contact.*/privacy.*.

Sekcje "Dla domu" / "Dla firm" jako dwie karty obok siebie (dwie ścieżki,
jeden rdzeń). CTA na dole prowadzi do /#contact.

Podlinkowania:
- karta oferty "Multiagent Systems & Infrastructure" dostaje link
  "Zobacz jak to działa" → /platforma (opcjonalne pole `link` w offerings)
- nawigacja "Platforma" w Header.tsx i Footer.tsx przepięta z #process
  na /platforma

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-31 14:49:06 +02:00
oskar e0557a7d76 feat: dodaj stronę polityki prywatności (PL+EN) z routingiem
- nginx.conf: SPA fallback (try_files → index.html), bez niego /privacy zwracało 404
- Dockerfile: kopiuje nginx.conf do kontenera
- i18n/pl.ts + en.ts: nowa sekcja `privacy` z 6 podsekcjami (admin, formularz, Umami analytics, cookies, prawa, zmiany)
- PrivacyPolicyPage.tsx: strona polityki używająca useT(), sekcje z kotwicami (controller/contact/analytics/cookies/rights/changes)
- App.tsx: prosty routing po window.location.pathname — /privacy → PrivacyPolicyPage
- Footer.tsx: /privacy i /privacy#cookies zamiast martwych href="#"

Co do sekcji Umami: napisana na podstawie kodu (self-hosted stats.gethumanai.pl, cookie-free). Zweryfikuj treść przed publikacją.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-25 12:53:49 +02:00
Oskar Kapala 7a6e399379 front: dodaj support@gethumanai.pl obok hello@gethumanai.pl w stopce kontaktu
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 16:46:45 +02:00
Oskar Kapala 09b9bf90bd front: poprawny adres kontaktowy + walidacja formularza
- zamiana wszystkich adresów e-mail @gethumanai.com -> @gethumanai.pl
  (CTASection, Footer, i18n pl/en)
- walidacja po stronie klienta przed wysłaniem (name niepuste,
  email zawiera "@", message >= 5 znaków — zgodne z mailer.mjs)
- mapowanie kodów błędów mailera na czytelne komunikaty w i18n (pl/en),
  pokazywane zamiast generycznego błędu; honeypot company bez zmian

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 16:26:22 +02:00
Oskar Kapala a8bb798d03 Complete landing page implementation: all sections, responsive design, SEO
Co-authored-by: Junie <junie@jetbrains.com>
2026-05-12 19:10:59 +02:00