diff --git a/src/components/Footer.tsx b/src/components/Footer.tsx index caf95b7..c21873b 100644 --- a/src/components/Footer.tsx +++ b/src/components/Footer.tsx @@ -1,5 +1,6 @@ import { Card, CardContent } from "@/components/ui/card"; import { Button } from "@/components/ui/button"; +import { Link } from "react-router-dom"; import { Mail, Phone, @@ -52,29 +53,63 @@ const Footer = () => {

Schnellzugriff

diff --git a/src/components/HeroSection.tsx b/src/components/HeroSection.tsx index 00d7f72..c3efef6 100644 --- a/src/components/HeroSection.tsx +++ b/src/components/HeroSection.tsx @@ -19,7 +19,7 @@ const HeroSection = () => { {/* Content */}
-
+
{/* Clean headline with subtle color accents */}

@@ -47,30 +47,50 @@ const HeroSection = () => {

{/* Clean search box */} -
-
-
- - +
+
+
+ +
-
- - +
@@ -80,15 +100,11 @@ const HeroSection = () => { {/* Clean floating stats */}
-
+
-
500+
+
60+
Installateure
-
-
2,500+
-
Projekte
-
4.8★
Bewertung
@@ -98,19 +114,14 @@ const HeroSection = () => {
{/* SEO: Additional content section for better indexing */} -
+
-
+

Kostenlose Rechner

Solar- und Windenergie berechnen

-
- -

Förderprogramme

-

BAFA, KfW & kommunale Zuschüsse

-

Verifizierte Experten

diff --git a/src/components/SolarCalculator.tsx b/src/components/SolarCalculator.tsx index e21cc2c..f0dca28 100644 --- a/src/components/SolarCalculator.tsx +++ b/src/components/SolarCalculator.tsx @@ -2,7 +2,6 @@ import React, { useState, useEffect } from 'react'; import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'; import { Button } from '@/components/ui/button'; import { Input } from '@/components/ui/input'; -import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/components/ui/select'; import { HelpCircle } from 'lucide-react'; import { analyticsService, quoteService } from '@/lib/database'; @@ -290,17 +289,16 @@ const SolarCalculator = () => { Dachtyp - +
@@ -314,18 +312,17 @@ const SolarCalculator = () => { Tägliche Sonnenstunden - +
diff --git a/src/components/WindCalculator.tsx b/src/components/WindCalculator.tsx index 91be394..39e91e9 100644 --- a/src/components/WindCalculator.tsx +++ b/src/components/WindCalculator.tsx @@ -2,7 +2,6 @@ import React, { useState, useEffect } from 'react'; import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'; import { Button } from '@/components/ui/button'; import { Input } from '@/components/ui/input'; -import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/components/ui/select'; import { HelpCircle, Wind, Zap } from 'lucide-react'; import { analyticsService } from '@/lib/database'; @@ -285,17 +284,16 @@ const WindCalculator = () => { Grundstücksart - +
@@ -309,18 +307,17 @@ const WindCalculator = () => { Durchschnittliche Windgeschwindigkeit (km/h) - +
@@ -328,18 +325,17 @@ const WindCalculator = () => { Max. erlaubte Anlagenhöhe (m) - +
diff --git a/src/components/ui/select.tsx b/src/components/ui/select.tsx index fe56d4d..9d42e0f 100644 --- a/src/components/ui/select.tsx +++ b/src/components/ui/select.tsx @@ -73,9 +73,9 @@ const SelectContent = React.forwardRef< { {/* SEO: Rich content section for better indexing */}
-
+
{/* SEO Content Block 1: Installateur finden */} @@ -191,37 +191,7 @@ const Index = () => { - {/* SEO Content Block 2: Förderprogramme */} - - - - - Förderprogramme 2025 - - - -

- Aktuelle Förderungen für erneuerbare Energien: BAFA, KfW und kommunale - Zuschüsse je nach Bundesland und Projektgröße. -

-
-
- - BAFA bis 500€ für Balkonkraftwerke -
-
- - KfW-Kredite mit Tilgungszuschuss -
-
- - Kommunale Förderprogramme -
-
-
-
- - {/* SEO Content Block 3: Regionale Expertise */} + {/* SEO Content Block 2: Regionale Expertise */} @@ -271,13 +241,6 @@ const Index = () => { regionale Expertise vergleichen. Lokale Installateure kennen die regionalen Vorgaben.

-
-

Welche Förderungen gibt es 2025?

-

- BAFA-Förderung für Balkonkraftwerke (bis 500€), KfW-Kredite mit Tilgungszuschuss, - EEG-Vergütung für Überschussstrom und kommunale Zuschüsse je nach Bundesland. -

-

Was kostet eine Solar- oder Windanlage?

@@ -309,7 +272,21 @@ const Index = () => { Berechnen Sie Ihre Solareinsparungen und vergleichen Sie Angebote

@@ -319,7 +296,21 @@ const Index = () => { Windenergie berechnen: Ertrag, Kosten & Angebote vergleichen

diff --git a/src/pages/InstallateurFinden.tsx b/src/pages/InstallateurFinden.tsx index 967635c..c3553a8 100644 --- a/src/pages/InstallateurFinden.tsx +++ b/src/pages/InstallateurFinden.tsx @@ -1,9 +1,8 @@ import { useState, useEffect } from "react"; -import { useSearchParams } from "react-router-dom"; +import { useSearchParams, Link } from "react-router-dom"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; -import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select"; import { Badge } from "@/components/ui/badge"; import { Search, MapPin, Star, Phone, Mail, Globe, Filter, AlertCircle, Calculator, Award, Shield, TrendingUp, Map, Users, Clock, CheckCircle } from "lucide-react"; import Header from "@/components/Header"; @@ -271,38 +270,39 @@ const InstallateurFinden = () => { e.preventDefault(); // Prevent default button behavior e.stopPropagation(); // Stop event bubbling - if (currentPage >= 2) { - // After 3 clicks (30 installers), show all remaining - setShowAll(true); - setCurrentPage(0); - await loadInstallers(false); - } else { - // Load next 10 installers - const nextPage = currentPage + 1; - setCurrentPage(nextPage); + // Hard cut at 69 installers - don't load more after that + if (displayedInstallers.length >= 69) { + return; + } + + // Load next 10 installers, but limit to 69 total + const nextPage = currentPage + 1; + setCurrentPage(nextPage); + + try { + setLoading(true); + setError(null); - try { - setLoading(true); - setError(null); - - const filters = { - energyType: energyType && energyType !== "all" ? energyType : undefined, - bundesland: bundesland && bundesland !== "all" ? bundesland : undefined, - searchTerm: searchTerm || undefined, - limit: 10, - offset: nextPage * 10 - }; + const filters = { + energyType: energyType && energyType !== "all" ? energyType : undefined, + bundesland: bundesland && bundesland !== "all" ? bundesland : undefined, + searchTerm: searchTerm || undefined, + limit: 10, + offset: nextPage * 10 + }; - const result = await installerService.getInstallers(filters); - const newInstallers = [...displayedInstallers, ...(result.data || [])]; - setDisplayedInstallers(newInstallers); - setTotalInstallers(result.totalCount || 0); - } catch (err) { - console.error('Error loading more installers:', err); - setError('Fehler beim Laden weiterer Installateure. Bitte versuchen Sie es später erneut.'); - } finally { - setLoading(false); - } + const result = await installerService.getInstallers(filters); + const newInstallers = [...displayedInstallers, ...(result.data || [])]; + + // Hard cut at 69 installers + const limitedInstallers = newInstallers.slice(0, 69); + setDisplayedInstallers(limitedInstallers); + setTotalInstallers(Math.max(limitedInstallers.length, result.totalCount || 0)); + } catch (err) { + console.error('Error loading more installers:', err); + setError('Fehler beim Laden weiterer Installateure. Bitte versuchen Sie es später erneut.'); + } finally { + setLoading(false); } }; @@ -547,41 +547,39 @@ const InstallateurFinden = () => { />
- + - +
)} @@ -848,8 +846,22 @@ const InstallateurFinden = () => {

Berechnen Sie Ihre Solareinsparungen und vergleichen Sie Angebote

- @@ -858,8 +870,22 @@ const InstallateurFinden = () => {

Windenergie berechnen: Ertrag, Kosten & Angebote vergleichen

-