diff --git a/public/Apella JAK 2026 - Netz/IMG_20260112_122240.jpg b/public/Apella JAK 2026 - Netz/IMG_20260112_122240.jpg new file mode 100644 index 0000000..792fdea Binary files /dev/null and b/public/Apella JAK 2026 - Netz/IMG_20260112_122240.jpg differ diff --git a/public/Apella JAK 2026 - Netz/IMG_20260112_135738.jpg b/public/Apella JAK 2026 - Netz/IMG_20260112_135738.jpg new file mode 100644 index 0000000..5b59953 Binary files /dev/null and b/public/Apella JAK 2026 - Netz/IMG_20260112_135738.jpg differ diff --git a/public/Apella JAK 2026 - Netz/IMG_20260112_155035.jpg b/public/Apella JAK 2026 - Netz/IMG_20260112_155035.jpg new file mode 100644 index 0000000..5a5fd78 Binary files /dev/null and b/public/Apella JAK 2026 - Netz/IMG_20260112_155035.jpg differ diff --git a/public/Apella JAK 2026 - Netz/IMG_20260112_160838.jpg b/public/Apella JAK 2026 - Netz/IMG_20260112_160838.jpg new file mode 100644 index 0000000..6f23942 Binary files /dev/null and b/public/Apella JAK 2026 - Netz/IMG_20260112_160838.jpg differ diff --git a/public/Apella JAK 2026 - Netz/IMG_20260112_202540.jpg b/public/Apella JAK 2026 - Netz/IMG_20260112_202540.jpg new file mode 100644 index 0000000..b509f59 Binary files /dev/null and b/public/Apella JAK 2026 - Netz/IMG_20260112_202540.jpg differ diff --git a/public/Apella JAK 2026 - Netz/IMG_20260112_210524.jpg b/public/Apella JAK 2026 - Netz/IMG_20260112_210524.jpg new file mode 100644 index 0000000..33cd615 Binary files /dev/null and b/public/Apella JAK 2026 - Netz/IMG_20260112_210524.jpg differ diff --git a/public/Apella JAK 2026 - Netz/IMG_20260112_210741.jpg b/public/Apella JAK 2026 - Netz/IMG_20260112_210741.jpg new file mode 100644 index 0000000..05eda97 Binary files /dev/null and b/public/Apella JAK 2026 - Netz/IMG_20260112_210741.jpg differ diff --git a/public/Apella JAK 2026 - Netz/IMG_20260112_215330.jpg b/public/Apella JAK 2026 - Netz/IMG_20260112_215330.jpg new file mode 100644 index 0000000..194db70 Binary files /dev/null and b/public/Apella JAK 2026 - Netz/IMG_20260112_215330.jpg differ diff --git a/public/Apella JAK 2026 - Netz/IMG_20260113_083109.jpg b/public/Apella JAK 2026 - Netz/IMG_20260113_083109.jpg new file mode 100644 index 0000000..5054c9b Binary files /dev/null and b/public/Apella JAK 2026 - Netz/IMG_20260113_083109.jpg differ diff --git a/public/Apella JAK 2026 - Netz/IMG_20260113_100119.jpg b/public/Apella JAK 2026 - Netz/IMG_20260113_100119.jpg new file mode 100644 index 0000000..dffe646 Binary files /dev/null and b/public/Apella JAK 2026 - Netz/IMG_20260113_100119.jpg differ diff --git a/public/Apella JAK 2026 - Netz/IMG_20260113_112257.jpg b/public/Apella JAK 2026 - Netz/IMG_20260113_112257.jpg new file mode 100644 index 0000000..136a87d Binary files /dev/null and b/public/Apella JAK 2026 - Netz/IMG_20260113_112257.jpg differ diff --git a/public/Apella JAK 2026 - Netz/IMG_20260113_154012.jpg b/public/Apella JAK 2026 - Netz/IMG_20260113_154012.jpg new file mode 100644 index 0000000..220952b Binary files /dev/null and b/public/Apella JAK 2026 - Netz/IMG_20260113_154012.jpg differ diff --git a/public/Apella JAK 2026 - Netz/IMG_20260113_155639.jpg b/public/Apella JAK 2026 - Netz/IMG_20260113_155639.jpg new file mode 100644 index 0000000..60a01ab Binary files /dev/null and b/public/Apella JAK 2026 - Netz/IMG_20260113_155639.jpg differ diff --git a/public/Apella JAK 2026 - Netz/IMG_20260113_172616.jpg b/public/Apella JAK 2026 - Netz/IMG_20260113_172616.jpg new file mode 100644 index 0000000..cec35ab Binary files /dev/null and b/public/Apella JAK 2026 - Netz/IMG_20260113_172616.jpg differ diff --git a/public/Apella JAK 2026 - Netz/IMG_20260113_174352.jpg b/public/Apella JAK 2026 - Netz/IMG_20260113_174352.jpg new file mode 100644 index 0000000..f01300c Binary files /dev/null and b/public/Apella JAK 2026 - Netz/IMG_20260113_174352.jpg differ diff --git a/public/Apella JAK 2026 - Netz/IMG_20260113_174458.jpg b/public/Apella JAK 2026 - Netz/IMG_20260113_174458.jpg new file mode 100644 index 0000000..ab118ba Binary files /dev/null and b/public/Apella JAK 2026 - Netz/IMG_20260113_174458.jpg differ diff --git a/public/Apella JAK 2026 - Netz/IMG_20260113_182406.jpg b/public/Apella JAK 2026 - Netz/IMG_20260113_182406.jpg new file mode 100644 index 0000000..959b1e5 Binary files /dev/null and b/public/Apella JAK 2026 - Netz/IMG_20260113_182406.jpg differ diff --git a/public/Apella JAK 2026 - Netz/IMG_20260113_192944.jpg b/public/Apella JAK 2026 - Netz/IMG_20260113_192944.jpg new file mode 100644 index 0000000..928c124 Binary files /dev/null and b/public/Apella JAK 2026 - Netz/IMG_20260113_192944.jpg differ diff --git a/public/Apella JAK 2026 - Netz/IMG_20260113_202153.jpg b/public/Apella JAK 2026 - Netz/IMG_20260113_202153.jpg new file mode 100644 index 0000000..3957ee5 Binary files /dev/null and b/public/Apella JAK 2026 - Netz/IMG_20260113_202153.jpg differ diff --git a/public/Apella JAK 2026 - Netz/IMG_20260113_202953.jpg b/public/Apella JAK 2026 - Netz/IMG_20260113_202953.jpg new file mode 100644 index 0000000..0575636 Binary files /dev/null and b/public/Apella JAK 2026 - Netz/IMG_20260113_202953.jpg differ diff --git a/public/Apella JAK 2026 - Netz/IMG_20260113_204032.jpg b/public/Apella JAK 2026 - Netz/IMG_20260113_204032.jpg new file mode 100644 index 0000000..7947ed9 Binary files /dev/null and b/public/Apella JAK 2026 - Netz/IMG_20260113_204032.jpg differ diff --git a/public/Apella JAK 2026 - Netz/IMG_20260113_215851.jpg b/public/Apella JAK 2026 - Netz/IMG_20260113_215851.jpg new file mode 100644 index 0000000..b50cce6 Binary files /dev/null and b/public/Apella JAK 2026 - Netz/IMG_20260113_215851.jpg differ diff --git a/public/Apella JAK 2026 - Netz/IMG_20260113_221331.jpg b/public/Apella JAK 2026 - Netz/IMG_20260113_221331.jpg new file mode 100644 index 0000000..60f6b66 Binary files /dev/null and b/public/Apella JAK 2026 - Netz/IMG_20260113_221331.jpg differ diff --git a/public/Apella JAK 2026 - Netz/IMG_20260113_221423.jpg b/public/Apella JAK 2026 - Netz/IMG_20260113_221423.jpg new file mode 100644 index 0000000..0e6a53a Binary files /dev/null and b/public/Apella JAK 2026 - Netz/IMG_20260113_221423.jpg differ diff --git a/public/Apella JAK 2026 - Netz/IMG_20260113_233726.jpg b/public/Apella JAK 2026 - Netz/IMG_20260113_233726.jpg new file mode 100644 index 0000000..27755e4 Binary files /dev/null and b/public/Apella JAK 2026 - Netz/IMG_20260113_233726.jpg differ diff --git a/public/Apella JAK 2026 - Netz/IMG_20260114_090240.jpg b/public/Apella JAK 2026 - Netz/IMG_20260114_090240.jpg new file mode 100644 index 0000000..a538bab Binary files /dev/null and b/public/Apella JAK 2026 - Netz/IMG_20260114_090240.jpg differ diff --git a/public/Apella JAK 2026 - Netz/IMG_20260114_111818.jpg b/public/Apella JAK 2026 - Netz/IMG_20260114_111818.jpg new file mode 100644 index 0000000..8d59ed3 Binary files /dev/null and b/public/Apella JAK 2026 - Netz/IMG_20260114_111818.jpg differ diff --git a/public/Apella JAK 2026 - Netz/IMG_20260114_121822.jpg b/public/Apella JAK 2026 - Netz/IMG_20260114_121822.jpg new file mode 100644 index 0000000..0b73b38 Binary files /dev/null and b/public/Apella JAK 2026 - Netz/IMG_20260114_121822.jpg differ diff --git a/public/Apella JAK 2026 - Netz/IMG_20260115_180510.jpg b/public/Apella JAK 2026 - Netz/IMG_20260115_180510.jpg new file mode 100644 index 0000000..731d547 Binary files /dev/null and b/public/Apella JAK 2026 - Netz/IMG_20260115_180510.jpg differ diff --git a/public/Apella JAK 2026 - Netz/IMG_20260115_181038.jpg b/public/Apella JAK 2026 - Netz/IMG_20260115_181038.jpg new file mode 100644 index 0000000..251c58c Binary files /dev/null and b/public/Apella JAK 2026 - Netz/IMG_20260115_181038.jpg differ diff --git a/public/Apella JAK 2026 - Netz/IMG_20260115_190642.jpg b/public/Apella JAK 2026 - Netz/IMG_20260115_190642.jpg new file mode 100644 index 0000000..639f50f Binary files /dev/null and b/public/Apella JAK 2026 - Netz/IMG_20260115_190642.jpg differ diff --git a/public/Apella JAK 2026 - Netz/IMG_20260115_191432.jpg b/public/Apella JAK 2026 - Netz/IMG_20260115_191432.jpg new file mode 100644 index 0000000..962c5fd Binary files /dev/null and b/public/Apella JAK 2026 - Netz/IMG_20260115_191432.jpg differ diff --git a/public/Apella JAK 2026 - Netz/IMG_20260115_213330.jpg b/public/Apella JAK 2026 - Netz/IMG_20260115_213330.jpg new file mode 100644 index 0000000..319b9e0 Binary files /dev/null and b/public/Apella JAK 2026 - Netz/IMG_20260115_213330.jpg differ diff --git a/public/Apella JAK 2026 - Netz/IMG_20260115_213831.jpg b/public/Apella JAK 2026 - Netz/IMG_20260115_213831.jpg new file mode 100644 index 0000000..8d07858 Binary files /dev/null and b/public/Apella JAK 2026 - Netz/IMG_20260115_213831.jpg differ diff --git a/public/Apella JAK 2026 - Netz/IMG_20260116_095250.jpg b/public/Apella JAK 2026 - Netz/IMG_20260116_095250.jpg new file mode 100644 index 0000000..369d758 Binary files /dev/null and b/public/Apella JAK 2026 - Netz/IMG_20260116_095250.jpg differ diff --git a/public/Apella JAK 2026 - Netz/IMG_20260116_095702.jpg b/public/Apella JAK 2026 - Netz/IMG_20260116_095702.jpg new file mode 100644 index 0000000..6ffa024 Binary files /dev/null and b/public/Apella JAK 2026 - Netz/IMG_20260116_095702.jpg differ diff --git a/public/Apella JAK 2026 - Netz/IMG_20260116_095711.jpg b/public/Apella JAK 2026 - Netz/IMG_20260116_095711.jpg new file mode 100644 index 0000000..5730273 Binary files /dev/null and b/public/Apella JAK 2026 - Netz/IMG_20260116_095711.jpg differ diff --git a/public/Apella JAK 2026 - Netz/IMG_20260116_095807.jpg b/public/Apella JAK 2026 - Netz/IMG_20260116_095807.jpg new file mode 100644 index 0000000..7b8fdc7 Binary files /dev/null and b/public/Apella JAK 2026 - Netz/IMG_20260116_095807.jpg differ diff --git a/public/Apella JAK 2026 - Netz/IMG_20260116_100253.jpg b/public/Apella JAK 2026 - Netz/IMG_20260116_100253.jpg new file mode 100644 index 0000000..d51de87 Binary files /dev/null and b/public/Apella JAK 2026 - Netz/IMG_20260116_100253.jpg differ diff --git a/public/Apella JAK 2026 - Netz/IMG_20260116_102634.jpg b/public/Apella JAK 2026 - Netz/IMG_20260116_102634.jpg new file mode 100644 index 0000000..3441ad0 Binary files /dev/null and b/public/Apella JAK 2026 - Netz/IMG_20260116_102634.jpg differ diff --git a/public/Apella JAK 2026 - Netz/IMG_20260116_134652.jpg b/public/Apella JAK 2026 - Netz/IMG_20260116_134652.jpg new file mode 100644 index 0000000..c404f2c Binary files /dev/null and b/public/Apella JAK 2026 - Netz/IMG_20260116_134652.jpg differ diff --git a/public/Apella JAK 2026 - Netz/IMG_20260116_135136.jpg b/public/Apella JAK 2026 - Netz/IMG_20260116_135136.jpg new file mode 100644 index 0000000..50ee6c2 Binary files /dev/null and b/public/Apella JAK 2026 - Netz/IMG_20260116_135136.jpg differ diff --git a/public/Apella JAK 2026 - Netz/IMG_20260116_145649.jpg b/public/Apella JAK 2026 - Netz/IMG_20260116_145649.jpg new file mode 100644 index 0000000..d6442c2 Binary files /dev/null and b/public/Apella JAK 2026 - Netz/IMG_20260116_145649.jpg differ diff --git a/public/Apella JAK 2026 - Netz/IMG_20260116_145751.jpg b/public/Apella JAK 2026 - Netz/IMG_20260116_145751.jpg new file mode 100644 index 0000000..4c48376 Binary files /dev/null and b/public/Apella JAK 2026 - Netz/IMG_20260116_145751.jpg differ diff --git a/public/Apella JAK 2026 - Netz/IMG_20260116_154145.jpg b/public/Apella JAK 2026 - Netz/IMG_20260116_154145.jpg new file mode 100644 index 0000000..2deda43 Binary files /dev/null and b/public/Apella JAK 2026 - Netz/IMG_20260116_154145.jpg differ diff --git a/public/Apella JAK 2026 - Netz/IMG_20260116_154152.jpg b/public/Apella JAK 2026 - Netz/IMG_20260116_154152.jpg new file mode 100644 index 0000000..f85bd8f Binary files /dev/null and b/public/Apella JAK 2026 - Netz/IMG_20260116_154152.jpg differ diff --git a/public/Apella JAK 2026 - Netz/IMG_20260116_161143.jpg b/public/Apella JAK 2026 - Netz/IMG_20260116_161143.jpg new file mode 100644 index 0000000..c3d4b63 Binary files /dev/null and b/public/Apella JAK 2026 - Netz/IMG_20260116_161143.jpg differ diff --git a/public/Apella JAK 2026 - Netz/IMG_20260116_161348.jpg b/public/Apella JAK 2026 - Netz/IMG_20260116_161348.jpg new file mode 100644 index 0000000..ce6549e Binary files /dev/null and b/public/Apella JAK 2026 - Netz/IMG_20260116_161348.jpg differ diff --git a/public/Apella JAK 2026 - Netz/IMG_20260116_163845.jpg b/public/Apella JAK 2026 - Netz/IMG_20260116_163845.jpg new file mode 100644 index 0000000..b804424 Binary files /dev/null and b/public/Apella JAK 2026 - Netz/IMG_20260116_163845.jpg differ diff --git a/public/Apella JAK 2026 - Netz/IMG_20260116_174800.jpg b/public/Apella JAK 2026 - Netz/IMG_20260116_174800.jpg new file mode 100644 index 0000000..3dc199b Binary files /dev/null and b/public/Apella JAK 2026 - Netz/IMG_20260116_174800.jpg differ diff --git a/public/Apella JAK 2026 - Netz/IMG_20260116_174843.jpg b/public/Apella JAK 2026 - Netz/IMG_20260116_174843.jpg new file mode 100644 index 0000000..eb8bed0 Binary files /dev/null and b/public/Apella JAK 2026 - Netz/IMG_20260116_174843.jpg differ diff --git a/public/Apella JAK 2026 - Netz/IMG_20260116_175242.jpg b/public/Apella JAK 2026 - Netz/IMG_20260116_175242.jpg new file mode 100644 index 0000000..ec99ed4 Binary files /dev/null and b/public/Apella JAK 2026 - Netz/IMG_20260116_175242.jpg differ diff --git a/public/Apella JAK 2026 - Netz/IMG_20260116_181623.jpg b/public/Apella JAK 2026 - Netz/IMG_20260116_181623.jpg new file mode 100644 index 0000000..1e11931 Binary files /dev/null and b/public/Apella JAK 2026 - Netz/IMG_20260116_181623.jpg differ diff --git a/public/Apella JAK 2026 - Netz/IMG_20260116_181927.jpg b/public/Apella JAK 2026 - Netz/IMG_20260116_181927.jpg new file mode 100644 index 0000000..edf7e4e Binary files /dev/null and b/public/Apella JAK 2026 - Netz/IMG_20260116_181927.jpg differ diff --git a/public/Apella JAK 2026 - Netz/IMG_20260116_202241.jpg b/public/Apella JAK 2026 - Netz/IMG_20260116_202241.jpg new file mode 100644 index 0000000..4c8211e Binary files /dev/null and b/public/Apella JAK 2026 - Netz/IMG_20260116_202241.jpg differ diff --git a/public/Apella JAK 2026 - Netz/IMG_20260116_202820.jpg b/public/Apella JAK 2026 - Netz/IMG_20260116_202820.jpg new file mode 100644 index 0000000..6e323c2 Binary files /dev/null and b/public/Apella JAK 2026 - Netz/IMG_20260116_202820.jpg differ diff --git a/public/Apella JAK 2026 - Netz/IMG_20260116_202829.jpg b/public/Apella JAK 2026 - Netz/IMG_20260116_202829.jpg new file mode 100644 index 0000000..d65cb5a Binary files /dev/null and b/public/Apella JAK 2026 - Netz/IMG_20260116_202829.jpg differ diff --git a/public/Apella JAK 2026 - Netz/IMG_20260116_202855.jpg b/public/Apella JAK 2026 - Netz/IMG_20260116_202855.jpg new file mode 100644 index 0000000..2c26faf Binary files /dev/null and b/public/Apella JAK 2026 - Netz/IMG_20260116_202855.jpg differ diff --git a/public/Apella JAK 2026 - Netz/IMG_20260116_203214.jpg b/public/Apella JAK 2026 - Netz/IMG_20260116_203214.jpg new file mode 100644 index 0000000..ac9327f Binary files /dev/null and b/public/Apella JAK 2026 - Netz/IMG_20260116_203214.jpg differ diff --git a/public/Apella JAK 2026 - Netz/IMG_20260116_204420.jpg b/public/Apella JAK 2026 - Netz/IMG_20260116_204420.jpg new file mode 100644 index 0000000..b5319d7 Binary files /dev/null and b/public/Apella JAK 2026 - Netz/IMG_20260116_204420.jpg differ diff --git a/public/Apella JAK 2026 - Netz/IMG_20260116_212113.jpg b/public/Apella JAK 2026 - Netz/IMG_20260116_212113.jpg new file mode 100644 index 0000000..8d11465 Binary files /dev/null and b/public/Apella JAK 2026 - Netz/IMG_20260116_212113.jpg differ diff --git a/public/Apella JAK 2026 - Netz/IMG_20260117_085621.jpg b/public/Apella JAK 2026 - Netz/IMG_20260117_085621.jpg new file mode 100644 index 0000000..7499adc Binary files /dev/null and b/public/Apella JAK 2026 - Netz/IMG_20260117_085621.jpg differ diff --git a/public/Apella JAK 2026 - Netz/Schloss-Fleesensee-Tor-16-9_01.jpg b/public/Apella JAK 2026 - Netz/Schloss-Fleesensee-Tor-16-9_01.jpg new file mode 100644 index 0000000..c9dfa0e Binary files /dev/null and b/public/Apella JAK 2026 - Netz/Schloss-Fleesensee-Tor-16-9_01.jpg differ diff --git a/public/Fotolia_551208_XS.jpg b/public/Fotolia_551208_XS.jpg new file mode 100644 index 0000000..4edc965 Binary files /dev/null and b/public/Fotolia_551208_XS.jpg differ diff --git a/public/Investmenttag 08.07.2025/516177060_1326384139487964_7465591123641085564_n.jpg b/public/Investmenttag 08.07.2025/516177060_1326384139487964_7465591123641085564_n.jpg new file mode 100644 index 0000000..fcaef19 Binary files /dev/null and b/public/Investmenttag 08.07.2025/516177060_1326384139487964_7465591123641085564_n.jpg differ diff --git a/public/Investmenttag 08.07.2025/516537835_1326384062821305_7809824982317119714_n.jpg b/public/Investmenttag 08.07.2025/516537835_1326384062821305_7809824982317119714_n.jpg new file mode 100644 index 0000000..a976eea Binary files /dev/null and b/public/Investmenttag 08.07.2025/516537835_1326384062821305_7809824982317119714_n.jpg differ diff --git a/public/Investmenttag 08.07.2025/518114994_1326383932821318_2144997613270845403_n.jpg b/public/Investmenttag 08.07.2025/518114994_1326383932821318_2144997613270845403_n.jpg new file mode 100644 index 0000000..8ed9b4e Binary files /dev/null and b/public/Investmenttag 08.07.2025/518114994_1326383932821318_2144997613270845403_n.jpg differ diff --git a/public/Investmenttag 08.07.2025/518150959_1326383976154647_3647200665327233005_n.jpg b/public/Investmenttag 08.07.2025/518150959_1326383976154647_3647200665327233005_n.jpg new file mode 100644 index 0000000..5704166 Binary files /dev/null and b/public/Investmenttag 08.07.2025/518150959_1326383976154647_3647200665327233005_n.jpg differ diff --git a/public/locales/de/agentur.json b/public/locales/de/agentur.json index 3a32a3e..8d29c28 100644 --- a/public/locales/de/agentur.json +++ b/public/locales/de/agentur.json @@ -1 +1,161 @@ -{"hero": {"kicker": "Ihr starker Partner für Sicherheit", "title": "Ihr starker Partner für Sicherheit.", "subtitle": "Unabhängige Versicherung- und Finanzberatung – persönlich, verlässlich und auf Ihre Ziele ausgerichtet.", "primaryCta": "Jetzt beraten lassen", "secondaryCta": "Unsere Leistungen"}, "tabs": {"overview": "Philosophie", "leistungen": "Leistungen", "partner": "Partner", "events": "Events", "kontakt": "Kontakt", "team": "Team", "karriere": "Karriere"}} +{ + "hero": { + "kicker": "Ihr starker Partner für Sicherheit", + "title": "Ihr starker Partner für Sicherheit.", + "subtitle": "Unabhängige Versicherung- und Finanzberatung – persönlich, verlässlich und auf Ihre Ziele ausgerichtet.", + "primaryCta": "Jetzt beraten lassen", + "secondaryCta": "Unsere Leistungen" + }, + "tabs": { + "overview": "Philosophie", + "leistungen": "Leistungen", + "partner": "Partner", + "events": "Events", + "kontakt": "Kontakt", + "links": "Links", + "wealth": "Vermögen", + "banks": "Banken", + "team": "Team", + "karriere": "Karriere" + }, + "overview": { + "badge": "Seit 1994 an Ihrer Seite", + "title": "Agentur Mizera & Partner", + "subtitle": "Versicherung, Finanzen, Beratung", + "welcomeTitle": "Herzlich willkommen", + "salutation1": "Liebe Kundinnen und Kunden,", + "salutation2": "sehr geehrte Damen und Herren,", + "p1": "Hand aufs Herz: Wann haben Sie sich zuletzt intensiv mit Ihren Versicherungen oder Finanzanlagen beschäftigt – sie verglichen oder an Ihre aktuelle Lebenssituation angepasst? Und was haben Sie dadurch in den letzten fünf, zehn oder fünfzehn Jahren tatsächlich erreicht?", + "p2": "Finanzen und Versicherungen sind Themen von großer Bedeutung, denen im Alltag jedoch oft zu wenig Aufmerksamkeit geschenkt wird. Beruf, Familie, Kinder, Hobbys und die täglichen Verpflichtungen lassen dafür kaum Raum. Schnell vergeht eine Woche, ein Monat – und schließlich ein ganzes Jahr, ohne dass notwendige Entscheidungen getroffen oder Potenziale genutzt wurden.", + "p3": "Versicherungen sind heute so vielschichtig wie nie zuvor.", + "p4": "Als unabhängiger Versicherungsfachmann (BWV), Makler habe ich zur Auswahl alle bedeutendste und wichtigen Versicherungsgesellschaften für sie. Ein Angebot richtet sich nicht nach meine Interessen sondern zur Ihre Persönliche und Berufliche, Situation, Lebenslage und zur ihre Möglichkeit.", + "p5Title": "Genau hier setze ich an.", + "p5": "Als unabhängiger Versicherungsfachmann (BWV) und Makler unterstütze ich Sie dabei, Ihre Versicherungs- und Finanzlösungen regelmäßig zu überprüfen, sinnvoll anzupassen und strategisch weiterzuentwickeln – abgestimmt auf Ihre jeweilige Lebenssituation. Gemeinsam analysieren wir, welche Veränderungen sinnvoll, notwendig oder vorteilhaft sind.", + "p6": "Mein besonderer Schwerpunkt liegt im Bereich der Finanzanlagen. Seit 1994 stehe ich im Dienst meiner Kundinnen und Kunden. Ein entscheidender Vorteil für Sie: Bestehende Verträge müssen bei Anpassungen nicht kostenintensiv gekündigt und neu abgeschlossen werden. Stattdessen prüfen wir effiziente Optimierungen innerhalb Ihrer bestehenden Strukturen.", + "p7": "Informieren Sie sich auf meiner Website über die Themen Finanzen und Versicherungen – oder lassen Sie uns Ihre Fragen und Wünsche persönlich besprechen.", + "p8Line1": "Ich freue mich darauf, Sie kompetent und verlässlich zu begleiten.", + "p8Line2": "Gerne stehe ich Ihnen zur Verfügung.", + "signatureName": "Ihr Marian-Adam Mizera", + "signatureLine1": "Versicherungsfachmann (BWV)", + "signatureLine2": "BWV - Berufsbildungswerk der Deutschen Versicherungswirtschaft (BWV) e.V.", + "signatureLine3": "Versicherungsmakler mit Erlaubnis nach § 34d Abs. 1 GewO", + "ctaContact": "Beratung vereinbaren", + "ctaServices": "Leistungen ansehen", + "ctaEvents": "Events", + "imageCaption": "Versicherung, Finanzen und Beratung – alles aus einer Hand." + }, + "contact": { + "title": "Persönliche Beratung vereinbaren", + "text": "Lassen Sie sich von unseren Experten beraten und finden Sie die optimale Versicherung- und Finanzlösung für Ihre Bedürfnisse.", + "primaryCta": "Beratung vereinbaren", + "secondaryCta": "Kontakt aufnehmen" + }, + "wealth": { + "title": "Vermögensverwaltung", + "text": "Wir unterstützen Sie bei der strukturierten Vermögensplanung – transparent, unabhängig und an Ihren Zielen ausgerichtet.", + "scopeTitle": "Leistungsumfang (Beispiel)", + "scope": [ + "Analyse Ihrer aktuellen Situation (Ziele, Risiko, Laufzeiten)", + "Strategie & Portfolio-Struktur (Diversifikation)", + "Regelmäßige Überprüfung und Anpassung", + "Transparente Kosten- und Produktübersicht" + ], + "forWhoTitle": "Für wen? (Beispiel)", + "forWho": [ + "Privatkunden mit mittel-/langfristigen Zielen", + "Selbstständige & Unternehmer", + "Familien (Absicherung + Vermögensaufbau)", + "Ruhestandsplanung" + ], + "note": "Hinweis: Sobald Sie mir die echten Banken + Links schicken, ersetze ich die Beispielbank-Liste 1:1." + }, + "events": { + "title": "Schulungen & Events", + "intro": "Schulungen und Veranstaltungen kombinieren Weiterbildung, IDD-konforme Pflichtstunden und praxisnahen Wissenstransfer – speziell für Versicherungsmakler und Finanzberater.", + "focusTitle": "Drei Themen im Fokus:", + "accordionHint": "Klicken Sie auf einen Eintrag, um Details einzublenden.", + "focusItems": [ + { + "title": "Weiterbildung & Lernprozesse", + "text": "Strukturierte Schulungen zu aktuellen Markt-, Produkt- und Rechtsthemen." + }, + { + "title": "Pflichtstunden / IDD-konforme Weiterbildung", + "text": "Anerkannte Fortbildungen zur Erfüllung der gesetzlichen Weiterbildungspflichten." + }, + { + "title": "Berufliche Essenz & Know-how", + "text": "Relevantes Praxiswissen für Beratung, Kundenkommunikation und nachhaltigen Geschäftserfolg." + } + ], + "sideImageAlt": "Schulungen und Events", + "sideText": "Ergänzt wird das Angebot durch exklusive Events an besonderen Orten, die Lernen, Austausch und Erlebnis verbinden.", + "apella": { + "imageAlt": "SCHLOSS Hotel Fleesensee 2026", + "location": "SCHLOSS Hotel Fleesensee", + "title": "Apella Jahresauftaktkongress 2026", + "meta": "12. - 17. Januar 2026 • 6 Tage", + "text": "Exklusiver Jahresauftaktkongress der Apella-Gruppe im eleganten SCHLOSS Hotel Fleesensee mit FoFo-Präsentationen und Netzwerk-Events", + "cta": "Zur Bilder-Seite" + }, + "facebook": { + "imageAlt": "Facebook Veranstaltungen und Schulungen", + "title": "Alle Veranstaltungen & Schulungen", + "text": "Aktuelle Termine und Hinweise finden Sie auf unserer Facebook-Seite.", + "cta": "Facebook öffnen" + }, + "investmenttag": { + "imageAlt": "Investmenttag 08.07.2025", + "location": "DESIGN OFFICES IN ESSEN", + "title": "Investmenttag 08.07.2025", + "text": "Die Symbiose aus KI und Investmenterfahrung" + } + }, + "services": { + "introTitle": "Leistungen der Agentur", + "introP1": "Versicherungen sind heute so vielschichtig wie nie zuvor.", + "introP2": "Als unabhängiger Versicherungsfachmann (BWV), Makler habe ich zur Auswahl alle bedeutendste und wichtigen Versicherungsgesellschaften für sie. Ein Angebot richtet sich nicht nach meine Interessen sondern zur Ihre Persönliche und Berufliche, Situation, Lebenslage und zur ihre Möglichkeit.", + "gridTitle": "Unsere Versicherungslösungen", + "iframeTitle": "Leistungen der Agentur", + "cards": { + "kfz": { + "title": "KFZ-Versicherung", + "subtitle": "Umfassende Versicherungslösungen für alle Fahrzeugtypen", + "items": ["Haftpflicht", "Vollkasko", "Teilkasko", "Insassenunfallversicherung"] + }, + "property": { + "title": "Sachversicherung", + "subtitle": "Schutz für Ihr Hab und Gut", + "items": ["Hausratversicherung", "Wohngebäudeversicherung", "Rechtsschutz"] + }, + "personal": { + "title": "Personenversicherung", + "subtitle": "Absicherung für Sie und Ihre Familie", + "items": ["Lebensversicherung", "Risikolebensversicherung", "Berufsunfähigkeitsversicherung"] + }, + "health": { + "title": "Gesundheitsversicherung", + "subtitle": "Ihre Gesundheit optimal abgesichert", + "items": ["Private Krankenversicherung", "Krankenzusatzversicherung", "Pflegezusatzversicherung"] + }, + "business": { + "title": "Betriebliche Vorsorge", + "subtitle": "Lösungen für Unternehmen und Mitarbeiter", + "items": ["Betriebliche Altersvorsorge", "Betriebliche Krankenversicherung", "Berufsgruppenlösungen"] + }, + "finance": { + "title": "Finanzberatung", + "subtitle": "Strategische Planung für Ihre Ziele", + "items": ["Vermögensaufbau", "Altersvorsorge", "Investmentplanung"] + } + } + }, + "partners": { + "title": "Partnerversicherungen", + "externalLinksHint": "Links zu externen Diensten öffnen Seiten Dritter." + }, + "investmentHouses": { + "title": "Interner Auftritt der Investmenthäuser für ihre fondsgebundenen Produkte", + "externalLinksHint": "Links zu externen Diensten öffnen Seiten Dritter." + } +} \ No newline at end of file diff --git a/public/locales/pl/agentur.json b/public/locales/pl/agentur.json index a8fe641..c40a576 100644 --- a/public/locales/pl/agentur.json +++ b/public/locales/pl/agentur.json @@ -1 +1,161 @@ -{"hero": {"kicker": "Twój silny partner w bezpieczeństwie", "title": "Twój silny partner w bezpieczeństwie.", "subtitle": "Niezależne doradztwo ubezpieczeniowe i finansowe - osobiste, niezawodne i dostosowane do Twoich celów.", "primaryCta": "Skonsultuj się teraz", "secondaryCta": "Nasze usługi"}, "tabs": {"overview": "Filozofia", "leistungen": "Usługi", "partner": "Partnerzy", "events": "Wydarzenia", "kontakt": "Kontakt", "team": "Zespół", "karriere": "Kariera"}} +{ + "hero": { + "kicker": "Twój silny partner w bezpieczeństwie", + "title": "Twój silny partner w bezpieczeństwie.", + "subtitle": "Niezależne doradztwo ubezpieczeniowe i finansowe - osobiste, niezawodne i dostosowane do Twoich celów.", + "primaryCta": "Skonsultuj się teraz", + "secondaryCta": "Nasze usługi" + }, + "tabs": { + "overview": "Filozofia", + "leistungen": "Usługi", + "partner": "Partnerzy", + "events": "Wydarzenia", + "kontakt": "Kontakt", + "links": "Linki", + "wealth": "Majątek", + "banks": "Banki", + "team": "Zespół", + "karriere": "Kariera" + }, + "overview": { + "badge": "Od 1994 roku po Twojej stronie", + "title": "Agentur Mizera & Partner", + "subtitle": "Ubezpieczenia, finanse, doradztwo", + "welcomeTitle": "Serdecznie witamy", + "salutation1": "Drodzy Klienci,", + "salutation2": "Szanowni Państwo,", + "p1": "Szczerze: kiedy ostatnio szczegółowo zajmowałeś/aś się swoimi ubezpieczeniami lub inwestycjami – porównywałeś/aś je albo dopasowywałeś/aś do aktualnej sytuacji życiowej? I co realnie osiągnąłeś/aś dzięki temu w ciągu ostatnich pięciu, dziesięciu czy piętnastu lat?", + "p2": "Finanse i ubezpieczenia to tematy o dużym znaczeniu, którym w codziennym życiu często poświęca się zbyt mało uwagi. Praca, rodzina, dzieci, hobby i codzienne obowiązki zostawiają na to niewiele miejsca. Szybko mija tydzień, miesiąc – a w końcu cały rok, bez podjęcia potrzebnych decyzji lub wykorzystania możliwości.", + "p3": "Ubezpieczenia są dziś bardziej złożone niż kiedykolwiek.", + "p4": "Jako niezależny specjalista ubezpieczeniowy (BWV) i broker mam do dyspozycji najważniejsze towarzystwa ubezpieczeniowe. Oferta nie jest tworzona pod moje interesy, lecz pod Twoją sytuację prywatną i zawodową, potrzeby i możliwości.", + "p5Title": "Właśnie tutaj wkraczam.", + "p5": "Jako niezależny specjalista ubezpieczeniowy (BWV) i broker wspieram Cię w regularnym przeglądzie, sensownym dopasowaniu oraz strategicznym rozwoju rozwiązań ubezpieczeniowych i finansowych – zgodnie z Twoją sytuacją życiową. Wspólnie analizujemy, jakie zmiany są sensowne, konieczne lub korzystne.", + "p6": "Moim szczególnym obszarem jest inwestowanie. Od 1994 roku pracuję dla moich klientów. Ważna korzyść dla Ciebie: przy zmianach nie trzeba kosztownie wypowiadać i zawierać umów od nowa. Zamiast tego szukamy skutecznych optymalizacji w istniejących strukturach.", + "p7": "Zapoznaj się na mojej stronie z tematami finansów i ubezpieczeń – albo omówmy Twoje pytania i potrzeby osobiście.", + "p8Line1": "Cieszę się, że mogę towarzyszyć Ci kompetentnie i rzetelnie.", + "p8Line2": "Chętnie jestem do dyspozycji.", + "signatureName": "Twój Marian-Adam Mizera", + "signatureLine1": "Specjalista ubezpieczeniowy (BWV)", + "signatureLine2": "BWV - Berufsbildungswerk der Deutschen Versicherungswirtschaft (BWV) e.V.", + "signatureLine3": "Broker ubezpieczeniowy z zezwoleniem zgodnie z § 34d ust. 1 GewO", + "ctaContact": "Umów konsultację", + "ctaServices": "Zobacz usługi", + "ctaEvents": "Wydarzenia", + "imageCaption": "Ubezpieczenia, finanse i doradztwo – wszystko w jednym miejscu." + }, + "contact": { + "title": "Umów osobistą konsultację", + "text": "Skonsultuj się z naszymi ekspertami i znajdź optymalne rozwiązanie ubezpieczeniowe i finansowe dopasowane do Twoich potrzeb.", + "primaryCta": "Umów konsultację", + "secondaryCta": "Skontaktuj się" + }, + "wealth": { + "title": "Zarządzanie majątkiem", + "text": "Wspieramy Cię w uporządkowanym planowaniu majątku – przejrzyście, niezależnie i zgodnie z Twoimi celami.", + "scopeTitle": "Zakres (przykład)", + "scope": [ + "Analiza aktualnej sytuacji (cele, ryzyko, horyzont)", + "Strategia i struktura portfela (dywersyfikacja)", + "Regularny przegląd i dostosowania", + "Przejrzysta informacja o kosztach i produktach" + ], + "forWhoTitle": "Dla kogo? (przykład)", + "forWho": [ + "Klienci indywidualni z celami średnio- i długoterminowymi", + "Samozatrudnieni i przedsiębiorcy", + "Rodziny (ochrona + budowanie majątku)", + "Planowanie emerytury" + ], + "note": "Uwaga: gdy prześlesz mi właściwe banki i linki, podmienię listę przykładową 1:1." + }, + "events": { + "title": "Szkolenia i wydarzenia", + "intro": "Szkolenia i wydarzenia łączą rozwój, godziny obowiązkowe zgodne z IDD oraz praktyczny transfer wiedzy – szczególnie dla brokerów ubezpieczeniowych i doradców finansowych.", + "focusTitle": "Trzy tematy w centrum:", + "accordionHint": "Kliknij pozycję, aby zobaczyć szczegóły.", + "focusItems": [ + { + "title": "Rozwój i procesy uczenia", + "text": "Ustrukturyzowane szkolenia z aktualnych tematów rynkowych, produktowych i prawnych." + }, + { + "title": "Godziny obowiązkowe / szkolenia zgodne z IDD", + "text": "Uznane szkolenia pomagające spełnić ustawowe obowiązki dokształcania." + }, + { + "title": "Esencja zawodowa i know-how", + "text": "Praktyczna wiedza dla doradztwa, komunikacji z klientem i trwałego sukcesu." + } + ], + "sideImageAlt": "Szkolenia i wydarzenia", + "sideText": "Ofertę uzupełniają ekskluzywne wydarzenia w wyjątkowych miejscach, łączące naukę, wymianę i doświadczenie.", + "apella": { + "imageAlt": "SCHLOSS Hotel Fleesensee 2026", + "location": "SCHLOSS Hotel Fleesensee", + "title": "Apella – kongres otwarcia roku 2026", + "meta": "12–17 stycznia 2026 • 6 dni", + "text": "Ekskluzywny kongres otwarcia roku grupy Apella w eleganckim SCHLOSS Hotel Fleesensee z prezentacjami FoFo i wydarzeniami networkingowymi.", + "cta": "Zobacz galerię" + }, + "facebook": { + "imageAlt": "Facebook – wydarzenia i szkolenia", + "title": "Wszystkie wydarzenia i szkolenia", + "text": "Aktualne terminy i informacje znajdziesz na naszej stronie na Facebooku.", + "cta": "Otwórz Facebook" + }, + "investmenttag": { + "imageAlt": "Investmenttag 08.07.2025", + "location": "DESIGN OFFICES W ESSEN", + "title": "Investmenttag 08.07.2025", + "text": "Synergia sztucznej inteligencji i doświadczenia inwestycyjnego" + } + }, + "services": { + "introTitle": "Usługi agencji", + "introP1": "Ubezpieczenia są dziś bardziej złożone niż kiedykolwiek.", + "introP2": "Jako niezależny specjalista ubezpieczeniowy (BWV) i broker mam do dyspozycji najważniejsze towarzystwa ubezpieczeniowe. Oferta nie jest tworzona pod moje interesy, lecz pod Twoją sytuację prywatną i zawodową, potrzeby i możliwości.", + "gridTitle": "Nasze rozwiązania ubezpieczeniowe", + "iframeTitle": "Usługi agencji", + "cards": { + "kfz": { + "title": "Ubezpieczenie samochodu", + "subtitle": "Kompleksowe rozwiązania dla wszystkich typów pojazdów", + "items": ["OC", "AC", "Częściowe AC", "Ubezpieczenie NNW pasażerów"] + }, + "property": { + "title": "Ubezpieczenia majątkowe", + "subtitle": "Ochrona Twojego mienia", + "items": ["Ubezpieczenie mienia domowego", "Ubezpieczenie budynku", "Ochrona prawna"] + }, + "personal": { + "title": "Ubezpieczenia osobowe", + "subtitle": "Zabezpieczenie dla Ciebie i Twojej rodziny", + "items": ["Ubezpieczenie na życie", "Ubezpieczenie terminowe", "Ubezpieczenie niezdolności do pracy"] + }, + "health": { + "title": "Ubezpieczenia zdrowotne", + "subtitle": "Twoje zdrowie optymalnie zabezpieczone", + "items": ["Prywatne ubezpieczenie zdrowotne", "Ubezpieczenie dodatkowe", "Ubezpieczenie pielęgnacyjne"] + }, + "business": { + "title": "Programy pracownicze", + "subtitle": "Rozwiązania dla firm i pracowników", + "items": ["Pracownicza emerytura", "Pracownicze ubezpieczenie zdrowotne", "Rozwiązania dla grup zawodowych"] + }, + "finance": { + "title": "Doradztwo finansowe", + "subtitle": "Strategiczne planowanie Twoich celów", + "items": ["Budowanie majątku", "Emerytura", "Plan inwestycyjny"] + } + } + }, + "partners": { + "title": "Ubezpieczyciele partnerscy", + "externalLinksHint": "Linki do zewnętrznych usług otwierają strony podmiotów trzecich." + }, + "investmentHouses": { + "title": "Strony inwestycyjnych instytucji (produkty funduszowe)", + "externalLinksHint": "Linki do zewnętrznych usług otwierają strony podmiotów trzecich." + } +} \ No newline at end of file diff --git a/src/App.tsx b/src/App.tsx index afcbba0..9029707 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -18,6 +18,7 @@ import Senioren from "./pages/Senioren"; import Geschaeftskunden from "./pages/Geschaeftskunden"; import Finanzen from "./pages/Finanzen"; import Agentur from "./pages/Agentur"; +import AgenturEventFleesensee from "./pages/AgenturEventFleesensee"; import Service from "./pages/Service"; import Hausrat from "./pages/hausrat"; import Unfall from "./pages/unfall"; @@ -133,6 +134,7 @@ const App = () => { } /> } /> } /> + } /> Test-Route funktioniert! Agentur-Test} /> } /> } /> diff --git a/src/components/Disclaimer.tsx b/src/components/Disclaimer.tsx index ea010ea..3a695f5 100644 --- a/src/components/Disclaimer.tsx +++ b/src/components/Disclaimer.tsx @@ -1,7 +1,9 @@ -import React from 'react'; import { AlertTriangle } from 'lucide-react'; +import { useTranslation } from 'react-i18next'; const Disclaimer = () => { + const { t } = useTranslation('common'); + return (
@@ -9,9 +11,12 @@ const Disclaimer = () => {
-

Wichtiger Hinweis:

+

{t('generalNotice.title', 'Wichtiger Hinweis:')}

- Die auf diesen Seiten enthaltenen Tipps und Informationen stellen allgemeine, unverbindliche Hinweise zu Versicherungen dar. Es handelt sich um eine private Meinungsäußerung ohne Anspruch auf Richtigkeit, Vollständigkeit oder Haftung und ersetzt keine individuelle Beratung. Maßgeblich sind ausschließlich die jeweiligen Versicherungsbedingungen des Versicherungsunternehmens. + {t( + 'generalNotice.text', + 'Die auf diesen Seiten enthaltenen Tipps und Informationen stellen allgemeine, unverbindliche Hinweise zu Versicherungen dar. Es handelt sich um eine private Meinungsäußerung ohne Anspruch auf Richtigkeit, Vollständigkeit oder Haftung und ersetzt keine individuelle Beratung. Maßgeblich sind ausschließlich die jeweiligen Versicherungsbedingungen des Versicherungsunternehmens.' + )}

diff --git a/src/components/Footer.tsx b/src/components/Footer.tsx index df2eeee..39fb614 100644 --- a/src/components/Footer.tsx +++ b/src/components/Footer.tsx @@ -85,6 +85,7 @@ const Footer = () => { const base = [ { id: 'home', to: '/', label: tNav('home', 'Startseite'), icon: Home }, { id: 'contact', to: '/contact#contact', label: tNav('contact', 'Kontakt'), icon: Phone }, + { id: 'events', to: '/agentur?tab=events', label: tNav('events', 'Events'), icon: MessageCircle }, { id: 'privacy', to: '/datenschutz', label: tNav('privacy', 'Datenschutz'), icon: Shield }, { id: 'imprint', to: '/impressum', label: tNav('imprint', 'Impressum'), icon: FileText }, { id: 'car', to: '/kfz', label: tNav('car', 'Kfz-Versicherung'), icon: Truck }, diff --git a/src/components/Header.tsx b/src/components/Header.tsx index 9de7f3b..1e0e20c 100644 --- a/src/components/Header.tsx +++ b/src/components/Header.tsx @@ -1,7 +1,7 @@ import { useState } from 'react'; import { Link, useLocation, useNavigate } from 'react-router-dom'; import { useTranslation } from 'react-i18next'; -import { Menu, X, Phone, Home, Shield, FileText, Truck, Users, Search, Accessibility } from 'lucide-react'; +import { Menu, X, Phone, Home, Shield, FileText, Truck, Users, Search, Accessibility, MapPin, Calendar } from 'lucide-react'; import { Button } from '@/components/ui/button'; import LanguageSwitcher from '@/components/LanguageSwitcher'; import AccessibilityBar from '@/components/AccessibilityBar'; @@ -24,6 +24,61 @@ const Header = () => { { name: t('health', 'Gesundheit'), href: '/gesundheitsvorsorge', icon: Shield }, ]; + const familySubItems = [ + { name: t('health', 'Gesundheit'), href: '/familien-kinder/gesundheit', icon: Shield }, + { name: t('travel', 'Reise'), href: '/familien-kinder/reise', icon: Shield }, + { name: t('prevention', 'Vorsorge'), href: '/familien-kinder/vorsorge', icon: Shield }, + ]; + + const seniorSubItems = [ + { name: t('retirementProvision', 'Altersvorsorge'), href: '/senioren-altersvorsorge', icon: Shield }, + { name: t('health', 'Gesundheit'), href: '/senioren-gesundheitsvorsorge', icon: Shield }, + { name: t('riskProtection', 'Risikoschutz'), href: '/senioren-risikoschutz', icon: Shield }, + { name: t('funeralInsurance', 'Sterbegeld'), href: '/senioren-sterbegeldversicherung', icon: Shield }, + ]; + + const businessSubItems = [ + { name: t('fleetInsurance', 'Flottenversicherung'), href: '/geschaeftskunden/flottenversicherung', icon: Truck }, + { name: t('companyPension', 'Betriebsrente'), href: '/geschaeftskunden/betriebsrente', icon: FileText }, + { name: t('liabilityInsurance', 'Betriebshaftpflicht'), href: '/geschaeftskunden/betriebshaftpflicht', icon: Shield }, + { name: t('cyberInsurance', 'Cyber-Versicherung'), href: '/geschaeftskunden/cyber-versicherung', icon: Shield }, + ]; + + const financeSubItems = [ + { name: t('savingsAccount', 'Tagesgeld'), href: '/tagesgeld', icon: FileText }, + { name: t('investmentSavingsPlan', 'Investmentsparplan'), href: '/investmentsparplan', icon: FileText }, + { name: t('depots', 'Depots'), href: '/depots', icon: FileText }, + { name: t('financing', 'Finanzierung'), href: '/finanzierung', icon: FileText }, + ]; + + const agencySubItems = [ + { name: t('philosophy', 'Philosophie'), href: '/agentur?tab=overview', icon: Shield }, + { name: t('events', 'Events'), href: '/agentur?tab=events', icon: Calendar }, + { name: t('partners', 'Partner'), href: '/agentur?tab=philosophie', icon: Users }, + { name: t('wealth', 'Vermögen'), href: '/agentur?tab=vermoegensverwaltung', icon: FileText }, + ]; + + const contactSubItems = [ + { name: t('contact', 'Kontakt'), href: '/contact?tab=contact', icon: Phone }, + { name: t('map', 'Karte'), href: '/contact?tab=card', icon: MapPin }, + { name: t('service', 'Service'), href: '/contact?tab=service', icon: Shield }, + { name: t('faq', 'FAQ'), href: '/contact?tab=faq', icon: FileText }, + ]; + + const normalizeHrefBasePath = (href: string) => href.split('?')[0].split('#')[0]; + + const getSubItems = (href: string) => { + const base = normalizeHrefBasePath(href); + if (base === '/privatkunden') return privateSubItems; + if (base === '/familien-kinder') return familySubItems; + if (base === '/senioren') return seniorSubItems; + if (base === '/geschaeftskunden') return businessSubItems; + if (base === '/finanzen') return financeSubItems; + if (base === '/agentur') return agencySubItems; + if (base === '/contact') return contactSubItems; + return null; + }; + const navigation = [ { name: t('home'), href: '/', icon: Home }, { name: t('privateCustomers'), href: '/privatkunden', icon: Users }, @@ -35,13 +90,19 @@ const Header = () => { const rightMenuItems = [ { name: t('agency'), href: '/agentur', icon: Shield }, { name: t('finances'), href: '/finanzen', icon: FileText }, - { name: t('contact'), href: '/contact#contact', icon: Phone }, + { name: t('contact'), href: '/contact?tab=contact', icon: Phone }, ]; const searchItems = [ ...navigation, ...rightMenuItems, ...privateSubItems, + ...familySubItems, + ...seniorSubItems, + ...businessSubItems, + ...financeSubItems, + ...agencySubItems, + ...contactSubItems, { name: t('accidentInsurance', 'Unfall'), href: '/unfall', icon: Shield }, { name: t('carInsurance', 'KFZ'), href: '/kfz', icon: Truck }, { name: t('services', 'Leistungen'), href: '/leistungen', icon: FileText }, @@ -197,12 +258,13 @@ const Header = () => {
{navigation.map((item) => { const Icon = item.icon; - const isPrivatkunden = item.href === '/privatkunden'; - const isActive = isPrivatkunden - ? location.pathname === '/privatkunden' || privateSubItems.some((x) => location.pathname.startsWith(x.href)) - : location.pathname === item.href; + const subItems = getSubItems(item.href); + const baseHref = normalizeHrefBasePath(item.href); + const isActive = subItems + ? location.pathname === baseHref || subItems.some((x) => location.pathname.startsWith(normalizeHrefBasePath(x.href))) + : location.pathname === baseHref; - if (!isPrivatkunden) { + if (!subItems) { return ( {
- {privateSubItems.map((sub) => ( + {subItems.map((sub) => ( {
{rightMenuItems.map((item) => { const Icon = item.icon; - const isActive = location.pathname === item.href; + const subItems = getSubItems(item.href); + const baseHref = normalizeHrefBasePath(item.href); + const isActive = subItems + ? location.pathname === baseHref || subItems.some((x) => location.pathname.startsWith(normalizeHrefBasePath(x.href))) + : location.pathname === baseHref; + + if (!subItems) { + return ( + + + {item.name} + + ); + } return ( - - - {item.name} - +
+ + + {item.name} + + +
+
+ {subItems.map((sub) => ( + + + {sub.name} + + ))} +
+
+
); })}
@@ -305,7 +408,11 @@ const Header = () => { {[...navigation, ...rightMenuItems].map((item) => { const Icon = item.icon; - const isActive = location.pathname === item.href; + const subItems = getSubItems(item.href); + const baseHref = normalizeHrefBasePath(item.href); + const isActive = subItems + ? location.pathname === baseHref || subItems.some((x) => location.pathname.startsWith(normalizeHrefBasePath(x.href))) + : location.pathname === baseHref; return (
@@ -322,15 +429,15 @@ const Header = () => { {item.name} - {item.href === '/privatkunden' && ( + {subItems && (
- {privateSubItems.map((sub) => ( + {subItems.map((sub) => ( setIsMenuOpen(false)} className={`flex items-center gap-2 px-3 py-2 rounded-md text-sm font-medium transition-colors ${ - location.pathname.startsWith(sub.href) + location.pathname.startsWith(normalizeHrefBasePath(sub.href)) ? 'text-blue-600 bg-blue-50' : 'text-gray-700 hover:text-blue-600 hover:bg-gray-50' }`} diff --git a/src/components/LanguageSwitcher.tsx b/src/components/LanguageSwitcher.tsx index e8e9710..74e07ca 100644 --- a/src/components/LanguageSwitcher.tsx +++ b/src/components/LanguageSwitcher.tsx @@ -1,19 +1,50 @@ +import { useEffect, useMemo, useRef, useState } from 'react'; import { useTranslation } from 'react-i18next'; const LanguageSwitcher = () => { const { i18n } = useTranslation(); + const namespaces = useMemo(() => { + return Array.isArray(i18n.options.ns) + ? (i18n.options.ns as string[]) + : typeof i18n.options.ns === 'string' + ? [i18n.options.ns] + : ['common']; + }, [i18n]); + + const didPreloadRef = useRef(false); + + const [selected, setSelected] = useState((i18n.language || 'de').slice(0, 2)); + + useEffect(() => { + setSelected((i18n.language || 'de').slice(0, 2)); + }, [i18n.language]); + + useEffect(() => { + void i18n.loadLanguages(['de', 'pl']); + }, [i18n]); + + useEffect(() => { + if (didPreloadRef.current) return; + didPreloadRef.current = true; + + void i18n.loadNamespaces(namespaces); + void i18n.reloadResources(['de', 'pl'], namespaces); + }, [i18n, namespaces]); + const changeLanguage = (lng: string) => { - i18n.changeLanguage(lng); + setSelected(lng); + localStorage.setItem('i18nextLng', lng); + void i18n.changeLanguage(lng); }; - const current = (i18n.language || 'de').slice(0, 2); + const current = selected; const baseBtn = - 'inline-flex items-center gap-2 h-9 px-3 rounded-full border border-gray-200 bg-white text-sm font-semibold transition-colors'; + 'inline-flex items-center gap-2 h-9 px-3 rounded-full border border-gray-200 bg-white text-sm font-semibold'; - const activeBtn = 'bg-blue-50 text-blue-700 border-blue-200'; - const inactiveBtn = 'text-gray-700 hover:bg-gray-50'; + const activeBtn = 'text-gray-900 border-gray-400 ring-1 ring-gray-300'; + const inactiveBtn = 'text-gray-700 hover:bg-gray-50 hover:text-gray-900'; return (
diff --git a/src/components/Layout.tsx b/src/components/Layout.tsx index 6a0a651..cd0dddf 100644 --- a/src/components/Layout.tsx +++ b/src/components/Layout.tsx @@ -102,7 +102,7 @@ const Layout = ({ children }: LayoutProps) => { -
+
{showToTop && ( )} -
diff --git a/src/pages/Agentur.tsx b/src/pages/Agentur.tsx index 1b50710..c2e3730 100644 --- a/src/pages/Agentur.tsx +++ b/src/pages/Agentur.tsx @@ -1,15 +1,16 @@ import React, { useState, useEffect } from 'react'; -import { Link, useNavigate } from 'react-router-dom'; +import { Link, useNavigate, useLocation } from 'react-router-dom'; import { useTranslation } from 'react-i18next'; import { Button } from '@/components/ui/button'; -import { Shield, Users, TrendingUp, Clock, DollarSign, MapPin, Phone, Mail, Building, Briefcase, Truck, Star, Car, Home, CheckCircle, HeartPulse, LineChart, Globe, Calendar } from 'lucide-react'; +import { Shield, Users, TrendingUp, Clock, DollarSign, MapPin, Phone, Mail, Building, Briefcase, Truck, Star, Car, Home, CheckCircle, HeartPulse, LineChart, Globe, Calendar, ExternalLink } from 'lucide-react'; import Layout from '@/components/Layout'; import HeroSlider from '@/components/HeroSlider'; import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs'; -import GeneralNotice from '@/components/GeneralNotice'; +import { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from '@/components/ui/accordion'; const Agentur = () => { - const { t } = useTranslation('agentur'); + const { t } = useTranslation(['agentur', 'common']); + const location = useLocation(); const baseUrl = import.meta.env.BASE_URL; const assetUrl = (fileName: string) => `${baseUrl}${encodeURI(fileName)}`; @@ -17,6 +18,29 @@ const Agentur = () => { const [activeTab, setActiveTab] = useState('overview'); + useEffect(() => { + const params = new URLSearchParams(location.search); + const tab = params.get('tab'); + if ( + tab && + [ + 'overview', + 'events', + 'philosophie', + 'vermoegensverwaltung', + 'investmentbanken', + 'links', + 'leistungen', + 'kontakt', + ].includes(tab) + ) { + setActiveTab(tab); + setTimeout(() => { + document.getElementById('tab-section')?.scrollIntoView({ behavior: 'smooth' }); + }, 0); + } + }, [location.search]); + const partnerInsurers: Array<{ name: string; url: string; logoFile?: string }> = [ { name: 'Allianz', url: 'https://www.allianz.de/', logoFile: 'allianz.svg' }, { name: 'ARAG', url: 'https://www.arag.de/', logoFile: 'arag.svg' }, @@ -101,35 +125,35 @@ const Agentur = () => { className="relative px-2 py-2.5 text-sm font-medium rounded-lg transition-all duration-200 data-[state=active]:bg-blue-600 data-[state=active]:text-white data-[state=active]:shadow-md data-[state=inactive]:bg-white data-[state=inactive]:text-gray-600 data-[state=inactive]:hover:bg-gray-50 data-[state=inactive]:border border-gray-200 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 !outline-none !ring-0" > - Events + {t('tabs.events', 'Events')} - Finanz + {t('tabs.kontakt', 'Kontakt')} - Links + {t('tabs.links', 'Links')} - Vermögen + {t('tabs.wealth', 'Vermögen')} - Banken + {t('tabs.banks', 'Banken')}
@@ -139,56 +163,56 @@ const Agentur = () => {
- Seit 1994 an Ihrer Seite + {t('overview.badge', 'Seit 1994 an Ihrer Seite')}

- Agentur Mizera & Partner - Versicherung, Finanzen, Beratung + {t('overview.title', 'Agentur Mizera & Partner')} + + {t('overview.subtitle', 'Versicherung, Finanzen, Beratung')} +

-

Herzlich willkommen

-

Liebe Kundinnen und Kunden,

-

sehr geehrte Damen und Herren,

+

{t('overview.welcomeTitle', 'Herzlich willkommen')}

+

{t('overview.salutation1', 'Liebe Kundinnen und Kunden,')}

+

{t('overview.salutation2', 'sehr geehrte Damen und Herren,')}

+

{t('overview.p1')}

+

{t('overview.p2')}

+

{t('overview.p3')}

+

{t('overview.p4')}

+

{t('overview.p5Title')}

+

{t('overview.p5')}

+

{t('overview.p6')}

+

{t('overview.p7')}

- Hand aufs Herz: Wann haben Sie sich zuletzt intensiv mit Ihren Versicherungen oder Finanzanlagen beschäftigt – sie verglichen oder an Ihre aktuelle Lebenssituation angepasst? Und was haben Sie dadurch in den letzten fünf, zehn oder fünfzehn Jahren tatsächlich erreicht? -

-

- Finanzen und Versicherungen sind Themen von großer Bedeutung, denen im Alltag jedoch oft zu wenig Aufmerksamkeit geschenkt wird. Beruf, Familie, Kinder, Hobbys und die täglichen Verpflichtungen lassen dafür kaum Raum. Schnell vergeht eine Woche, ein Monat – und schließlich ein ganzes Jahr, ohne dass notwendige Entscheidungen getroffen oder Potenziale genutzt wurden. -

-

Versicherungen sind heute so vielschichtig wie nie zuvor.

-

- Als unabhängiger Versicherungsfachmann (BWV), Makler habe ich zur Auswahl alle bedeutendste und wichtigen Versicherungsgesellschaften für sie. Ein Angebot richtet sich nicht nach meine Interessen sondern zur Ihre Persönliche und Berufliche, Situation, Lebenslage und zur ihre Möglichkeit. -

-

Genau hier setze ich an.

-

- Als unabhängiger Versicherungsfachmann (BWV) und Makler unterstütze ich Sie dabei, Ihre Versicherungs- und Finanzlösungen regelmäßig zu überprüfen, sinnvoll anzupassen und strategisch weiterzuentwickeln – abgestimmt auf Ihre jeweilige Lebenssituation. Gemeinsam analysieren wir, welche Veränderungen sinnvoll, notwendig oder vorteilhaft sind. -

-

- Mein besonderer Schwerpunkt liegt im Bereich der Finanzanlagen. Seit 1994 stehe ich im Dienst meiner Kundinnen und Kunden. Ein entscheidender Vorteil für Sie: Bestehende Verträge müssen bei Anpassungen nicht kostenintensiv gekündigt und neu abgeschlossen werden. Stattdessen prüfen wir effiziente Optimierungen innerhalb Ihrer bestehenden Strukturen. -

-

- Informieren Sie sich auf meiner Website über die Themen Finanzen und Versicherungen – oder lassen Sie uns Ihre Fragen und Wünsche persönlich besprechen. -

-

- Ich freue mich darauf, Sie kompetent und verlässlich zu begleiten. + {t('overview.p8Line1')}
- Gerne stehe ich Ihnen zur Verfügung. + {t('overview.p8Line2')}

-

Ihr Marian-Adam Mizera

-

Versicherungsfachmann (BWV)

-

BWV - Berufsbildungswerk der Deutschen Versicherungswirtschaft (BWV) e.V.

-

Versicherungsmakler mit Erlaubnis nach § 34d Abs. 1 GewO

+

{t('overview.signatureName', 'Ihr Marian-Adam Mizera')}

+

{t('overview.signatureLine1', 'Versicherungsfachmann (BWV)')}

+

{t('overview.signatureLine2', 'BWV - Berufsbildungswerk der Deutschen Versicherungswirtschaft (BWV) e.V.')}

+

{t('overview.signatureLine3', 'Versicherungsmakler mit Erlaubnis nach § 34d Abs. 1 GewO')}

+
@@ -206,7 +230,7 @@ const Agentur = () => { />
- Versicherung, Finanzen und Beratung – alles aus einer Hand. + {t('overview.imageCaption', 'Versicherung, Finanzen und Beratung – alles aus einer Hand.')}
@@ -216,18 +240,16 @@ const Agentur = () => {
-
Leistungen der Agentur
+
{t('services.introTitle')}
-

Versicherungen sind heute so vielschichtig wie nie zuvor.

-

- Als unabhängiger Versicherungsfachmann (BWV), Makler habe ich zur Auswahl alle bedeutendste und wichtigen Versicherungsgesellschaften für sie. Ein Angebot richtet sich nicht nach meine Interessen sondern zur Ihre Persönliche und Berufliche, Situation, Lebenslage und zur ihre Möglichkeit. -

+

{t('services.introP1')}

+

{t('services.introP2')}

- Unsere Versicherungslösungen + {t('services.gridTitle')}

@@ -235,12 +257,12 @@ const Agentur = () => {
-
KFZ-Versicherung
-
- Umfassende Versicherungslösungen für alle Fahrzeugtypen -
+
{t('services.cards.kfz.title')}
+
{t('services.cards.kfz.subtitle')}
- {['Haftpflicht', 'Vollkasko', 'Teilkasko', 'Insassenunfallversicherung'].map((item) => ( + {( + t('services.cards.kfz.items', { returnObjects: true }) as unknown as string[] + ).map((item) => (
{item} @@ -253,10 +275,12 @@ const Agentur = () => {
-
Sachversicherung
-
Schutz für Ihr Hab und Gut
+
{t('services.cards.property.title')}
+
{t('services.cards.property.subtitle')}
- {['Hausratversicherung', 'Wohngebäudeversicherung', 'Rechtsschutz'].map((item) => ( + {( + t('services.cards.property.items', { returnObjects: true }) as unknown as string[] + ).map((item) => (
{item} @@ -269,10 +293,12 @@ const Agentur = () => {
-
Personenversicherung
-
Absicherung für Sie und Ihre Familie
+
{t('services.cards.personal.title')}
+
{t('services.cards.personal.subtitle')}
- {['Lebensversicherung', 'Risikolebensversicherung', 'Berufsunfähigkeitsversicherung'].map((item) => ( + {( + t('services.cards.personal.items', { returnObjects: true }) as unknown as string[] + ).map((item) => (
{item} @@ -285,10 +311,12 @@ const Agentur = () => {
-
Gesundheitsversicherung
-
Ihre Gesundheit optimal abgesichert
+
{t('services.cards.health.title')}
+
{t('services.cards.health.subtitle')}
- {['Private Krankenversicherung', 'Krankenzusatzversicherung', 'Pflegezusatzversicherung'].map((item) => ( + {( + t('services.cards.health.items', { returnObjects: true }) as unknown as string[] + ).map((item) => (
{item} @@ -301,10 +329,12 @@ const Agentur = () => {
-
Betriebliche Vorsorge
-
Lösungen für Unternehmen und Mitarbeiter
+
{t('services.cards.business.title')}
+
{t('services.cards.business.subtitle')}
- {['Betriebliche Altersvorsorge', 'Betriebliche Krankenversicherung', 'Berufsgruppenlösungen'].map((item) => ( + {( + t('services.cards.business.items', { returnObjects: true }) as unknown as string[] + ).map((item) => (
{item} @@ -317,10 +347,12 @@ const Agentur = () => {
-
Finanzberatung
-
Strategische Planung für Ihre Ziele
+
{t('services.cards.finance.title')}
+
{t('services.cards.finance.subtitle')}
- {['Vermögensaufbau', 'Altersvorsorge', 'Investmentplanung'].map((item) => ( + {( + t('services.cards.finance.items', { returnObjects: true }) as unknown as string[] + ).map((item) => (
{item} @@ -332,7 +364,7 @@ const Agentur = () => {