Compare commits
78 Commits
version_2_
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 884911cbda | |||
|
|
8826f83bf2 | ||
| 31780164e7 | |||
|
|
a721f956f2 | ||
|
|
6bcf853ae9 | ||
| 8ff4b79a3a | |||
| 880bfc8721 | |||
| a904271708 | |||
| 431ae43bf5 | |||
| 3fe6520c1b | |||
| 7d6ee33171 | |||
| dc737bcd5d | |||
| b7a2e5d545 | |||
| 21ebeaf352 | |||
|
|
77e0e5e96d | ||
|
|
6873267e02 | ||
| b4f68e92c7 | |||
|
|
d8f3f2b4e2 | ||
|
|
7fdb84fdf5 | ||
| 26efa4420f | |||
| e5d60f4f13 | |||
| b1a7996407 | |||
|
|
8d9d4d5451 | ||
|
|
8c92a54693 | ||
| 2163aa593f | |||
| 99e67e1797 | |||
| 7553327e95 | |||
| 022b2844dd | |||
| 7e4116ab4d | |||
| dc8275fe8b | |||
| d109e9d1e2 | |||
| d43e23903f | |||
| c8a78d94b1 | |||
| 2ecb009b90 | |||
| 51b7cc445b | |||
| 822d373c3a | |||
| a7f87dab8c | |||
| 52623d0725 | |||
| 709a20469c | |||
| 3aa058a204 | |||
| e6a1ef319b | |||
| 01bc81db55 | |||
| 5230cf70ed | |||
| e9c3990faf | |||
| c79c1ace6f | |||
| 5aa5b0473f | |||
| c3b04b0164 | |||
| fa0ac36429 | |||
| 3601d7bd2e | |||
| 24a237a7d9 | |||
| a4ff991836 | |||
| 6dbe466518 | |||
| 34422fa09a | |||
| 8a3baa3d0b | |||
| 9cd2b326e5 | |||
| feac5f9beb | |||
| 26cca9a1fd | |||
| 37bf65b112 | |||
| b4c76c1db7 | |||
| d0449f3baa | |||
| f1d088d7a0 | |||
| e3cba0add9 | |||
| fefd7184e1 | |||
| 63ab05dce0 | |||
| e462833e35 | |||
| 4490f6b99c | |||
| b06cd52ede | |||
| 6290ed0ce1 | |||
| 3ecaa42a81 | |||
| 5d6ac1d895 | |||
| 4c1f74fb39 | |||
| 025ca98639 | |||
| 5c93530377 | |||
| ce05749673 | |||
| d9a705ac74 | |||
| 924e772df2 | |||
| ac87689f6a | |||
| 9295545c98 |
@@ -2,11 +2,15 @@ import { Routes, Route } from 'react-router-dom';
|
||||
import Layout from './components/Layout';
|
||||
import HomePage from './pages/HomePage';
|
||||
|
||||
import ProductsPage from "@/pages/ProductsPage";
|
||||
import FishingReelsPage from "@/pages/FishingReelsPage";
|
||||
export default function App() {
|
||||
return (
|
||||
<Routes>
|
||||
<Route element={<Layout />}>
|
||||
<Route path="/" element={<HomePage />} />
|
||||
<Route path="/products" element={<ProductsPage />} />
|
||||
<Route path="/fishing-reels" element={<FishingReelsPage />} />
|
||||
</Route>
|
||||
</Routes>
|
||||
);
|
||||
|
||||
@@ -27,7 +27,11 @@ export default function Layout() {
|
||||
},
|
||||
{
|
||||
"name": "Brands", "href": "#brands"
|
||||
}
|
||||
},
|
||||
{ name: "Products", href: "/products" },
|
||||
{ name: "Fishing Reels", href: "/fishing-reels" },
|
||||
|
||||
|
||||
];
|
||||
|
||||
return (
|
||||
@@ -36,7 +40,7 @@ export default function Layout() {
|
||||
<SectionErrorBoundary name="navbar">
|
||||
<NavbarFloatingLogo
|
||||
logo="Matos Marine"
|
||||
logoImageSrc="https://storage.googleapis.com/webild/default/no-image.jpg?id=b4ric6"
|
||||
logoImageSrc="https://storage.googleapis.com/webild/users/user_3E7geerNBaObnLeEmBO57i03va7/uploaded-1782150212751-9h8hxd3z.jpg"
|
||||
ctaButton={{
|
||||
text: "WhatsApp Us", href: "https://wa.me/17870000000"}}
|
||||
navItems={navItems} />
|
||||
|
||||
18
src/pages/FishingReelsPage.tsx
Normal file
18
src/pages/FishingReelsPage.tsx
Normal file
@@ -0,0 +1,18 @@
|
||||
// AUTO-GENERATED shell by per-section-migrate.
|
||||
// Section bodies live in the sibling sections/ folder (one file per section).
|
||||
// Edit those section files directly. Non-block content (wrappers,
|
||||
// non-inlinable sections) is preserved inline; extracted section blocks
|
||||
// become component refs.
|
||||
|
||||
import React from 'react';
|
||||
import HeroSplitSection from './FishingReelsPage/sections/HeroSplit';
|
||||
import ProductRatingCardsSection from './FishingReelsPage/sections/ProductRatingCards';
|
||||
|
||||
export default function FishingReelsPage(): React.JSX.Element {
|
||||
return (
|
||||
<>
|
||||
<HeroSplitSection />
|
||||
<ProductRatingCardsSection />
|
||||
</>
|
||||
);
|
||||
}
|
||||
15
src/pages/FishingReelsPage/sections/HeroSplit.tsx
Normal file
15
src/pages/FishingReelsPage/sections/HeroSplit.tsx
Normal file
@@ -0,0 +1,15 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "HeroSplit" section.
|
||||
|
||||
import React from 'react';
|
||||
import Button from "@/components/ui/Button";
|
||||
import HeroBackgroundSlot from "@/components/ui/HeroBackgroundSlot";
|
||||
import TextAnimation from "@/components/ui/TextAnimation";
|
||||
import ImageOrVideo from "@/components/ui/ImageOrVideo";
|
||||
import ScrollReveal from "@/components/ui/ScrollReveal";
|
||||
|
||||
export default function HeroSplitSection(): React.JSX.Element {
|
||||
return (
|
||||
<div data-webild-section="HeroSplit"><section aria-label="Hero section" className="relative flex items-center h-fit md:h-svh pt-25 pb-20 md:py-0"><HeroBackgroundSlot /><div className="flex flex-col md:flex-row items-center gap-12 md:gap-20 w-content-width mx-auto"><div className="w-full md:w-1/2"><div className="flex flex-col items-center md:items-start gap-3"><div className="px-3 py-1 mb-1 text-sm card rounded w-fit"><p>Premium Fishing Reels</p></div><TextAnimation text="Engineered for the Toughest Catch" variant="slide-up" gradientText={true} tag="h1" className="text-7xl 2xl:text-8xl leading-[1.15] font-semibold text-center md:text-left text-balance" /><TextAnimation text="Discover our rugged, high-performance fishing reels designed for marine professionals and serious anglers. Built to withstand saltwater and deliver unmatched reliability." variant="slide-up" gradientText={false} tag="p" className="md:max-w-8/10 text-lg md:text-xl leading-snug text-center md:text-left text-balance" /><div className="flex flex-wrap max-md:justify-center gap-3 mt-2 md:mt-3"><Button text="Shop Reels" href="#products" variant="primary" /><Button text="View Specs" href="#specifications" variant="secondary" animationDelay={0.1} /></div></div></div><ScrollReveal variant="fade-blur" delay={0.2} className="w-full md:w-1/2 h-100 md:h-[65vh] md:max-h-[75svh] p-2 xl:p-3 2xl:p-4 card rounded overflow-hidden"><ImageOrVideo imageSrc="https://img.freepik.com/free-photo/close-up-fishing-rod-with-reel_23-2148813250.jpg" /></ScrollReveal></div></section></div>
|
||||
);
|
||||
}
|
||||
11
src/pages/FishingReelsPage/sections/ProductRatingCards.tsx
Normal file
11
src/pages/FishingReelsPage/sections/ProductRatingCards.tsx
Normal file
@@ -0,0 +1,11 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "ProductRatingCards" section.
|
||||
|
||||
import React from 'react';
|
||||
import { Star, Loader2 } from "lucide-react";
|
||||
|
||||
export default function ProductRatingCardsSection(): React.JSX.Element {
|
||||
return (
|
||||
<div data-webild-section="ProductRatingCards"><section aria-label="Products section" className="py-20"><div className="w-content-width mx-auto flex justify-center"><Loader2 className="size-8 animate-spin text-foreground" strokeWidth={1.5} /></div></section></div>
|
||||
);
|
||||
}
|
||||
@@ -15,7 +15,7 @@ export default function HomePage() {
|
||||
<SectionErrorBoundary name="hero">
|
||||
<HeroBillboardBrand
|
||||
brand="Matos Marine"
|
||||
description="Your ultimate fishing tackle shop in Aguada. Quality gear, local expertise, and the best brands for your next catch."
|
||||
description="Todo para la pesca, navegación y mantenimiento de embarcaciones en un solo lugar. Desde equipos de pesca y accesorios marinos hasta piezas para botes y trailers, ofrecemos productos de calidad y el conocimiento necesario para mantenerte listo para cualquier aventura en el agua"
|
||||
primaryButton={{
|
||||
text: "Shop Now",
|
||||
href: "#shop",
|
||||
@@ -24,7 +24,7 @@ export default function HomePage() {
|
||||
text: "WhatsApp Support",
|
||||
href: "https://wa.me/17870000000",
|
||||
}}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/vertical-view-sea-waves-sunrise-atmosphere-new-day_169016-69705.jpg"
|
||||
imageSrc="https://storage.googleapis.com/webild/users/user_3E7geerNBaObnLeEmBO57i03va7/uploaded-1782150202129-8hatud62.jpg"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
@@ -40,43 +40,43 @@ export default function HomePage() {
|
||||
title: "Rods",
|
||||
description: "Premium carbon rods.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/fishing-bait-stuck-fish-mouth-green-grass-with-fishing-rod_23-2147894045.jpg",
|
||||
imageSrc: "https://storage.googleapis.com/webild/users/user_3E7geerNBaObnLeEmBO57i03va7/uploaded-1782150770656-a3xvxv2k.jpg",
|
||||
},
|
||||
{
|
||||
title: "Reels",
|
||||
description: "Smooth precision reels.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/man-posing-with-baseball-hat_23-2148347923.jpg",
|
||||
imageSrc: "https://storage.googleapis.com/webild/users/user_3E7geerNBaObnLeEmBO57i03va7/uploaded-1782150212751-funk1y3c.jpg",
|
||||
},
|
||||
{
|
||||
title: "Braided Line",
|
||||
description: "Super strong lines.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/fishing-rod-fishing-lure-transparent-plastic-box-grass_23-2147894065.jpg",
|
||||
imageSrc: "https://storage.googleapis.com/webild/users/user_3E7geerNBaObnLeEmBO57i03va7/uploaded-1782150202127-d5klq7c6.jpg",
|
||||
},
|
||||
{
|
||||
title: "Offshore Lures",
|
||||
description: "Lures for big catches.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/colorful-fishing-lures-wooden-desk_23-2148189279.jpg",
|
||||
imageSrc: "https://storage.googleapis.com/webild/users/user_3E7geerNBaObnLeEmBO57i03va7/uploaded-1782150224264-m6djwhpg.webp",
|
||||
},
|
||||
{
|
||||
title: "Terminal Tackle",
|
||||
description: "Small essentials.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/marine-composition-with-lifebelt_23-2147804720.jpg",
|
||||
imageSrc: "https://storage.googleapis.com/webild/users/user_3E7geerNBaObnLeEmBO57i03va7/uploaded-1782150202129-7ogl8g4f.webp",
|
||||
},
|
||||
{
|
||||
title: "Electronics",
|
||||
description: "Marine GPS and sonar.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/futuristic-ship-sailing-through-sea-ai-generative_123827-23790.jpg",
|
||||
imageSrc: "https://storage.googleapis.com/webild/users/user_3E7geerNBaObnLeEmBO57i03va7/uploaded-1782150202129-kve3u0ml.jpg",
|
||||
},
|
||||
{
|
||||
title: "Accessories",
|
||||
description: "Boat tools and extras.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/front-deck-yacht_1401-327.jpg",
|
||||
imageSrc: "https://storage.googleapis.com/webild/users/user_3E7geerNBaObnLeEmBO57i03va7/uploaded-1782151303395-co5oymcu.png",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
@@ -92,13 +92,13 @@ export default function HomePage() {
|
||||
items={[
|
||||
{
|
||||
tag: "Shimano",
|
||||
title: "New Stella Reel",
|
||||
title: "New Saragossa Reel",
|
||||
description: "The ultimate spinning power.",
|
||||
primaryButton: {
|
||||
text: "View",
|
||||
href: "#",
|
||||
},
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/overhead-view-fishing-rod-net-wooden-pier_23-2147870263.jpg",
|
||||
imageSrc: "https://storage.googleapis.com/webild/users/user_3E7geerNBaObnLeEmBO57i03va7/uploaded-1782150763346-p1zue9am.jpg?_wi=1",
|
||||
},
|
||||
{
|
||||
tag: "Nomad",
|
||||
@@ -108,7 +108,7 @@ export default function HomePage() {
|
||||
text: "View",
|
||||
href: "#",
|
||||
},
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/vertical-shot-beautiful-outdoor-decoration_181624-60707.jpg",
|
||||
imageSrc: "https://storage.googleapis.com/webild/users/user_3E7geerNBaObnLeEmBO57i03va7/uploaded-1782150763346-p1zue9am.jpg?_wi=2",
|
||||
},
|
||||
{
|
||||
tag: "Penn",
|
||||
@@ -118,7 +118,7 @@ export default function HomePage() {
|
||||
text: "View",
|
||||
href: "#",
|
||||
},
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/close-up-fishing-lure-wooden-desk_23-2147894194.jpg",
|
||||
imageSrc: "https://storage.googleapis.com/webild/users/user_3E7geerNBaObnLeEmBO57i03va7/uploaded-1782151857980-eey1typc.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
@@ -200,7 +200,7 @@ export default function HomePage() {
|
||||
answer: "Please present your confirmation email and valid ID.",
|
||||
},
|
||||
]}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/man-checks-quality-leather-backpack_8353-5902.jpg"
|
||||
imageSrc="https://storage.googleapis.com/webild/users/user_3E7geerNBaObnLeEmBO57i03va7/uploaded-1782150212750-olvs88q7.jpg"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
|
||||
31
src/pages/ProductsPage.tsx
Normal file
31
src/pages/ProductsPage.tsx
Normal file
@@ -0,0 +1,31 @@
|
||||
import Button from "@/components/ui/Button";
|
||||
import HeroBackgroundSlot from "@/components/ui/HeroBackgroundSlot";
|
||||
import TextAnimation from "@/components/ui/TextAnimation";
|
||||
import ImageOrVideo from "@/components/ui/ImageOrVideo";
|
||||
import ScrollReveal from "@/components/ui/ScrollReveal";
|
||||
import AvatarGroup from "@/components/ui/AvatarGroup";
|
||||
import ProductQuantityCards from "@/components/sections/product/ProductQuantityCards";
|
||||
import FeaturesAttributeCards from "@/components/sections/features/FeaturesAttributeCards";
|
||||
|
||||
export default function ProductsPage() {
|
||||
return (
|
||||
<>
|
||||
<div data-webild-section="HeroBillboard"><section aria-label="Hero section" className="relative pt-25 pb-20 md:pt-30"><HeroBackgroundSlot /><div className="flex flex-col gap-12 md:gap-15 w-content-width mx-auto"><div className="flex flex-col items-center gap-3 text-center"><AvatarGroup avatarsSrc={["https://img.freepik.com/free-photo/portrait-white-man-isolated_53876-40306.jpg","https://img.freepik.com/free-photo/close-up-portrait-young-bearded-man-white-shirt-jacket-posing-camera-isolated-blue-background_1258-100020.jpg","https://img.freepik.com/free-photo/handsome-confident-smiling-man-with-hands-crossed-chest_176420-18743.jpg"]} label="Trusted by Carlos R., Maria L., and local anglers" className="mb-1" /><TextAnimation text="High-Performance Fishing Rods" variant="fade-blur" gradientText={true} tag="h1" className="md:max-w-8/10 text-7xl 2xl:text-8xl leading-[1.15] font-semibold text-center text-balance" /><TextAnimation text="Browse our extensive inventory of premium fishing rods. Check real-time stock, compare pricing, and choose between fast shipping or in-store pickup." variant="fade-blur" gradientText={false} tag="p" className="md:max-w-7/10 text-lg md:text-xl leading-snug text-balance" /><div className="flex flex-wrap justify-center gap-3 mt-2 md:mt-3"><Button text="Shop All Rods" href="#categories" variant="primary" /><Button text="View In-Stock" href="#in-stock" variant="secondary" animationDelay={0.1} /></div></div><ScrollReveal variant="slide-up" delay={0.2} className="w-full p-2 xl:p-3 2xl:p-4 card rounded overflow-hidden"><ImageOrVideo imageSrc="https://picsum.photos/seed/989317248/1200/800" className="aspect-4/5 md:aspect-video" /></ScrollReveal></div></section></div>
|
||||
<div data-webild-section="ProductQuantityCards"><ProductQuantityCards
|
||||
tag="Rods Inventory"
|
||||
title="High-Performance Fishing Rods"
|
||||
description="Browse our selection of heavy-duty and lightweight rods. Built for durability and precision on the water."
|
||||
primaryButton={{"text":"View All Categories","href":"/products"}}
|
||||
products={[{"name":"Offshore Heavy Duty Rod","price":"$149.99","imageSrc":"https://img.freepik.com/free-photo/fishing-rod-lake_1150-12345.jpg"},{"name":"Inshore Spinning Rod","price":"$89.99","imageSrc":"https://img.freepik.com/free-photo/close-up-fishing-rod_23-2148138900.jpg"},{"name":"Carbon Fiber Casting Rod","price":"$129.99","imageSrc":"https://img.freepik.com/free-photo/fishing-equipment-wooden-background_23-2148138915.jpg"},{"name":"Telescopic Travel Rod","price":"$59.99","imageSrc":"https://img.freepik.com/free-photo/fishing-rod-with-reel-lake_23-2148138930.jpg"}]}
|
||||
/></div>
|
||||
<div data-webild-section="FeaturesAttributeCards"><FeaturesAttributeCards
|
||||
tag="Premium Rods"
|
||||
title="High-Performance Fishing Rods"
|
||||
description="Explore our curated selection of rugged fishing rods. Built for durability and precision, available for immediate pickup or fast shipping."
|
||||
primaryButton={{"text":"View All Gear","href":"/products"}}
|
||||
secondaryButton={{"text":"Shipping Policy","href":"/shipping"}}
|
||||
items={[{"title":"Kraken Offshore Troller","tags":"Saltwater • Heavy Power","badge":"In Stock","details":[{"icon":"DollarSign","label":"Price","value":"$249.99"},{"icon":"Package","label":"Inventory","value":"12 units"},{"icon":"Truck","label":"Fulfillment","value":"Ship / Pickup"}],"imageSrc":"https://img.freepik.com/premium-photo/fishing-rod-reel-boat-sea_1048944-2453186.jpg"},{"title":"Coastal Carbon Spinner","tags":"Inshore • Medium-Heavy","badge":"Low Stock","details":[{"icon":"DollarSign","label":"Price","value":"$159.00"},{"icon":"Package","label":"Inventory","value":"3 units"},{"icon":"Store","label":"Fulfillment","value":"Pickup Only"}],"imageSrc":"https://img.freepik.com/free-photo/close-up-fishing-rod-with-reel_23-2148138914.jpg"},{"title":"Tidal Wave Surf Caster","tags":"Surf • Extra Heavy","badge":"In Stock","details":[{"icon":"DollarSign","label":"Price","value":"$189.50"},{"icon":"Package","label":"Inventory","value":"24 units"},{"icon":"Truck","label":"Fulfillment","value":"Ship / Pickup"}],"imageSrc":"https://img.freepik.com/premium-photo/man-fishing-beach-with-fishing-rod_1048944-1845123.jpg"},{"title":"Lake Phantom Baitcaster","tags":"Freshwater • Medium","badge":"Out of Stock","details":[{"icon":"DollarSign","label":"Price","value":"$129.99"},{"icon":"Package","label":"Inventory","value":"0 units"},{"icon":"Clock","label":"Fulfillment","value":"Backorder"}],"imageSrc":"https://img.freepik.com/free-photo/fishing-rod-lake-with-nature-background_1150-15345.jpg"}]}
|
||||
/></div>
|
||||
</>
|
||||
);
|
||||
}
|
||||
@@ -6,4 +6,6 @@ export interface Route {
|
||||
|
||||
export const routes: Route[] = [
|
||||
{ path: '/', label: 'Home', pageFile: 'HomePage' },
|
||||
{ path: '/products', label: 'Products', pageFile: 'ProductsPage' },
|
||||
{ path: '/fishing-reels', label: 'Fishing Reels', pageFile: 'FishingReelsPage' },
|
||||
];
|
||||
|
||||
Reference in New Issue
Block a user