Merge version_1 into main #2
@@ -45,8 +45,8 @@ const productFeatures = [
|
||||
];
|
||||
|
||||
const metrics = [
|
||||
{ id: "1", value: "73", title: "Years in Business", description: "Serving Schoolcraft County since 1951", imageSrc: "http://img.b2bpic.net/free-photo/mall-america-scenes-cinematic-style_23-2151551211.jpg?_wi=1", imageAlt: "retail sports shop storefront exterior building" },
|
||||
{ id: "2", value: "#1", title: "Largest in County", description: "Most comprehensive selection of outdoor gear", imageSrc: "http://img.b2bpic.net/free-photo/dark-storage-with-shelves-many-forms-creating-different-shoes-boots_613910-12916.jpg?_wi=1", imageAlt: "sports retail store interior shelves displays" },
|
||||
{ id: "1", value: "73", title: "Years in Business", description: "Serving Schoolcraft County since 1951", imageSrc: "http://img.b2bpic.net/free-photo/mall-america-scenes-cinematic-style_23-2151551211.jpg", imageAlt: "retail sports shop storefront exterior building" },
|
||||
{ id: "2", value: "#1", title: "Largest in County", description: "Most comprehensive selection of outdoor gear", imageSrc: "http://img.b2bpic.net/free-photo/dark-storage-with-shelves-many-forms-creating-different-shoes-boots_613910-12916.jpg", imageAlt: "sports retail store interior shelves displays" },
|
||||
{ id: "3", value: "4", title: "Major Categories", description: "Fishing, Hunting, Camping, and Marine supplies", imageSrc: "http://img.b2bpic.net/free-photo/side-view-people-celebrating-outdoors_23-2149383092.jpg", imageAlt: "community gathering local people event" }
|
||||
];
|
||||
|
||||
@@ -122,7 +122,7 @@ export default function LandingPage() {
|
||||
borderRadius="soft"
|
||||
contentWidth="small"
|
||||
sizing="largeSmallSizeLargeTitles"
|
||||
background="circleGradient"
|
||||
background="aurora"
|
||||
cardStyle="inset"
|
||||
primaryButtonStyle="diagonal-gradient"
|
||||
secondaryButtonStyle="radial-glow"
|
||||
@@ -141,7 +141,7 @@ export default function LandingPage() {
|
||||
<HeroBillboardRotatedCarousel
|
||||
title="Top O'Lake Sport Shop"
|
||||
description="Michigan's Premier Sporting Goods Destination Since 1951. Your trusted source for fishing, hunting, camping, and marine supplies. Locally owned. Community focused."
|
||||
background={{ variant: "circleGradient" }}
|
||||
background={{ variant: "plain" }}
|
||||
tag="Schoolcraft County's Largest"
|
||||
tagIcon={Award}
|
||||
buttons={[
|
||||
@@ -161,7 +161,7 @@ export default function LandingPage() {
|
||||
tag="Local Heritage"
|
||||
tagIcon={MapPin}
|
||||
bulletPoints={aboutBulletPoints}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/dark-storage-with-shelves-many-forms-creating-different-shoes-boots_613910-12916.jpg?_wi=2"
|
||||
imageSrc="http://img.b2bpic.net/free-photo/dark-storage-with-shelves-many-forms-creating-different-shoes-boots_613910-12916.jpg"
|
||||
imageAlt="sports retail store interior shelves displays"
|
||||
imagePosition="right"
|
||||
textboxLayout="default"
|
||||
@@ -235,9 +235,9 @@ export default function LandingPage() {
|
||||
tag="Get In Touch"
|
||||
title="Visit Top O'Lake Sport Shop"
|
||||
description="Stop by our Schoolcraft County location to see our full selection of fishing, hunting, camping, and marine supplies. Our friendly staff is ready to help you find everything you need for your next adventure."
|
||||
background={{ variant: "circleGradient" }}
|
||||
background={{ variant: "plain" }}
|
||||
useInvertedBackground={false}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/mall-america-scenes-cinematic-style_23-2151551211.jpg?_wi=2"
|
||||
imageSrc="http://img.b2bpic.net/free-photo/mall-america-scenes-cinematic-style_23-2151551211.jpg"
|
||||
imageAlt="retail sports shop storefront exterior building"
|
||||
mediaAnimation="slide-up"
|
||||
mediaPosition="right"
|
||||
|
||||
@@ -1,51 +1,41 @@
|
||||
"use client";
|
||||
|
||||
import { memo } from "react";
|
||||
import useSvgTextLogo from "./useSvgTextLogo";
|
||||
import { cls } from "@/lib/utils";
|
||||
import React from 'react';
|
||||
|
||||
interface SvgTextLogoProps {
|
||||
logoText: string;
|
||||
adjustHeightFactor?: number;
|
||||
verticalAlign?: "top" | "center";
|
||||
text: string;
|
||||
size?: 'small' | 'medium' | 'large';
|
||||
className?: string;
|
||||
}
|
||||
|
||||
const SvgTextLogo = memo<SvgTextLogoProps>(function SvgTextLogo({
|
||||
logoText,
|
||||
adjustHeightFactor,
|
||||
verticalAlign = "top",
|
||||
className = "",
|
||||
}) {
|
||||
const { svgRef, textRef, viewBox, aspectRatio } = useSvgTextLogo(logoText, false, adjustHeightFactor);
|
||||
const SvgTextLogo: React.FC<SvgTextLogoProps> = ({ text, size = 'medium', className = '' }) => {
|
||||
const sizeMap = {
|
||||
small: { fontSize: '24px', width: '200', height: '60' },
|
||||
medium: { fontSize: '36px', width: '300', height: '80' },
|
||||
large: { fontSize: '48px', width: '400', height: '100' }
|
||||
};
|
||||
|
||||
const { fontSize, width, height } = sizeMap[size];
|
||||
|
||||
return (
|
||||
<svg
|
||||
ref={svgRef}
|
||||
viewBox={viewBox}
|
||||
className={cls("w-full", className)}
|
||||
style={{ aspectRatio: aspectRatio }}
|
||||
preserveAspectRatio="none"
|
||||
role="img"
|
||||
aria-label={`${logoText} logo`}
|
||||
width={width}
|
||||
height={height}
|
||||
viewBox={`0 0 ${width} ${height}`}
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
className={className}
|
||||
>
|
||||
<text
|
||||
ref={textRef}
|
||||
x="0"
|
||||
y={verticalAlign === "center" ? "50%" : "0"}
|
||||
className="font-bold fill-current"
|
||||
style={{
|
||||
fontSize: "20px",
|
||||
letterSpacing: "-0.02em",
|
||||
dominantBaseline: verticalAlign === "center" ? "middle" : "text-before-edge"
|
||||
}}
|
||||
x="50%"
|
||||
y="50%"
|
||||
textAnchor="middle"
|
||||
dominantBaseline="central"
|
||||
fontSize={fontSize}
|
||||
fontWeight="bold"
|
||||
fill="currentColor"
|
||||
>
|
||||
{logoText}
|
||||
{text}
|
||||
</text>
|
||||
</svg>
|
||||
);
|
||||
});
|
||||
|
||||
SvgTextLogo.displayName = "SvgTextLogo";
|
||||
};
|
||||
|
||||
export default SvgTextLogo;
|
||||
|
||||
Reference in New Issue
Block a user