diff --git a/public/about.jpg b/public/about.jpg new file mode 100644 index 0000000..6cfb0dd Binary files /dev/null and b/public/about.jpg differ diff --git a/src/components/about19.tsx b/src/components/about19.tsx index 050676e..1e7ffec 100644 --- a/src/components/about19.tsx +++ b/src/components/about19.tsx @@ -12,7 +12,7 @@ const About19 = ({ className }: About19Props) => {
@@ -20,19 +20,19 @@ const About19 = ({ className }: About19Props) => {

- We are a team of creators, thinkers, and builders who believe in - crafting experiences that truly connect. Our story is built on - passion, innovation, and the drive to bring meaningful ideas to - life. + Ich bin Matthias Meister und begleite KMU auf dem Weg zu einem + professionellen Online-Auftritt, der klar kommuniziert und + Vertrauen aufbaut.

- We ask: What’s the goal? Who’s it for? How do we make it - effortless? we begin with why, who, and how to make it better. + Mein Fokus liegt auf Websites, die nicht ueberladen wirken, + sondern Orientierung geben und den naechsten Kontakt einfach + machen.

- We aim to bring diverse minds together, turning ideas into - experiences that matter. + Sie erhalten direkte Abstimmung, klare Schritte und eine + Umsetzung, die zu Ihrem Geschaeft passt.

{ alt="avatr" />
-

John Doe

+

Matthias Meister

- Creative Director + Freelance Webdesigner

diff --git a/src/components/contact21.tsx b/src/components/contact21.tsx index 1d5711e..b89e2c5 100644 --- a/src/components/contact21.tsx +++ b/src/components/contact21.tsx @@ -17,12 +17,12 @@ import { Input } from "@/components/ui/input"; import { cn } from "@/lib/utils"; const contactFormSchema = z.object({ - name: z.string().min(1, "Name is required"), + name: z.string().min(1, "Bitte geben Sie Ihren Namen ein"), email: z .string() - .min(1, "Email is required") - .email("Please enter a valid email"), - message: z.string().min(1, "Message is required"), + .min(1, "Bitte geben Sie Ihre E-Mail ein") + .email("Bitte geben Sie eine gueltige E-Mail ein"), + message: z.string().min(1, "Bitte beschreiben Sie kurz Ihr Anliegen"), }); type ContactFormData = z.infer; @@ -62,7 +62,7 @@ const Contact21 = ({ className, onSubmit }: Contact21Props) => { setTimeout(() => setIsSubmitted(false), 5000); } catch { form.setError("root", { - message: "Something went wrong. Please try again.", + message: "Beim Senden ist etwas schiefgelaufen. Bitte versuchen Sie es erneut.", }); } }; @@ -73,9 +73,9 @@ const Contact21 = ({ className, onSubmit }: Contact21Props) => {

- We are a team of creators, thinkers, and builders who believe in - crafting experiences that truly connect.{" "} - We're here to help + Ich unterstuetze Unternehmen dabei, online professionell + aufzutreten. Schreiben Sie mir kurz, worum es geht.{" "} + Ich melde mich zeitnah

{ alt="avatar" />
-

John Doe

-

Creative Director

+

+ Matthias Meister +

+

+ Freelance Webdesigner +

- Get in Touch + Projekt anfragen

{isSubmitted && ( @@ -102,7 +106,7 @@ const Contact21 = ({ className, onSubmit }: Contact21Props) => { )} >

- Thank you! We'll be in touch soon. + Vielen Dank! Ich melde mich in Kuerze bei Ihnen.

)} @@ -137,14 +141,14 @@ const Contact21 = ({ className, onSubmit }: Contact21Props) => { render={({ field, fieldState }) => ( - Email + E-Mail {fieldState.invalid && ( @@ -160,13 +164,13 @@ const Contact21 = ({ className, onSubmit }: Contact21Props) => { render={({ field, fieldState }) => ( - Message + Nachricht {fieldState.invalid && ( @@ -189,12 +193,12 @@ const Contact21 = ({ className, onSubmit }: Contact21Props) => { {form.formState.isSubmitting ? ( <> - Sending... + Wird gesendet... ) : ( <> - Get in touch + Unverbindlich anfragen )} diff --git a/src/components/cta.tsx b/src/components/cta.tsx index 6187d0e..fe40b8c 100644 --- a/src/components/cta.tsx +++ b/src/components/cta.tsx @@ -7,18 +7,19 @@ export default function CTASection() {

- Benefit up to 33% when connecting to Sentium for 4 months or more + Lassen Sie uns ueber Ihre neue Website sprechen

- Register and start using our cloud solutions today + Ob Neuprojekt oder Redesign: Sie erhalten eine klare Empfehlung + und einen realistischen naechsten Schritt.

{/* CTA Buttons */}
- +
diff --git a/src/components/faq7.tsx b/src/components/faq7.tsx index 0e4d871..d23969e 100644 --- a/src/components/faq7.tsx +++ b/src/components/faq7.tsx @@ -9,29 +9,29 @@ import { cn } from "@/lib/utils"; const faqs = [ { - question: "What is a FAQ and why is it important?", + question: "Wie lange dauert die Umsetzung einer neuen Website?", answer: - "FAQ stands for Frequently Asked Questions. It is a list that provides answers to common questions people may have about a specific product, service, or topic.", + "Das haengt vom Umfang ab. Nach einem kurzen Erstgespraech erhalten Sie einen klaren Ablauf mit realistischem Zeitrahmen.", }, { - question: "Why should I use a FAQ on my website or app?", + question: "Unterstuetzen Sie auch bei Struktur und Texten?", answer: - "Utilizing a FAQ section on your website or app is a practical way to offer instant assistance to your users or customers. Instead of waiting for customer support responses, they can find quick answers to commonly asked questions. ", + "Ja. Ich helfe Ihnen dabei, Inhalte sinnvoll zu ordnen und Texte klar zu formulieren, damit Besucher schnell verstehen, was Sie anbieten.", }, { - question: "How do I effectively create a FAQ section?", + question: "Ist die Website auch auf dem Smartphone optimiert?", answer: - "Creating a FAQ section starts with gathering the most frequent questions you receive from your users or customers. Once you have a list, you need to write clear, detailed, and helpful answers to each question.", + "Ja. Jede Website wird responsive umgesetzt und auf gaengigen Bildschirmgroessen sauber dargestellt.", }, { - question: "What are the benefits of having a well-maintained FAQ section?", + question: "Wie laufen Korrekturen und Abstimmungen ab?", answer: - "There are numerous advantages to maintaining a robust FAQ section. Firstly, it provides immediate answers to common queries, which improves the user experience.", + "Wir stimmen zentrale Punkte frueh ab und arbeiten mit klaren Feedbackrunden, damit der Prozess planbar und effizient bleibt.", }, { - question: "How do I effectively create a FAQ section?", + question: "Was kostet eine Website fuer mein Unternehmen?", answer: - "Creating a FAQ section starts with gathering the most frequent questions you receive from your users or customers. Once you have a list, you need to write clear, detailed, and helpful answers to each question.", + "Die Kosten richten sich nach Ziel, Seitenumfang und gewuenschten Funktionen. Sie erhalten ein transparentes Angebot statt pauschaler Standardpreise.", }, ]; @@ -46,21 +46,21 @@ const Faq7 = ({ className }: Faq7Props) => {

- Need Help? + Fragen vor dem Start?
- We're here to assist. + Hier finden Sie schnelle Antworten.

- Still have questions? Feel free to contact our friendly + Falls noch etwas offen ist, schreiben Sie mir gern ueber das - support team + Kontaktformular - specialists. + .

diff --git a/src/components/feature284.tsx b/src/components/feature284.tsx index 4bb92be..1fc5593 100644 --- a/src/components/feature284.tsx +++ b/src/components/feature284.tsx @@ -6,38 +6,38 @@ import { cn } from "@/lib/utils"; const featureData = [ { - desc: "Lorem ipsum dolor sit amet consec adipisicing elit. Quisquam, quos.", + desc: "Ihre Website erklaert in wenigen Sekunden, fuer wen Sie arbeiten und was Sie konkret anbieten.", img: "https://deifkwefumgah.cloudfront.net/shadcnblocks/block/guri3/img1.jpeg", - title: "Quality", - badgeTitle: "#1 Block", + title: "Klare Positionierung", + badgeTitle: "Vorteil 01", gridClass: "md:col-span-1", }, { - desc: "Consectetur adipiscing elit sed do eiusmod tempor incididunt ut labore. Lorem ipsum dolor sit amet consec adipisicing elit.", + desc: "Ein zeitgemaesses Design sorgt fuer einen starken ersten Eindruck und passt zu Ihrem Unternehmen.", img: "https://deifkwefumgah.cloudfront.net/shadcnblocks/block/guri3/img7.jpeg", - title: "Innovation", - badgeTitle: "#2 Block", + title: "Modernes Erscheinungsbild", + badgeTitle: "Vorteil 02", gridClass: "lg:col-span-2", }, { - desc: "Ut enim ad minim veniam quis nostrud exercitation ullamco laboris.", + desc: "Ihre Inhalte funktionieren sauber auf Smartphone, Tablet und Desktop - ohne Umwege fuer Besucher.", img: "https://deifkwefumgah.cloudfront.net/shadcnblocks/block/guri3/img11.jpeg", - title: "Performance", - badgeTitle: "#3 Block", + title: "Mobil optimiert", + badgeTitle: "Vorteil 03", gridClass: "md:col-span-1 lg:row-span-2 ", }, { - desc: "Consectetur adipiscing elit sed do eiusmod tempor incididunt ut labore. Lorem ipsum dolor sit amet consec adipisicing elit.", + desc: "Klare Kontaktwege mit gut sichtbaren Handlungsaufforderungen machen den naechsten Schritt leicht.", img: "https://deifkwefumgah.cloudfront.net/shadcnblocks/block/guri3/img2.jpeg", - title: "Innovation", - badgeTitle: "#2 Block", + title: "Anfragen ohne Huerden", + badgeTitle: "Vorteil 04", gridClass: "lg:col-span-2", }, { - desc: "Duis aute irure dolor in reprehenderit in voluptate velit esse.", + desc: "Die Seite bleibt wartbar aufgebaut, damit Inhalte spaeter schnell angepasst oder erweitert werden koennen.", img: "https://deifkwefumgah.cloudfront.net/shadcnblocks/block/guri3/img4.jpeg", - title: "Reliability", - badgeTitle: "#4 Block", + title: "Pflegeleicht aufgebaut", + badgeTitle: "Vorteil 05", gridClass: "md:col-span-1", }, ]; diff --git a/src/components/footer27.tsx b/src/components/footer27.tsx index f581aa6..34bb1fc 100644 --- a/src/components/footer27.tsx +++ b/src/components/footer27.tsx @@ -13,8 +13,8 @@ interface Footer27Props { const Footer27 = ({ className }: Footer27Props) => { const socialLinks = [ - { name: "Instagram", href: "#" }, - { name: "X (Twitter)", href: "#" }, + { name: "E-Mail", href: "#" }, + { name: "LinkedIn", href: "#" }, ]; const containerVariants = { @@ -52,15 +52,15 @@ const Footer27 = ({ className }: Footer27Props) => {

- Connect with Me + Bereit fuer einen professionellen Webauftritt?

- No commitments. Just a quick chat to see if we click. + Unverbindlich, klar und ohne Verkaufsdruck.

- +
@@ -110,14 +110,14 @@ const Footer27 = ({ className }: Footer27Props) => { className="flex flex-col items-start justify-between gap-4 sm:flex-row sm:items-center" >

- © Copyright 2025. All rights Reserved. + © 2025 Matthias Meister. Alle Rechte vorbehalten.

- Made by{" "} + Website von{" "} { damping: 20, }} > - shadcnblocks + Matthias Meister
diff --git a/src/components/hero235.tsx b/src/components/hero235.tsx index afd3e13..39d4453 100644 --- a/src/components/hero235.tsx +++ b/src/components/hero235.tsx @@ -10,21 +10,21 @@ interface Hero235Props { const SERVICES = [ { icon: Sparkles, - title: "Visual Identity", + title: "Webdesign mit Klarheit", description: - "We shape visual systems that blend craft and clarity to spark recognition and connection.", + "Ein moderner Auftritt, der Ihr Unternehmen auf den ersten Blick professionell wirken laesst.", }, { icon: LayoutGrid, - title: "Interactive Experiences", + title: "Struktur und Texte", description: - "Experiences that tie design and technology together to tell your story in motion.", + "Ich unterstuetze bei Seitenstruktur und Inhalten, damit Besucher schnell verstehen, was Sie anbieten.", }, { icon: BookOpen, - title: "Workshops", + title: "Pflege und Weiterentwicklung", description: - "Hands-on sessions that adapt to your goals and help you grow with practical guidance.", + "Auf Wunsch betreue ich Ihre Website weiter, halte Inhalte aktuell und passe Details laufend an.", }, ]; @@ -58,17 +58,17 @@ const Hero235 = ({ className }: Hero235Props) => {
-
-

- Shadcnblocks. Digital craft with an eye for detail +
+

+ Eine moderne Webseite kostet kein Vermögen.

- We build clear, thoughtful interfaces that work as well as they - look. If you want a partner who turns your vision into something - real, you're in the right place. + Ich gestalte klare Unternehmenswebsites, die Vertrauen aufbauen, + Ihre Leistungen verständlich zeigen und Anfragen einfacher + machen.

diff --git a/src/components/pricing4.tsx b/src/components/pricing4.tsx index 9d6005a..5b2a46e 100644 --- a/src/components/pricing4.tsx +++ b/src/components/pricing4.tsx @@ -27,46 +27,48 @@ interface Pricing4Props { } const Pricing4 = ({ - title = "Pricing", - description = "Check out our affordable pricing plans.", + title = "Pakete für Ihre Unternehmenswebsite", + description = + "Sie wählen den passenden Leistungsumfang. Preise nenne ich transparent im Angebot - abgestimmt auf Ziele, Inhalte und Umfang.", plans = [ { - name: "Free", - badge: "Free", - monthlyPrice: "$0", - yearlyPrice: "$0", + name: "Basis", + badge: "Basis", + monthlyPrice: "auf Anfrage", + yearlyPrice: "auf Anfrage", features: [ - "Unlimited Integrations", - "Windows, Linux, Mac support", - "24/7 Support", - "Free updates", + "Bis zu 5 Inhaltsseiten", + "Individuelles Design auf Basis Ihres Unternehmensauftritts", + "Kontaktformular und rechtliche Standardseiten", + "Responsive Umsetzung für alle geraetetypischen Ansichten", ], - buttonText: "Get Started", + buttonText: "Paket anfragen", }, { - name: "Pro", - badge: "Pro", - monthlyPrice: "$29", - yearlyPrice: "$249", + name: "Plus", + badge: "Plus", + monthlyPrice: "auf Anfrage", + yearlyPrice: "auf Anfrage", features: [ - "Everything in FREE", - "Live call support every month", - "Unlimited Storage", + "Alles aus Basis plus mehr Seitenumfang", + "Unterstuetzung bei Struktur und Textfeinschliff", + "Grundlagen für SEO und schnelle Ladezeiten", + "Korrekturschleifen mit klarer Abstimmung", ], - buttonText: "Purchase", + buttonText: "Paket anfragen", }, { - name: "Elite", - badge: "Elite", - monthlyPrice: "$59", - yearlyPrice: "$549", + name: "Komplett", + badge: "Komplett", + monthlyPrice: "auf Anfrage", + yearlyPrice: "auf Anfrage", features: [ - "Everything in PRO", - "Advanced analytics", - "Custom branding", - "Unlimited users", + "Alles aus Plus plus erweiterte Inhaltsstruktur", + "Priorisierte Abstimmung waehrend der Umsetzung", + "Optionales Pflegepaket für Updates und laufende Anpassungen", + "Technische Basis fuer eine langfristig wartbare Website", ], - buttonText: "Purchase", + buttonText: "Paket anfragen", isPopular: true, }, ], @@ -90,20 +92,20 @@ const Pricing4 = ({ setIsAnnually(value === "annually") } className="w-fit shrink-0" - aria-label="Billing period" + aria-label="Leistungsvariante" > - Monthly + Projekt - Yearly + Projekt + Pflege @@ -122,10 +124,10 @@ const Pricing4 = ({

{isAnnually ? plan.yearlyPrice : plan.monthlyPrice}

-

- {isAnnually ? "Per year" : "Per month"} +

+ {isAnnually + ? "Variante: Projekt + Pflege" + : "Variante: Projekt"}

diff --git a/src/components/stats11.tsx b/src/components/stats11.tsx index 4da2c30..65ab7c1 100644 --- a/src/components/stats11.tsx +++ b/src/components/stats11.tsx @@ -13,11 +13,12 @@ const Stats11 = ({ className }: Stats11Props) => {

- Revolutionizing healthcare with AI technology. + Eine gute Unternehmenswebsite braucht keinen Hype, sondern einen + klaren Ablauf. {" "} - Our advanced diagnostic platform helps doctors make accurate - diagnoses in seconds. + Von der Struktur bis zur Veroeffentlichung arbeite ich + transparent und nachvollziehbar.

@@ -25,37 +26,37 @@ const Stats11 = ({ className }: Stats11Props) => {
- 1,000,000+ + 1

- Diagnoses Made + Ansprechpartner

- 95% + 3

- Diagnostic Accuracy + Klare Schritte

- 3,000+ + 100 %

- Healthcare Providers + Responsive

- 2.5s + Klar

- Latency + Angebot und Umfang

diff --git a/src/pages/index.astro b/src/pages/index.astro index 54acc32..1b4cdcc 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -18,7 +18,7 @@ import "@/styles/global.css"; - Matthias Meister Webdesign + Webdesign für KMU | Matthias Meister Webdesign