19 Commits

Author SHA1 Message Date
4fdabe6503 Update src/app/page.tsx 2026-03-04 01:11:09 +00:00
4ed4bafa69 Update src/app/layout.tsx 2026-03-04 01:11:08 +00:00
62b3e70a47 Merge version_3 into main
Merge version_3 into main
2026-03-04 00:57:49 +00:00
874b6e5ff9 Update theme colors 2026-03-04 00:57:43 +00:00
69cef0d180 Merge version_3 into main
Merge version_3 into main
2026-03-04 00:57:18 +00:00
b4372896e5 Update theme colors 2026-03-04 00:57:12 +00:00
04539f463d Merge version_3 into main
Merge version_3 into main
2026-03-04 00:57:01 +00:00
8e63bbb835 Update theme colors 2026-03-04 00:56:55 +00:00
4524650173 Merge version_3 into main
Merge version_3 into main
2026-03-03 21:04:15 +00:00
7f572cbb88 Update src/app/page.tsx 2026-03-03 21:04:07 +00:00
8c992251f1 Update src/app/layout.tsx 2026-03-03 21:04:05 +00:00
45bc220067 Update src/app/page.tsx 2026-03-03 20:19:53 +00:00
4c0de3d8d2 Update src/app/page.tsx 2026-03-03 20:15:30 +00:00
2c5d3b4192 Update src/app/page.tsx 2026-03-03 20:05:54 +00:00
2f95d6751f Merge version_2 into main
Merge version_2 into main
2026-03-03 20:01:10 +00:00
bd9d11b48a Update src/app/page.tsx 2026-03-03 20:01:04 +00:00
ba7453499d Merge version_1 into main
Merge version_1 into main
2026-03-03 19:43:16 +00:00
e96c50bb33 Merge version_1 into main
Merge version_1 into main
2026-03-03 19:33:08 +00:00
dc95fda586 Merge version_1 into main
Merge version_1 into main
2026-03-03 19:31:31 +00:00
3 changed files with 115 additions and 90 deletions

View File

@@ -1,54 +1,28 @@
import type { Metadata } from "next";
import { Mulish } from "next/font/google";
import { Halant } from "next/font/google";
import { Inter } from "next/font/google";
import { Geist, Geist_Mono } from "next/font/google";
import "./globals.css";
import { ServiceWrapper } from "@/components/ServiceWrapper";
import Tag from "@/tag/Tag";
const mulish = Mulish({
variable: "--font-mulish", subsets: ["latin"],
const geist = Geist({
variable: "--font-geist-sans", subsets: ["latin"],
});
const halant = Halant({
variable: "--font-halant", subsets: ["latin"],
weight: ["300", "400", "500", "600", "700"],
});
const inter = Inter({
variable: "--font-inter", subsets: ["latin"],
const geist_mono = Geist_Mono({
variable: "--font-geist-mono", subsets: ["latin"],
});
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: {
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"],
},
};
title: "Rock Yard - Premium Landscaping Materials", description: "Quality landscape materials for your home in Joplin"};
export default function RootLayout({
children,
}: Readonly<{
}: {
children: React.ReactNode;
}>) {
}) {
return (
<html lang="en" suppressHydrationWarning>
<ServiceWrapper>
<body
className={`${mulish.variable} ${halant.variable} ${inter.variable} antialiased`}
>
<Tag />
{children}
<html lang="en">
<body className={`${geist.variable} ${geist_mono.variable} antialiased`}>
{children}
<script
dangerouslySetInnerHTML={{
__html: `
@@ -1416,7 +1390,6 @@ export default function RootLayout({
}}
/>
</body>
</ServiceWrapper>
</html>
);
}
}

View File

@@ -19,7 +19,7 @@ export default function LandingPage() {
borderRadius="soft"
contentWidth="mediumLarge"
sizing="largeSmallSizeLargeTitles"
background="fluid"
background="circleGradient"
cardStyle="outline"
primaryButtonStyle="radial-glow"
secondaryButtonStyle="solid"
@@ -35,7 +35,8 @@ export default function LandingPage() {
{ name: "Contact", id: "contact" },
]}
button={{
text: "Call Now", href: "tel:(417)781-1016"}}
text: "Call Now", href: "tel:(417)781-1016"
}}
animateOnLoad={true}
/>
</div>
@@ -46,23 +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."
tag="Garden Center"
tagIcon={Sparkles}
background={{ variant: "fluid" }}
background={{ variant: "radial-gradient" }}
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={[
{
imageSrc: "http://img.b2bpic.net/free-photo/pile-weathered-red-bricks_632498-60816.jpg", imageAlt: "Landscaping rocks and stones"},
imageSrc:
"http://img.b2bpic.net/free-photo/pile-weathered-red-bricks_632498-60816.jpg", imageAlt: "Landscaping rocks and stones"
},
{
imageSrc: "http://img.b2bpic.net/free-photo/high-angle-pebbles-second-hand-market_23-2149338412.jpg", imageAlt: "Premium garden materials"},
imageSrc:
"http://img.b2bpic.net/free-photo/high-angle-pebbles-second-hand-market_23-2149338412.jpg", imageAlt: "Premium garden materials"
},
{
imageSrc: "http://img.b2bpic.net/free-photo/overhead-shot-beach-full-colored-stones_181624-14164.jpg", imageAlt: "Colorful landscape stones"},
imageSrc:
"http://img.b2bpic.net/free-photo/overhead-shot-beach-full-colored-stones_181624-14164.jpg", imageAlt: "Colorful landscape stones"
},
{
imageSrc: "http://img.b2bpic.net/free-photo/gardening_23-2148020456.jpg", imageAlt: "Professional landscaping supplies"},
imageSrc:
"http://img.b2bpic.net/free-photo/gardening_23-2148020456.jpg", imageAlt: "Professional landscaping supplies"
},
{
imageSrc: "http://img.b2bpic.net/free-photo/greenhouse-owner-presenting-flowers-options-potential-customer-retailer_158595-6978.jpg", imageAlt: "Garden center products"},
imageSrc:
"http://img.b2bpic.net/free-photo/greenhouse-owner-presenting-flowers-options-potential-customer-retailer_158595-6978.jpg", imageAlt: "Garden center products"
},
]}
/>
</div>
@@ -85,13 +97,21 @@ export default function LandingPage() {
tagIcon={Package}
products={[
{
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"},
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"
},
{
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"},
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"
},
{
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"},
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"
},
{
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"},
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"
},
]}
gridVariant="three-columns-all-equal-width"
animationType="slide-up"
@@ -108,13 +128,25 @@ export default function LandingPage() {
tagIcon={CheckCircle}
features={[
{
id: "01", title: "Wide Selection", description: "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"},
id: "01", title: "Wide Selection", description:
"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"
},
{
id: "02", title: "Competitive Pricing", description: "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"},
id: "02", title: "Competitive Pricing", description:
"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"
},
{
id: "03", title: "Expert Advice", description: "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"},
id: "03", title: "Expert Advice", description:
"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"
},
{
id: "04", title: "Fast Service", description: "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"},
id: "04", title: "Fast Service", description:
"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"
},
]}
gridVariant="four-items-2x2-equal-grid"
animationType="slide-up"
@@ -131,20 +163,31 @@ export default function LandingPage() {
tagIcon={Star}
testimonials={[
{
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,
imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg", imageAlt: "James Mitchell"},
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,
imageSrc:
"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: "Best garden center in Joplin. Great products, friendly service, and they really know their materials. Perfect for all my landscaping projects.", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/positive-confident-businesswoman-wearing-formal-suit-standing-with-arms-folded_74855-10328.jpg", imageAlt: "Sarah Johnson"},
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,
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"
},
{
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,
imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg", imageAlt: "Michael Chen"},
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,
imageSrc:
"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: "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: "http://img.b2bpic.net/free-photo/positive-confident-businesswoman-wearing-formal-suit-standing-with-arms-folded_74855-10328.jpg", imageAlt: "Emma Rodriguez"},
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,
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"
},
]}
showRating={true}
gridVariant="four-items-2x2-equal-grid"
animationType="slide-up"
textboxLayout="default"
useInvertedBackground={false}
@@ -155,18 +198,27 @@ export default function LandingPage() {
<ContactFaq
faqs={[
{
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."},
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."
},
{
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."},
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."
},
{
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."},
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."
},
{
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."},
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."
},
]}
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={{
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}
useInvertedBackground={false}
animationType="slide-up"
@@ -182,4 +234,4 @@ export default function LandingPage() {
</div>
</ThemeProvider>
);
}
}

View File

@@ -2,23 +2,23 @@
/* Base units */
/* --vw is set by ThemeProvider */
/* --background: #f5f5f5;;
--card: #ffffff;;
--foreground: #1c1c1c;;
--primary-cta: #6139e6;;
--secondary-cta: #ffffff;;
--accent: #6139e6;;
--background-accent: #b3a8e8;; */
/* --background: #f5f5f5;;;;;
--card: #ffffff;;;;;
--foreground: #1c1c1c;;;;;
--primary-cta: #84a643;;;;;
--secondary-cta: #ffffff;;;;;
--accent: #84a643;;;;;
--background-accent: #e8daa7;;;;; */
--background: #f5f5f5;;
--card: #ffffff;;
--foreground: #1c1c1c;;
--primary-cta: #6139e6;;
--primary-cta-text: #f5f5f5;;
--secondary-cta: #ffffff;;
--secondary-cta-text: #1c1c1c;;
--accent: #6139e6;;
--background-accent: #b3a8e8;;
--background: #f5f5f5;;;;;
--card: #ffffff;;;;;
--foreground: #1c1c1c;;;;;
--primary-cta: #84a643;;;;;
--primary-cta-text: #f5f5f5;;;;;
--secondary-cta: #ffffff;;;;;
--secondary-cta-text: #1c1c1c;;;;;
--accent: #84a643;;;;;
--background-accent: #e8daa7;;;;;
/* text sizing - set by ThemeProvider */
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);