Compare commits
15 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 4fdabe6503 | |||
| 4ed4bafa69 | |||
| 62b3e70a47 | |||
| 874b6e5ff9 | |||
| 69cef0d180 | |||
| b4372896e5 | |||
| 04539f463d | |||
| 8e63bbb835 | |||
| 4524650173 | |||
| 7f572cbb88 | |||
| 8c992251f1 | |||
| 45bc220067 | |||
| 4c0de3d8d2 | |||
| 2c5d3b4192 | |||
| 2f95d6751f |
@@ -1,54 +1,28 @@
|
|||||||
import type { Metadata } from "next";
|
import type { Metadata } from "next";
|
||||||
import { Mulish } from "next/font/google";
|
import { Geist, Geist_Mono } from "next/font/google";
|
||||||
import { Halant } from "next/font/google";
|
|
||||||
import { Inter } from "next/font/google";
|
|
||||||
import "./globals.css";
|
import "./globals.css";
|
||||||
import { ServiceWrapper } from "@/components/ServiceWrapper";
|
|
||||||
import Tag from "@/tag/Tag";
|
|
||||||
|
|
||||||
const mulish = Mulish({
|
const geist = Geist({
|
||||||
variable: "--font-mulish", subsets: ["latin"],
|
variable: "--font-geist-sans", subsets: ["latin"],
|
||||||
});
|
});
|
||||||
|
|
||||||
const halant = Halant({
|
const geist_mono = Geist_Mono({
|
||||||
variable: "--font-halant", subsets: ["latin"],
|
variable: "--font-geist-mono", subsets: ["latin"],
|
||||||
weight: ["300", "400", "500", "600", "700"],
|
|
||||||
});
|
|
||||||
|
|
||||||
const inter = Inter({
|
|
||||||
variable: "--font-inter", subsets: ["latin"],
|
|
||||||
});
|
});
|
||||||
|
|
||||||
export const metadata: Metadata = {
|
export const metadata: Metadata = {
|
||||||
title: "Rock Yard Joplin | Landscaping Materials & Garden Center", description: "Quality landscaping rocks, stones, mulch, and garden materials in Joplin, MO. Expert advice and competitive pricing. Visit us at 815 S Schifferdecker Ave.", keywords: "landscaping rocks, garden center, landscape materials, gravel, mulch, Joplin MO, decorative stones", robots: {
|
title: "Rock Yard - Premium Landscaping Materials", description: "Quality landscape materials for your home in Joplin"};
|
||||||
index: true,
|
|
||||||
follow: true,
|
|
||||||
},
|
|
||||||
openGraph: {
|
|
||||||
title: "Rock Yard Joplin | Premium Landscaping Materials", description: "Discover quality landscaping rocks and garden materials at Rock Yard. Serving Joplin with expert advice and fair pricing.", url: "https://rockyardjoplin.com", siteName: "Rock Yard", type: "website", images: [
|
|
||||||
{
|
|
||||||
url: "http://img.b2bpic.net/free-photo/pile-weathered-red-bricks_632498-60816.jpg", alt: "Premium landscaping rocks and materials"},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
twitter: {
|
|
||||||
card: "summary_large_image", title: "Rock Yard Joplin | Landscaping Materials", description: "Quality rocks, stones, and garden materials for your landscaping projects.", images: ["http://img.b2bpic.net/free-photo/pile-weathered-red-bricks_632498-60816.jpg"],
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
export default function RootLayout({
|
export default function RootLayout({
|
||||||
children,
|
children,
|
||||||
}: Readonly<{
|
}: {
|
||||||
children: React.ReactNode;
|
children: React.ReactNode;
|
||||||
}>) {
|
}) {
|
||||||
return (
|
return (
|
||||||
<html lang="en" suppressHydrationWarning>
|
<html lang="en">
|
||||||
<ServiceWrapper>
|
<body className={`${geist.variable} ${geist_mono.variable} antialiased`}>
|
||||||
<body
|
{children}
|
||||||
className={`${mulish.variable} ${halant.variable} ${inter.variable} antialiased`}
|
|
||||||
>
|
|
||||||
<Tag />
|
|
||||||
{children}
|
|
||||||
|
|
||||||
<script
|
<script
|
||||||
dangerouslySetInnerHTML={{
|
dangerouslySetInnerHTML={{
|
||||||
__html: `
|
__html: `
|
||||||
@@ -1416,7 +1390,6 @@ export default function RootLayout({
|
|||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</body>
|
</body>
|
||||||
</ServiceWrapper>
|
|
||||||
</html>
|
</html>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -19,7 +19,7 @@ export default function LandingPage() {
|
|||||||
borderRadius="soft"
|
borderRadius="soft"
|
||||||
contentWidth="mediumLarge"
|
contentWidth="mediumLarge"
|
||||||
sizing="largeSmallSizeLargeTitles"
|
sizing="largeSmallSizeLargeTitles"
|
||||||
background="fluid"
|
background="circleGradient"
|
||||||
cardStyle="outline"
|
cardStyle="outline"
|
||||||
primaryButtonStyle="radial-glow"
|
primaryButtonStyle="radial-glow"
|
||||||
secondaryButtonStyle="solid"
|
secondaryButtonStyle="solid"
|
||||||
@@ -35,7 +35,8 @@ export default function LandingPage() {
|
|||||||
{ name: "Contact", id: "contact" },
|
{ name: "Contact", id: "contact" },
|
||||||
]}
|
]}
|
||||||
button={{
|
button={{
|
||||||
text: "Call Now", href: "tel:(417)781-1016"}}
|
text: "Call Now", href: "tel:(417)781-1016"
|
||||||
|
}}
|
||||||
animateOnLoad={true}
|
animateOnLoad={true}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@@ -46,28 +47,34 @@ export default function LandingPage() {
|
|||||||
description="Rock Yard Joplin offers premium landscaping rocks, gravel, stone, and garden materials. Serving Joplin and surrounding areas with exceptional quality and friendly service."
|
description="Rock Yard Joplin offers premium landscaping rocks, gravel, stone, and garden materials. Serving Joplin and surrounding areas with exceptional quality and friendly service."
|
||||||
tag="Garden Center"
|
tag="Garden Center"
|
||||||
tagIcon={Sparkles}
|
tagIcon={Sparkles}
|
||||||
background={{ variant: "fluid" }}
|
background={{ variant: "radial-gradient" }}
|
||||||
buttons={[
|
buttons={[
|
||||||
{ text: "Browse Products", href: "#products" },
|
{ text: "Shop Now", href: "#products" },
|
||||||
{
|
{
|
||||||
text: "Get Directions", href: "https://maps.google.com/?q=815+S+Schifferdecker+Ave,+Joplin,+MO+64801"},
|
text: "Get Directions", href: "https://maps.google.com/?q=815+S+Schifferdecker+Ave,+Joplin,+MO+64801"
|
||||||
|
},
|
||||||
]}
|
]}
|
||||||
mediaItems={[
|
mediaItems={[
|
||||||
{
|
{
|
||||||
imageSrc:
|
imageSrc:
|
||||||
"http://img.b2bpic.net/free-photo/pile-weathered-red-bricks_632498-60816.jpg", imageAlt: "Landscaping rocks and stones"},
|
"http://img.b2bpic.net/free-photo/pile-weathered-red-bricks_632498-60816.jpg", imageAlt: "Landscaping rocks and stones"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
imageSrc:
|
imageSrc:
|
||||||
"http://img.b2bpic.net/free-photo/high-angle-pebbles-second-hand-market_23-2149338412.jpg", imageAlt: "Premium garden materials"},
|
"http://img.b2bpic.net/free-photo/high-angle-pebbles-second-hand-market_23-2149338412.jpg", imageAlt: "Premium garden materials"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
imageSrc:
|
imageSrc:
|
||||||
"http://img.b2bpic.net/free-photo/overhead-shot-beach-full-colored-stones_181624-14164.jpg", imageAlt: "Colorful landscape stones"},
|
"http://img.b2bpic.net/free-photo/overhead-shot-beach-full-colored-stones_181624-14164.jpg", imageAlt: "Colorful landscape stones"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
imageSrc:
|
imageSrc:
|
||||||
"http://img.b2bpic.net/free-photo/gardening_23-2148020456.jpg", imageAlt: "Professional landscaping supplies"},
|
"http://img.b2bpic.net/free-photo/gardening_23-2148020456.jpg", imageAlt: "Professional landscaping supplies"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
imageSrc:
|
imageSrc:
|
||||||
"http://img.b2bpic.net/free-photo/greenhouse-owner-presenting-flowers-options-potential-customer-retailer_158595-6978.jpg", imageAlt: "Garden center products"},
|
"http://img.b2bpic.net/free-photo/greenhouse-owner-presenting-flowers-options-potential-customer-retailer_158595-6978.jpg", imageAlt: "Garden center products"
|
||||||
|
},
|
||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@@ -91,16 +98,20 @@ export default function LandingPage() {
|
|||||||
products={[
|
products={[
|
||||||
{
|
{
|
||||||
id: "1", name: "River Rocks", price: "Starting at $25/bag", imageSrc:
|
id: "1", name: "River Rocks", price: "Starting at $25/bag", imageSrc:
|
||||||
"http://img.b2bpic.net/free-photo/photo-stone-texture-pattern_58702-12263.jpg", imageAlt: "Natural river rocks"},
|
"http://img.b2bpic.net/free-photo/photo-stone-texture-pattern_58702-12263.jpg", imageAlt: "Natural river rocks"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
id: "2", name: "Decorative Stone Mix", price: "Starting at $30/bag", imageSrc:
|
id: "2", name: "Decorative Stone Mix", price: "Starting at $30/bag", imageSrc:
|
||||||
"http://img.b2bpic.net/free-photo/polished-stones-earthy-tones-glisten-with-reflected-light_91128-4516.jpg", imageAlt: "Assorted decorative stones"},
|
"http://img.b2bpic.net/free-photo/polished-stones-earthy-tones-glisten-with-reflected-light_91128-4516.jpg", imageAlt: "Assorted decorative stones"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
id: "3", name: "Premium Mulch", price: "Starting at $15/bag", imageSrc:
|
id: "3", name: "Premium Mulch", price: "Starting at $15/bag", imageSrc:
|
||||||
"http://img.b2bpic.net/free-photo/composition-garden-tools_93675-131226.jpg", imageAlt: "High-quality garden mulch"},
|
"http://img.b2bpic.net/free-photo/composition-garden-tools_93675-131226.jpg", imageAlt: "High-quality garden mulch"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
id: "4", name: "Landscape Gravel", price: "Starting at $20/bag", imageSrc:
|
id: "4", name: "Landscape Gravel", price: "Starting at $20/bag", imageSrc:
|
||||||
"http://img.b2bpic.net/free-photo/cement-crossed-by-diagonal-line-pebbles-stone_158595-6388.jpg", imageAlt: "Natural landscape gravel"},
|
"http://img.b2bpic.net/free-photo/cement-crossed-by-diagonal-line-pebbles-stone_158595-6388.jpg", imageAlt: "Natural landscape gravel"
|
||||||
|
},
|
||||||
]}
|
]}
|
||||||
gridVariant="three-columns-all-equal-width"
|
gridVariant="three-columns-all-equal-width"
|
||||||
animationType="slide-up"
|
animationType="slide-up"
|
||||||
@@ -119,19 +130,23 @@ export default function LandingPage() {
|
|||||||
{
|
{
|
||||||
id: "01", title: "Wide Selection", description:
|
id: "01", title: "Wide Selection", description:
|
||||||
"Browse from our extensive collection of rocks, stones, mulch, and landscape materials", imageSrc:
|
"Browse from our extensive collection of rocks, stones, mulch, and landscape materials", imageSrc:
|
||||||
"http://img.b2bpic.net/free-photo/girl-buying-cosmetic_1398-1040.jpg", imageAlt: "Diverse product selection"},
|
"http://img.b2bpic.net/free-photo/girl-buying-cosmetic_1398-1040.jpg", imageAlt: "Diverse product selection"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
id: "02", title: "Competitive Pricing", description:
|
id: "02", title: "Competitive Pricing", description:
|
||||||
"Quality materials at fair prices. Bulk discounts available for larger projects", imageSrc:
|
"Quality materials at fair prices. Bulk discounts available for larger projects", imageSrc:
|
||||||
"http://img.b2bpic.net/free-vector/gradient-sale-badge-collection_23-2147820548.jpg", imageAlt: "Great value pricing"},
|
"http://img.b2bpic.net/free-vector/gradient-sale-badge-collection_23-2147820548.jpg", imageAlt: "Great value pricing"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
id: "03", title: "Expert Advice", description:
|
id: "03", title: "Expert Advice", description:
|
||||||
"Our knowledgeable staff can help you choose the perfect materials for your project", imageSrc:
|
"Our knowledgeable staff can help you choose the perfect materials for your project", imageSrc:
|
||||||
"http://img.b2bpic.net/free-photo/happy-customer-service-representative-using-computer-while-communicating-with-clients-online_637285-6679.jpg", imageAlt: "Professional consultation"},
|
"http://img.b2bpic.net/free-photo/happy-customer-service-representative-using-computer-while-communicating-with-clients-online_637285-6679.jpg", imageAlt: "Professional consultation"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
id: "04", title: "Fast Service", description:
|
id: "04", title: "Fast Service", description:
|
||||||
"Quick checkout and convenient loading. Open until 5 PM daily for your schedule", imageSrc:
|
"Quick checkout and convenient loading. Open until 5 PM daily for your schedule", imageSrc:
|
||||||
"http://img.b2bpic.net/free-photo/call-center-onboarding-specialist-tutoring-intern-how-use-csm-system_482257-117972.jpg", imageAlt: "Efficient service"},
|
"http://img.b2bpic.net/free-photo/call-center-onboarding-specialist-tutoring-intern-how-use-csm-system_482257-117972.jpg", imageAlt: "Efficient service"
|
||||||
|
},
|
||||||
]}
|
]}
|
||||||
gridVariant="four-items-2x2-equal-grid"
|
gridVariant="four-items-2x2-equal-grid"
|
||||||
animationType="slide-up"
|
animationType="slide-up"
|
||||||
@@ -151,25 +166,28 @@ export default function LandingPage() {
|
|||||||
id: "1", name: "James Mitchell", handle: "@jmitchell", testimonial:
|
id: "1", name: "James Mitchell", handle: "@jmitchell", testimonial:
|
||||||
"Excellent selection and competitive prices. The staff helped me choose the perfect stones for my garden redesign. Highly recommended!", rating: 5,
|
"Excellent selection and competitive prices. The staff helped me choose the perfect stones for my garden redesign. Highly recommended!", rating: 5,
|
||||||
imageSrc:
|
imageSrc:
|
||||||
"http://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg?_wi=1", imageAlt: "James Mitchell"},
|
"http://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg?_wi=1", imageAlt: "James Mitchell"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
id: "2", name: "Sarah Johnson", handle: "@sarahjohnson", testimonial:
|
id: "2", name: "Sarah Johnson", handle: "@sarahjohnson", testimonial:
|
||||||
"Best garden center in Joplin. Great products, friendly service, and they really know their materials. Perfect for all my landscaping projects.", rating: 5,
|
"Best garden center in Joplin. Great products, friendly service, and they really know their materials. Perfect for all my landscaping projects.", rating: 5,
|
||||||
imageSrc:
|
imageSrc:
|
||||||
"http://img.b2bpic.net/free-photo/positive-confident-businesswoman-wearing-formal-suit-standing-with-arms-folded_74855-10328.jpg?_wi=1", imageAlt: "Sarah Johnson"},
|
"http://img.b2bpic.net/free-photo/positive-confident-businesswoman-wearing-formal-suit-standing-with-arms-folded_74855-10328.jpg?_wi=1", imageAlt: "Sarah Johnson"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
id: "3", name: "Michael Chen", handle: "@mchen", testimonial:
|
id: "3", name: "Michael Chen", handle: "@mchen", testimonial:
|
||||||
"Professional team that takes care of their customers. The quality of materials is outstanding and the pricing is fair. Will definitely return.", rating: 5,
|
"Professional team that takes care of their customers. The quality of materials is outstanding and the pricing is fair. Will definitely return.", rating: 5,
|
||||||
imageSrc:
|
imageSrc:
|
||||||
"http://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg?_wi=2", imageAlt: "Michael Chen"},
|
"http://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg?_wi=2", imageAlt: "Michael Chen"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
id: "4", name: "Emma Rodriguez", handle: "@erodriguez", testimonial:
|
id: "4", name: "Emma Rodriguez", handle: "@erodriguez", testimonial:
|
||||||
"Rock Yard made my landscaping project so much easier. Great advice and fast service. My neighbors are already asking where I got my materials!", rating: 5,
|
"Rock Yard made my landscaping project so much easier. Great advice and fast service. My neighbors are already asking where I got my materials!", rating: 5,
|
||||||
imageSrc:
|
imageSrc:
|
||||||
"http://img.b2bpic.net/free-photo/positive-confident-businesswoman-wearing-formal-suit-standing-with-arms-folded_74855-10328.jpg?_wi=2", imageAlt: "Emma Rodriguez"},
|
"http://img.b2bpic.net/free-photo/positive-confident-businesswoman-wearing-formal-suit-standing-with-arms-folded_74855-10328.jpg?_wi=2", imageAlt: "Emma Rodriguez"
|
||||||
|
},
|
||||||
]}
|
]}
|
||||||
showRating={true}
|
showRating={true}
|
||||||
gridVariant="four-items-2x2-equal-grid"
|
|
||||||
animationType="slide-up"
|
animationType="slide-up"
|
||||||
textboxLayout="default"
|
textboxLayout="default"
|
||||||
useInvertedBackground={false}
|
useInvertedBackground={false}
|
||||||
@@ -181,21 +199,26 @@ export default function LandingPage() {
|
|||||||
faqs={[
|
faqs={[
|
||||||
{
|
{
|
||||||
id: "1", title: "What are your hours?", content:
|
id: "1", title: "What are your hours?", content:
|
||||||
"We are open daily. Our garden center closes at 5 PM. Call us at (417) 781-1016 for current hours and seasonal variations."},
|
"We are open daily. Our garden center closes at 5 PM. Call us at (417) 781-1016 for current hours and seasonal variations."
|
||||||
|
},
|
||||||
{
|
{
|
||||||
id: "2", title: "Do you offer delivery?", content:
|
id: "2", title: "Do you offer delivery?", content:
|
||||||
"Yes, we offer delivery services for larger orders. Contact us at (417) 781-1016 to discuss your project and get a delivery quote."},
|
"Yes, we offer delivery services for larger orders. Contact us at (417) 781-1016 to discuss your project and get a delivery quote."
|
||||||
|
},
|
||||||
{
|
{
|
||||||
id: "3", title: "Can I get advice on my project?", content:
|
id: "3", title: "Can I get advice on my project?", content:
|
||||||
"Absolutely! Our knowledgeable staff is happy to provide guidance on material selection and project planning. Visit us or call with details about your landscaping needs."},
|
"Absolutely! Our knowledgeable staff is happy to provide guidance on material selection and project planning. Visit us or call with details about your landscaping needs."
|
||||||
|
},
|
||||||
{
|
{
|
||||||
id: "4", title: "Do you have bulk discounts?", content:
|
id: "4", title: "Do you have bulk discounts?", content:
|
||||||
"Yes, we offer competitive pricing for bulk orders. Ask our staff about volume discounts when you visit or call (417) 781-1016."},
|
"Yes, we offer competitive pricing for bulk orders. Ask our staff about volume discounts when you visit or call (417) 781-1016."
|
||||||
|
},
|
||||||
]}
|
]}
|
||||||
ctaTitle="Visit Rock Yard Today"
|
ctaTitle="Visit Rock Yard Today"
|
||||||
ctaDescription="Stop by our garden center to explore our full selection of landscaping materials. Open daily until 5 PM."
|
ctaDescription="Visit us in person at 815 S Schifferdecker Ave, Joplin. Open daily until 5 PM—our team is ready to help with your project."
|
||||||
ctaButton={{
|
ctaButton={{
|
||||||
text: "Get Directions", href: "https://maps.google.com/?q=815+S+Schifferdecker+Ave,+Joplin,+MO+64801"}}
|
text: "Get Directions", href: "https://maps.google.com/?q=815+S+Schifferdecker+Ave,+Joplin,+MO+64801"
|
||||||
|
}}
|
||||||
ctaIcon={MapPin}
|
ctaIcon={MapPin}
|
||||||
useInvertedBackground={false}
|
useInvertedBackground={false}
|
||||||
animationType="slide-up"
|
animationType="slide-up"
|
||||||
@@ -211,4 +234,4 @@ export default function LandingPage() {
|
|||||||
</div>
|
</div>
|
||||||
</ThemeProvider>
|
</ThemeProvider>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -2,23 +2,23 @@
|
|||||||
/* Base units */
|
/* Base units */
|
||||||
/* --vw is set by ThemeProvider */
|
/* --vw is set by ThemeProvider */
|
||||||
|
|
||||||
/* --background: #f5f5f5;;
|
/* --background: #f5f5f5;;;;;
|
||||||
--card: #ffffff;;
|
--card: #ffffff;;;;;
|
||||||
--foreground: #1c1c1c;;
|
--foreground: #1c1c1c;;;;;
|
||||||
--primary-cta: #6139e6;;
|
--primary-cta: #84a643;;;;;
|
||||||
--secondary-cta: #ffffff;;
|
--secondary-cta: #ffffff;;;;;
|
||||||
--accent: #6139e6;;
|
--accent: #84a643;;;;;
|
||||||
--background-accent: #b3a8e8;; */
|
--background-accent: #e8daa7;;;;; */
|
||||||
|
|
||||||
--background: #f5f5f5;;
|
--background: #f5f5f5;;;;;
|
||||||
--card: #ffffff;;
|
--card: #ffffff;;;;;
|
||||||
--foreground: #1c1c1c;;
|
--foreground: #1c1c1c;;;;;
|
||||||
--primary-cta: #6139e6;;
|
--primary-cta: #84a643;;;;;
|
||||||
--primary-cta-text: #f5f5f5;;
|
--primary-cta-text: #f5f5f5;;;;;
|
||||||
--secondary-cta: #ffffff;;
|
--secondary-cta: #ffffff;;;;;
|
||||||
--secondary-cta-text: #1c1c1c;;
|
--secondary-cta-text: #1c1c1c;;;;;
|
||||||
--accent: #6139e6;;
|
--accent: #84a643;;;;;
|
||||||
--background-accent: #b3a8e8;;
|
--background-accent: #e8daa7;;;;;
|
||||||
|
|
||||||
/* text sizing - set by ThemeProvider */
|
/* text sizing - set by ThemeProvider */
|
||||||
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);
|
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);
|
||||||
|
|||||||
Reference in New Issue
Block a user