218 lines
7.7 KiB
JavaScript
218 lines
7.7 KiB
JavaScript
import { useState } from "react";
|
|
|
|
export default function Contact() {
|
|
const [formData, setFormData] = useState({
|
|
name: "",
|
|
email: "",
|
|
phone: "",
|
|
message: ""
|
|
});
|
|
|
|
const handleChange = (e) => {
|
|
setFormData({
|
|
...formData,
|
|
[e.target.name]: e.target.value
|
|
});
|
|
};
|
|
|
|
const handleSubmit = (e) => {
|
|
e.preventDefault();
|
|
// Here you would typically send the form data to your backend
|
|
console.log("Form submitted:", formData);
|
|
alert("Dziękujemy za wiadomość! Skontaktujemy się z Państwem wkrótce.");
|
|
setFormData({ name: "", email: "", phone: "", message: "" });
|
|
};
|
|
|
|
return (
|
|
<section id="kontakt" className="py-20 bg-gray-50">
|
|
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
|
|
{/* Header */}
|
|
<div className="text-center mb-16">
|
|
<h2 className="text-4xl font-bold text-gray-900 mb-4">
|
|
Skontaktuj się z nami
|
|
</h2>
|
|
<p className="text-xl text-gray-600 max-w-3xl mx-auto">
|
|
Masz pytania o nasze usługi? Potrzebujesz wyceny?
|
|
Skontaktuj się z nami - chętnie pomożemy!
|
|
</p>
|
|
</div>
|
|
|
|
<div className="grid lg:grid-cols-2 gap-16">
|
|
{/* Contact Information */}
|
|
<div>
|
|
<div className="bg-white rounded-2xl shadow-xl p-8 mb-8">
|
|
<h3 className="text-2xl font-bold text-gray-900 mb-6">
|
|
Nasze Biuro
|
|
</h3>
|
|
|
|
<div className="space-y-6">
|
|
<div className="flex items-start space-x-4">
|
|
<div className="flex-shrink-0 w-12 h-12 bg-blue-100 rounded-lg flex items-center justify-center">
|
|
<svg className="w-6 h-6 text-blue-600" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M17.657 16.657L13.414 20.9a1.998 1.998 0 01-2.827 0l-4.244-4.243a8 8 0 1111.314 0z" />
|
|
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M15 11a3 3 0 11-6 0 3 3 0 016 0z" />
|
|
</svg>
|
|
</div>
|
|
<div>
|
|
<h4 className="font-semibold text-gray-900 mb-1">Adres</h4>
|
|
<p className="text-gray-600">
|
|
Aleje Wolności 6<br />
|
|
II piętro<br />
|
|
33-300 Nowy Sącz
|
|
</p>
|
|
</div>
|
|
</div>
|
|
|
|
<div className="flex items-start space-x-4">
|
|
<div className="flex-shrink-0 w-12 h-12 bg-blue-100 rounded-lg flex items-center justify-center">
|
|
<svg className="w-6 h-6 text-blue-600" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M3 5a2 2 0 012-2h3.28a1 1 0 01.948.684l1.498 4.493a1 1 0 01-.502 1.21l-2.257 1.13a11.042 11.042 0 005.516 5.516l1.13-2.257a1 1 0 011.21-.502l4.493 1.498a1 1 0 01.684.949V19a2 2 0 01-2 2h-1C9.716 21 3 14.284 3 6V5z" />
|
|
</svg>
|
|
</div>
|
|
<div>
|
|
<h4 className="font-semibold text-gray-900 mb-1">Telefon</h4>
|
|
<p className="text-gray-600 space-y-1">
|
|
<a href="tel:504066513" className="block hover:text-blue-600 transition-colors">
|
|
504 066 513
|
|
</a>
|
|
<a href="tel:18442022044" className="block hover:text-blue-600 transition-colors">
|
|
18 442 02 44
|
|
</a>
|
|
</p>
|
|
</div>
|
|
</div>
|
|
|
|
<div className="flex items-start space-x-4">
|
|
<div className="flex-shrink-0 w-12 h-12 bg-blue-100 rounded-lg flex items-center justify-center">
|
|
<svg className="w-6 h-6 text-blue-600" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M3 8l7.89 4.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z" />
|
|
</svg>
|
|
</div>
|
|
<div>
|
|
<h4 className="font-semibold text-gray-900 mb-1">Email</h4>
|
|
<a
|
|
href="mailto:biuro@wastpol.pl"
|
|
className="text-gray-600 hover:text-blue-600 transition-colors"
|
|
>
|
|
biuro@wastpol.pl
|
|
</a>
|
|
</div>
|
|
</div>
|
|
|
|
<div className="flex items-start space-x-4">
|
|
<div className="flex-shrink-0 w-12 h-12 bg-blue-100 rounded-lg flex items-center justify-center">
|
|
<svg className="w-6 h-6 text-blue-600" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z" />
|
|
</svg>
|
|
</div>
|
|
<div>
|
|
<h4 className="font-semibold text-gray-900 mb-1">Godziny pracy</h4>
|
|
<p className="text-gray-600">
|
|
Pon - Pt: 8:00 - 16:00<br />
|
|
Sob - Nd: Zamknięte
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
{/* Map */}
|
|
<div className="bg-white rounded-2xl shadow-xl overflow-hidden">
|
|
<img
|
|
src="/map.png"
|
|
alt="Mapa lokalizacji Wastpol"
|
|
className="w-full h-64 object-cover"
|
|
/>
|
|
</div>
|
|
</div>
|
|
|
|
{/* Contact Form */}
|
|
<div className="bg-white rounded-2xl shadow-xl p-8">
|
|
<h3 className="text-2xl font-bold text-gray-900 mb-6">
|
|
Wyślij wiadomość
|
|
</h3>
|
|
|
|
<form onSubmit={handleSubmit} className="space-y-6">
|
|
<div>
|
|
<label htmlFor="name" className="block text-sm font-medium text-gray-700 mb-2">
|
|
Imię i nazwisko *
|
|
</label>
|
|
<input
|
|
type="text"
|
|
id="name"
|
|
name="name"
|
|
required
|
|
value={formData.name}
|
|
onChange={handleChange}
|
|
className="w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent transition-colors"
|
|
placeholder="Wpisz swoje imię i nazwisko"
|
|
/>
|
|
</div>
|
|
|
|
<div>
|
|
<label htmlFor="email" className="block text-sm font-medium text-gray-700 mb-2">
|
|
Email *
|
|
</label>
|
|
<input
|
|
type="email"
|
|
id="email"
|
|
name="email"
|
|
required
|
|
value={formData.email}
|
|
onChange={handleChange}
|
|
className="w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent transition-colors"
|
|
placeholder="twoj@email.com"
|
|
/>
|
|
</div>
|
|
|
|
<div>
|
|
<label htmlFor="phone" className="block text-sm font-medium text-gray-700 mb-2">
|
|
Telefon
|
|
</label>
|
|
<input
|
|
type="tel"
|
|
id="phone"
|
|
name="phone"
|
|
value={formData.phone}
|
|
onChange={handleChange}
|
|
className="w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent transition-colors"
|
|
placeholder="123 456 789"
|
|
/>
|
|
</div>
|
|
|
|
<div>
|
|
<label htmlFor="message" className="block text-sm font-medium text-gray-700 mb-2">
|
|
Wiadomość *
|
|
</label>
|
|
<textarea
|
|
id="message"
|
|
name="message"
|
|
required
|
|
rows={6}
|
|
value={formData.message}
|
|
onChange={handleChange}
|
|
className="w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent transition-colors"
|
|
placeholder="Opisz swoje potrzeby lub zadaj pytanie..."
|
|
></textarea>
|
|
</div>
|
|
|
|
<button
|
|
type="submit"
|
|
className="w-full bg-blue-600 hover:bg-blue-700 text-white py-3 px-6 rounded-lg font-semibold transition-all duration-300 transform hover:scale-105"
|
|
>
|
|
Wyślij wiadomość
|
|
</button>
|
|
</form>
|
|
|
|
<div className="mt-6 pt-6 border-t border-gray-200">
|
|
<p className="text-sm text-gray-500 text-center">
|
|
* Pola wymagane. Twoje dane są bezpieczne i nie będą przekazywane osobom trzecim.
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
);
|
|
}
|