Make the contact form take up the full width of the page
Remove the links column and associated imports, and update the layout in `contact.tsx` to display the contact form as a full-width element. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 6f3329ae-2dcc-46cc-bf2e-f58b7a5fa805 Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Event-Id: f505d346-be4d-4267-9827-1b3b0d1a04bb 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
This commit is contained in:
@@ -1,23 +1,11 @@
|
||||
import { motion } from "framer-motion";
|
||||
import { ExternalLink, ArrowRight, Send, CheckCircle, AlertCircle, Loader2 } from "lucide-react";
|
||||
import { Send, CheckCircle, AlertCircle, Loader2 } from "lucide-react";
|
||||
import { useState } from "react";
|
||||
import { useForm } from "react-hook-form";
|
||||
import { zodResolver } from "@hookform/resolvers/zod";
|
||||
import { z } from "zod";
|
||||
import { useSendContactMessage } from "@workspace/api-client-react";
|
||||
|
||||
const links = [
|
||||
{
|
||||
label: "n8n Automation",
|
||||
url: "https://n8n.io/creators/jhummel/",
|
||||
desc: "Workflows & Automatisierungen auf n8n.io",
|
||||
},
|
||||
{
|
||||
label: "Website",
|
||||
url: "https://joachimhummel.de",
|
||||
desc: "joachimhummel.de",
|
||||
},
|
||||
];
|
||||
|
||||
const contactSchema = z.object({
|
||||
name: z.string().min(1, "Bitte geben Sie Ihren Namen ein").max(100),
|
||||
@@ -210,35 +198,10 @@ export function Contact() {
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div className="grid grid-cols-1 md:grid-cols-2 gap-6">
|
||||
<div className="flex flex-col gap-3">
|
||||
{links.map((link) => (
|
||||
<motion.a
|
||||
key={link.label}
|
||||
href={link.url}
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
whileHover={{ scale: 1.01 }}
|
||||
className="flex items-center gap-4 px-5 py-4 rounded-xl bg-white border border-border card-hover group"
|
||||
data-testid={`link-contact-${link.label.toLowerCase().replace(/\s/g, '-')}`}
|
||||
>
|
||||
<div className="w-9 h-9 rounded-lg bg-secondary flex items-center justify-center shrink-0">
|
||||
<ExternalLink className="w-4 h-4 text-muted-foreground group-hover:text-primary transition-colors" />
|
||||
</div>
|
||||
<div className="flex-grow min-w-0">
|
||||
<p className="text-sm font-semibold text-foreground">{link.label}</p>
|
||||
<p className="text-xs text-muted-foreground truncate">{link.desc}</p>
|
||||
</div>
|
||||
<ArrowRight className="w-4 h-4 text-muted-foreground/40 group-hover:text-primary group-hover:translate-x-1 transition-all shrink-0" />
|
||||
</motion.a>
|
||||
))}
|
||||
</div>
|
||||
|
||||
<div className="rounded-2xl bg-white border border-border p-6 shadow-sm">
|
||||
<div className="rounded-2xl bg-white border border-border p-6 md:p-8 shadow-sm">
|
||||
<h3 className="text-lg font-semibold text-foreground mb-5">Direkt schreiben</h3>
|
||||
<ContactForm />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="mt-12 pt-8 border-t border-border text-center text-sm text-muted-foreground">
|
||||
Joachim Hummel — Senior IT-Consultant · München
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 310 KiB |
Reference in New Issue
Block a user