Compare commits
15 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b9a63f0fc6 | |||
| fdf07f2a24 | |||
| 4886572a14 | |||
| ca28dc5047 | |||
| 43e66bf416 | |||
| ef03615c9d | |||
| 3c39d8d459 | |||
| 17a1fc9a75 | |||
| 6dc0f9905e | |||
| 8d36a7f9cd | |||
| 41bf64043b | |||
| a9183bd3e2 | |||
| 9734e36ef4 | |||
| cfe23a3b4c | |||
| b920a10d71 |
@@ -27,7 +27,8 @@ export const metadata: Metadata = {
|
|||||||
openGraph: {
|
openGraph: {
|
||||||
title: "CoreScale - Affordable Professional Websites for Small Businesses", description: "Get a professional website for your small business starting at $250. Build trust, attract customers, and grow online with CoreScale.", type: "website", siteName: "CoreScale", images: [
|
title: "CoreScale - Affordable Professional Websites for Small Businesses", description: "Get a professional website for your small business starting at $250. Build trust, attract customers, and grow online with CoreScale.", type: "website", siteName: "CoreScale", images: [
|
||||||
{
|
{
|
||||||
url: "http://img.b2bpic.net/free-photo/joyous-coworkers-having-fun-vibrant-office-while-reviewing-financial-graphs_482257-126650.jpg", alt: "Professional website design for small businesses"},
|
url: "http://img.b2bpic.net/free-photo/joyous-coworkers-having-fun-vibrant-office-while-reviewing-financial-graphs_482257-126650.jpg", alt: "Professional website design for small businesses"
|
||||||
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
twitter: {
|
twitter: {
|
||||||
@@ -1419,4 +1420,4 @@ export default function RootLayout({
|
|||||||
</ServiceWrapper>
|
</ServiceWrapper>
|
||||||
</html>
|
</html>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
244
src/app/page.tsx
244
src/app/page.tsx
@@ -6,12 +6,39 @@ import HeroOverlay from "@/components/sections/hero/HeroOverlay";
|
|||||||
import TextSplitAbout from "@/components/sections/about/TextSplitAbout";
|
import TextSplitAbout from "@/components/sections/about/TextSplitAbout";
|
||||||
import PricingCardTwo from "@/components/sections/pricing/PricingCardTwo";
|
import PricingCardTwo from "@/components/sections/pricing/PricingCardTwo";
|
||||||
import FeatureCardThree from "@/components/sections/feature/featureCardThree/FeatureCardThree";
|
import FeatureCardThree from "@/components/sections/feature/featureCardThree/FeatureCardThree";
|
||||||
import TestimonialCardOne from "@/components/sections/testimonial/TestimonialCardOne";
|
|
||||||
import ContactFaq from "@/components/sections/contact/ContactFaq";
|
import ContactFaq from "@/components/sections/contact/ContactFaq";
|
||||||
import FooterLogoReveal from "@/components/sections/footer/FooterLogoReveal";
|
import FooterLogoReveal from "@/components/sections/footer/FooterLogoReveal";
|
||||||
import { ArrowRight, CheckCircle, Sparkles, Star } from "lucide-react";
|
import { ArrowRight, CheckCircle, Sparkles, Phone, Mail } from "lucide-react";
|
||||||
|
import { useState } from "react";
|
||||||
|
|
||||||
export default function LandingPage() {
|
export default function LandingPage() {
|
||||||
|
const [submitted, setSubmitted] = useState(false);
|
||||||
|
const [formData, setFormData] = useState({
|
||||||
|
fullName: "", businessName: "", email: "", phone: "", message: ""});
|
||||||
|
|
||||||
|
const handlePhoneClick = () => {
|
||||||
|
window.location.href = "tel:206-741-9017";
|
||||||
|
};
|
||||||
|
|
||||||
|
const handleEmailClick = () => {
|
||||||
|
window.location.href = "mailto:CoreScale.co@gmail.com";
|
||||||
|
};
|
||||||
|
|
||||||
|
const handleFormSubmit = (e: React.FormEvent) => {
|
||||||
|
e.preventDefault();
|
||||||
|
setSubmitted(true);
|
||||||
|
setFormData({
|
||||||
|
fullName: "", businessName: "", email: "", phone: "", message: ""});
|
||||||
|
setTimeout(() => setSubmitted(false), 5000);
|
||||||
|
};
|
||||||
|
|
||||||
|
const handleInputChange = (e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => {
|
||||||
|
setFormData({
|
||||||
|
...formData,
|
||||||
|
[e.target.name]: e.target.value,
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<ThemeProvider
|
<ThemeProvider
|
||||||
defaultButtonVariant="directional-hover"
|
defaultButtonVariant="directional-hover"
|
||||||
@@ -32,7 +59,6 @@ export default function LandingPage() {
|
|||||||
{ name: "About", id: "about" },
|
{ name: "About", id: "about" },
|
||||||
{ name: "Services", id: "services" },
|
{ name: "Services", id: "services" },
|
||||||
{ name: "Why We Matter", id: "why-matters" },
|
{ name: "Why We Matter", id: "why-matters" },
|
||||||
{ name: "Testimonials", id: "testimonials" },
|
|
||||||
{ name: "Contact", id: "contact" },
|
{ name: "Contact", id: "contact" },
|
||||||
]}
|
]}
|
||||||
button={{
|
button={{
|
||||||
@@ -86,7 +112,7 @@ export default function LandingPage() {
|
|||||||
plans={[
|
plans={[
|
||||||
{
|
{
|
||||||
id: "1", badge: "Website Design", badgeIcon: Sparkles,
|
id: "1", badge: "Website Design", badgeIcon: Sparkles,
|
||||||
price: "Starting at $250", subtitle: "Perfect for your first website or redesign", buttons: [
|
price: "Starting at $250", subtitle: "Professional website starting at $250 built to help your business attract more customers online", buttons: [
|
||||||
{ text: "Get Started", href: "contact" },
|
{ text: "Get Started", href: "contact" },
|
||||||
{ text: "Learn More", href: "#" },
|
{ text: "Learn More", href: "#" },
|
||||||
],
|
],
|
||||||
@@ -132,71 +158,151 @@ export default function LandingPage() {
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="testimonials" data-section="testimonials">
|
|
||||||
<TestimonialCardOne
|
|
||||||
title="What Our Clients Say"
|
|
||||||
description="Real feedback from small business owners who've grown their online presence with CoreScale. With star ratings and detailed reviews, see why our clients trust us."
|
|
||||||
tag="Client Success"
|
|
||||||
tagAnimation="slide-up"
|
|
||||||
textboxLayout="default"
|
|
||||||
useInvertedBackground={false}
|
|
||||||
gridVariant="uniform-all-items-equal"
|
|
||||||
animationType="slide-up"
|
|
||||||
carouselMode="buttons"
|
|
||||||
testimonials={[
|
|
||||||
{
|
|
||||||
id: "1", name: "Sarah Mitchell", role: "Owner", company: "Mitchell's Cleaning Services", rating: 5,
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/smiling-homosexual-man-official-suit-looking-camera-close-up-shot-happy-gay-getting-dressed-wedding-ceremony-standing-hotel-room-with-his-partner-background-love-emotion-concept_74855-22675.jpg?_wi=1", imageAlt: "Sarah Mitchell"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "2", name: "David Chen", role: "Founder", company: "Chen's Local Plumbing", rating: 5,
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/smiling-homosexual-man-official-suit-looking-camera-close-up-shot-happy-gay-getting-dressed-wedding-ceremony-standing-hotel-room-with-his-partner-background-love-emotion-concept_74855-22675.jpg?_wi=2", imageAlt: "David Chen"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "3", name: "Jennifer Rodriguez", role: "Owner", company: "Rodriguez Photography Studio", rating: 5,
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/smiling-homosexual-man-official-suit-looking-camera-close-up-shot-happy-gay-getting-dressed-wedding-ceremony-standing-hotel-room-with-his-partner-background-love-emotion-concept_74855-22675.jpg?_wi=3", imageAlt: "Jennifer Rodriguez"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "4", name: "Marcus Thompson", role: "Owner", company: "Thompson's Landscaping", rating: 5,
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/smiling-homosexual-man-official-suit-looking-camera-close-up-shot-happy-gay-getting-dressed-wedding-ceremony-standing-hotel-room-with-his-partner-background-love-emotion-concept_74855-22675.jpg?_wi=4", imageAlt: "Marcus Thompson"
|
|
||||||
},
|
|
||||||
]}
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="contact" data-section="contact">
|
<div id="contact" data-section="contact">
|
||||||
<ContactFaq
|
<section className="w-full py-20 px-4 md:px-8 lg:px-12 bg-background">
|
||||||
ctaTitle="Ready to Get Your Website?"
|
<div className="max-w-4xl mx-auto">
|
||||||
ctaDescription="Contact CoreScale today and let's discuss how we can help your business grow online. We're ready to answer your questions and get you started."
|
{/* Header */}
|
||||||
ctaButton={{
|
<div className="text-center mb-12">
|
||||||
text: "Contact Us Now", href: "mailto:CoreScale.co@gmail.com"
|
<h2 className="text-4xl md:text-5xl font-bold text-foreground mb-4">
|
||||||
}}
|
Get Your Website Started
|
||||||
ctaIcon={ArrowRight}
|
</h2>
|
||||||
useInvertedBackground={false}
|
<p className="text-lg text-foreground/80 mb-8">
|
||||||
animationType="slide-up"
|
Ready to grow your business online? Contact CoreScale today to get your professional website built quickly and affordably.
|
||||||
accordionAnimationType="smooth"
|
</p>
|
||||||
showCard={true}
|
</div>
|
||||||
faqs={[
|
|
||||||
{
|
{/* Contact Information */}
|
||||||
id: "1", title: "How much does a website cost?", content: "Website design starts at $250. This includes professional modern design, mobile-friendly layout, fast loading pages, and everything needed to build customer trust. We also offer ongoing maintenance for $50/month."
|
<div className="grid md:grid-cols-2 gap-8 mb-12">
|
||||||
},
|
<div className="flex items-center gap-4 p-6 rounded-lg bg-card">
|
||||||
{
|
<Phone className="w-8 h-8 text-primary-cta flex-shrink-0" />
|
||||||
id: "2", title: "How long does it take to get a website?", content: "It can take up to 1-2 weeks depending on the complexity and how quickly you provide content and feedback. We work efficiently to get your website live as soon as possible."
|
<div>
|
||||||
},
|
<p className="text-sm text-foreground/60 mb-1">Phone</p>
|
||||||
{
|
<a
|
||||||
id: "3", title: "Will my website work on mobile phones?", content: "Absolutely! All CoreScale websites are mobile-friendly and responsive. They look and work perfectly on smartphones, tablets, and desktop computers."
|
href="tel:206-741-9017"
|
||||||
},
|
className="text-lg font-semibold text-foreground hover:text-primary-cta transition"
|
||||||
{
|
>
|
||||||
id: "4", title: "Can I update my website myself?", content: "Yes! We design websites that are easy to manage. We can train you on how to make updates, or we offer monthly maintenance packages to handle updates for you."
|
206-741-9017
|
||||||
},
|
</a>
|
||||||
{
|
</div>
|
||||||
id: "5", title: "What if I already have a website?", content: "If your current website is outdated or not performing well, we can redesign it with modern design and better functionality. Let's discuss your needs!"
|
</div>
|
||||||
},
|
<div className="flex items-center gap-4 p-6 rounded-lg bg-card">
|
||||||
{
|
<Mail className="w-8 h-8 text-primary-cta flex-shrink-0" />
|
||||||
id: "6", title: "Do you provide support after launch?", content: "Yes! We offer ongoing support through our Website Maintenance & Edits service ($50/month). We can handle updates, improvements, and technical support to keep your site running smoothly."
|
<div>
|
||||||
},
|
<p className="text-sm text-foreground/60 mb-1">Email</p>
|
||||||
]}
|
<a
|
||||||
/>
|
href="mailto:CoreScale.co@gmail.com"
|
||||||
|
className="text-lg font-semibold text-foreground hover:text-primary-cta transition"
|
||||||
|
>
|
||||||
|
CoreScale.co@gmail.com
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{/* Contact Form */}
|
||||||
|
{!submitted ? (
|
||||||
|
<form onSubmit={handleFormSubmit} className="bg-card p-8 rounded-lg">
|
||||||
|
<div className="grid md:grid-cols-2 gap-6 mb-6">
|
||||||
|
<div>
|
||||||
|
<label htmlFor="fullName" className="block text-sm font-medium text-foreground mb-2">
|
||||||
|
Full Name
|
||||||
|
</label>
|
||||||
|
<input
|
||||||
|
type="text"
|
||||||
|
id="fullName"
|
||||||
|
name="fullName"
|
||||||
|
value={formData.fullName}
|
||||||
|
onChange={handleInputChange}
|
||||||
|
required
|
||||||
|
className="w-full px-4 py-2 rounded-lg border border-accent bg-background text-foreground focus:outline-none focus:ring-2 focus:ring-primary-cta"
|
||||||
|
placeholder="John Doe"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<label htmlFor="businessName" className="block text-sm font-medium text-foreground mb-2">
|
||||||
|
Business Name
|
||||||
|
</label>
|
||||||
|
<input
|
||||||
|
type="text"
|
||||||
|
id="businessName"
|
||||||
|
name="businessName"
|
||||||
|
value={formData.businessName}
|
||||||
|
onChange={handleInputChange}
|
||||||
|
required
|
||||||
|
className="w-full px-4 py-2 rounded-lg border border-accent bg-background text-foreground focus:outline-none focus:ring-2 focus:ring-primary-cta"
|
||||||
|
placeholder="Your Business"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="grid md:grid-cols-2 gap-6 mb-6">
|
||||||
|
<div>
|
||||||
|
<label htmlFor="email" className="block text-sm font-medium text-foreground mb-2">
|
||||||
|
Email Address
|
||||||
|
</label>
|
||||||
|
<input
|
||||||
|
type="email"
|
||||||
|
id="email"
|
||||||
|
name="email"
|
||||||
|
value={formData.email}
|
||||||
|
onChange={handleInputChange}
|
||||||
|
required
|
||||||
|
className="w-full px-4 py-2 rounded-lg border border-accent bg-background text-foreground focus:outline-none focus:ring-2 focus:ring-primary-cta"
|
||||||
|
placeholder="your@email.com"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<label htmlFor="phone" className="block text-sm font-medium text-foreground mb-2">
|
||||||
|
Phone Number
|
||||||
|
</label>
|
||||||
|
<input
|
||||||
|
type="tel"
|
||||||
|
id="phone"
|
||||||
|
name="phone"
|
||||||
|
value={formData.phone}
|
||||||
|
onChange={handleInputChange}
|
||||||
|
required
|
||||||
|
className="w-full px-4 py-2 rounded-lg border border-accent bg-background text-foreground focus:outline-none focus:ring-2 focus:ring-primary-cta"
|
||||||
|
placeholder="206-741-9017"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="mb-6">
|
||||||
|
<label htmlFor="message" className="block text-sm font-medium text-foreground mb-2">
|
||||||
|
Message
|
||||||
|
</label>
|
||||||
|
<textarea
|
||||||
|
id="message"
|
||||||
|
name="message"
|
||||||
|
value={formData.message}
|
||||||
|
onChange={handleInputChange}
|
||||||
|
required
|
||||||
|
rows={5}
|
||||||
|
className="w-full px-4 py-2 rounded-lg border border-accent bg-background text-foreground focus:outline-none focus:ring-2 focus:ring-primary-cta"
|
||||||
|
placeholder="Tell us about your business and what you're looking for in a website..."
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<button
|
||||||
|
type="submit"
|
||||||
|
className="w-full bg-primary-cta hover:bg-primary-cta/90 text-primary-cta-text font-semibold py-3 px-6 rounded-lg transition"
|
||||||
|
>
|
||||||
|
Request Website
|
||||||
|
</button>
|
||||||
|
</form>
|
||||||
|
) : (
|
||||||
|
<div className="bg-green-50 border border-green-200 rounded-lg p-8 text-center">
|
||||||
|
<p className="text-lg font-semibold text-green-800 mb-2">
|
||||||
|
Thank you for contacting CoreScale.
|
||||||
|
</p>
|
||||||
|
<p className="text-green-700">
|
||||||
|
We will reach out shortly to discuss your website.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="footer" data-section="footer">
|
<div id="footer" data-section="footer">
|
||||||
@@ -212,4 +318,4 @@ export default function LandingPage() {
|
|||||||
</div>
|
</div>
|
||||||
</ThemeProvider>
|
</ThemeProvider>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -12,11 +12,11 @@
|
|||||||
|
|
||||||
--background: #ffffff;
|
--background: #ffffff;
|
||||||
--card: #f9f9f9;
|
--card: #f9f9f9;
|
||||||
--foreground: #000f06e6;
|
--foreground: #000612e6;
|
||||||
--primary-cta: #0a7039;
|
--primary-cta: #15479c;
|
||||||
--primary-cta-text: #ffffff;
|
--primary-cta-text: #ffffff;
|
||||||
--secondary-cta: #f9f9f9;
|
--secondary-cta: #f9f9f9;
|
||||||
--secondary-cta-text: #000f06e6;
|
--secondary-cta-text: #000612e6;
|
||||||
--accent: #e2e2e2;
|
--accent: #e2e2e2;
|
||||||
--background-accent: #c4c4c4;
|
--background-accent: #c4c4c4;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user