Merge version_1 into main #2
@@ -50,11 +50,11 @@ export default function LandingPage() {
|
||||
]}
|
||||
buttonAnimation="slide-up"
|
||||
mediaItems={[
|
||||
{ imageSrc: "http://img.b2bpic.net/free-vector/flat-design-minimal-boutique-landing-page_23-2149315435.jpg?_wi=1", imageAlt: "Minimalist Skincare Template" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-vector/running-mobile-app-infographic-flat-design_52683-16376.jpg?_wi=1", imageAlt: "Dark Dashboard Template" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-vector/travel-landing-page-with-photo_23-2148379403.jpg?_wi=1", imageAlt: "Luxury Travel Template" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/close-up-smiling-person-conference-room_23-2149085913.jpg?_wi=1", imageAlt: "Business Strategy Template" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-vector/training-sport-landing-page-with-photo_23-2148299131.jpg?_wi=1", imageAlt: "Personal Trainer Template" }
|
||||
{ imageSrc: "http://img.b2bpic.net/free-vector/flat-design-minimal-boutique-landing-page_23-2149315435.jpg", imageAlt: "Minimalist Skincare Template" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-vector/running-mobile-app-infographic-flat-design_52683-16376.jpg", imageAlt: "Dark Dashboard Template" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-vector/travel-landing-page-with-photo_23-2148379403.jpg", imageAlt: "Luxury Travel Template" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/close-up-smiling-person-conference-room_23-2149085913.jpg", imageAlt: "Business Strategy Template" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-vector/training-sport-landing-page-with-photo_23-2148299131.jpg", imageAlt: "Personal Trainer Template" }
|
||||
]}
|
||||
mediaAnimation="slide-up"
|
||||
/>
|
||||
@@ -70,19 +70,19 @@ export default function LandingPage() {
|
||||
animationType="slide-up"
|
||||
blogs={[
|
||||
{
|
||||
id: "1", category: "Skincare", title: "Luminé", excerpt: "Pure, natural skincare formulated for radiant, glowing skin", imageSrc: "http://img.b2bpic.net/free-vector/flat-design-minimal-boutique-landing-page_23-2149315435.jpg?_wi=2", imageAlt: "Luminé Skincare Template", authorName: "Marksy", authorAvatar: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AqWeq0UmdgUoy2yg4QR3Ylf26g/uploaded-1773321224831-ikaww669.png", date: "Premium Template"
|
||||
id: "1", category: "Skincare", title: "Luminé", excerpt: "Pure, natural skincare formulated for radiant, glowing skin", imageSrc: "http://img.b2bpic.net/free-vector/flat-design-minimal-boutique-landing-page_23-2149315435.jpg", imageAlt: "Luminé Skincare Template", authorName: "Marksy", authorAvatar: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AqWeq0UmdgUoy2yg4QR3Ylf26g/uploaded-1773321224831-ikaww669.png", date: "Premium Template"
|
||||
},
|
||||
{
|
||||
id: "2", category: "AI Agents", title: "AI Agents", excerpt: "Build Autonomous AI Agents That Actually Work", imageSrc: "http://img.b2bpic.net/free-vector/running-mobile-app-infographic-flat-design_52683-16376.jpg?_wi=2", imageAlt: "AI Dashboard Template", authorName: "Marksy", authorAvatar: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AqWeq0UmdgUoy2yg4QR3Ylf26g/uploaded-1773321224831-ikaww669.png", date: "Premium Template"
|
||||
id: "2", category: "AI Agents", title: "AI Agents", excerpt: "Build Autonomous AI Agents That Actually Work", imageSrc: "http://img.b2bpic.net/free-vector/running-mobile-app-infographic-flat-design_52683-16376.jpg", imageAlt: "AI Dashboard Template", authorName: "Marksy", authorAvatar: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AqWeq0UmdgUoy2yg4QR3Ylf26g/uploaded-1773321224831-ikaww669.png", date: "Premium Template"
|
||||
},
|
||||
{
|
||||
id: "3", category: "Travel", title: "Luxuria", excerpt: "Experience the world's most extraordinary destinations", imageSrc: "http://img.b2bpic.net/free-vector/travel-landing-page-with-photo_23-2148379403.jpg?_wi=2", imageAlt: "Luxury Travel Template", authorName: "Marksy", authorAvatar: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AqWeq0UmdgUoy2yg4QR3Ylf26g/uploaded-1773321224831-ikaww669.png", date: "Premium Template"
|
||||
id: "3", category: "Travel", title: "Luxuria", excerpt: "Experience the world's most extraordinary destinations", imageSrc: "http://img.b2bpic.net/free-vector/travel-landing-page-with-photo_23-2148379403.jpg", imageAlt: "Luxury Travel Template", authorName: "Marksy", authorAvatar: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AqWeq0UmdgUoy2yg4QR3Ylf26g/uploaded-1773321224831-ikaww669.png", date: "Premium Template"
|
||||
},
|
||||
{
|
||||
id: "4", category: "Business", title: "Transform your business", excerpt: "Strategic consulting for modern enterprises", imageSrc: "http://img.b2bpic.net/free-photo/close-up-smiling-person-conference-room_23-2149085913.jpg?_wi=2", imageAlt: "Business Strategy Template", authorName: "Marksy", authorAvatar: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AqWeq0UmdgUoy2yg4QR3Ylf26g/uploaded-1773321224831-ikaww669.png", date: "Premium Template"
|
||||
id: "4", category: "Business", title: "Transform your business", excerpt: "Strategic consulting for modern enterprises", imageSrc: "http://img.b2bpic.net/free-photo/close-up-smiling-person-conference-room_23-2149085913.jpg", imageAlt: "Business Strategy Template", authorName: "Marksy", authorAvatar: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AqWeq0UmdgUoy2yg4QR3Ylf26g/uploaded-1773321224831-ikaww669.png", date: "Premium Template"
|
||||
},
|
||||
{
|
||||
id: "5", category: "Fitness", title: "Personal Trainer", excerpt: "Transform Your Body, Transform Your Life", imageSrc: "http://img.b2bpic.net/free-vector/training-sport-landing-page-with-photo_23-2148299131.jpg?_wi=2", imageAlt: "Personal Trainer Template", authorName: "Marksy", authorAvatar: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AqWeq0UmdgUoy2yg4QR3Ylf26g/uploaded-1773321224831-ikaww669.png", date: "Premium Template"
|
||||
id: "5", category: "Fitness", title: "Personal Trainer", excerpt: "Transform Your Body, Transform Your Life", imageSrc: "http://img.b2bpic.net/free-vector/training-sport-landing-page-with-photo_23-2148299131.jpg", imageAlt: "Personal Trainer Template", authorName: "Marksy", authorAvatar: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AqWeq0UmdgUoy2yg4QR3Ylf26g/uploaded-1773321224831-ikaww669.png", date: "Premium Template"
|
||||
},
|
||||
{
|
||||
id: "6", category: "Dental", title: "Dentist", excerpt: "California's Premier Luxury Dental Practice", imageSrc: "http://img.b2bpic.net/free-vector/dental-clinic-template-design_23-2149573942.jpg", imageAlt: "Dentist Template", authorName: "Marksy", authorAvatar: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AqWeq0UmdgUoy2yg4QR3Ylf26g/uploaded-1773321224831-ikaww669.png", date: "Premium Template"
|
||||
@@ -162,6 +162,7 @@ export default function LandingPage() {
|
||||
imageSrc="http://img.b2bpic.net/free-vector/landing-page-background_23-2148003285.jpg"
|
||||
imageAlt="Marksy AI Interface"
|
||||
mediaAnimation="slide-up"
|
||||
metricsAnimation="slide-up"
|
||||
/>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -1,51 +1,30 @@
|
||||
"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;
|
||||
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, className = '' }) => {
|
||||
return (
|
||||
<svg
|
||||
ref={svgRef}
|
||||
viewBox={viewBox}
|
||||
className={cls("w-full", className)}
|
||||
style={{ aspectRatio: aspectRatio }}
|
||||
preserveAspectRatio="none"
|
||||
role="img"
|
||||
aria-label={`${logoText} logo`}
|
||||
viewBox="0 0 300 100"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
className={`w-full h-auto ${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="middle"
|
||||
fontSize="48"
|
||||
fontWeight="bold"
|
||||
fill="currentColor"
|
||||
>
|
||||
{logoText}
|
||||
{text}
|
||||
</text>
|
||||
</svg>
|
||||
);
|
||||
});
|
||||
|
||||
SvgTextLogo.displayName = "SvgTextLogo";
|
||||
};
|
||||
|
||||
export default SvgTextLogo;
|
||||
|
||||
Reference in New Issue
Block a user