diff --git a/src/app/page.tsx b/src/app/page.tsx index f312fd8..0278bbe 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -50,7 +50,7 @@ export default function LandingPage() { ]} slides={[ { - imageSrc: "http://img.b2bpic.net/free-photo/businessman-working-with-laptop-office_23-2148017060.jpg?_wi=1", imageAlt: "Software engineer workspace" + imageSrc: "http://img.b2bpic.net/free-photo/businessman-working-with-laptop-office_23-2148017060.jpg", imageAlt: "Software engineer workspace" } ]} autoplayDelay={5000} @@ -69,6 +69,7 @@ export default function LandingPage() { ]} useInvertedBackground={false} mediaAnimation="slide-up" + metricsAnimation="slide-up" imageSrc="/placeholders/placeholder1.webp" imageAlt="Israr Ayub Resume" /> @@ -109,16 +110,16 @@ export default function LandingPage() { tag="Expertise" products={[ { - id: "1", name: "Languages", price: "C#, Python, Java, JavaScript", imageSrc: "http://img.b2bpic.net/free-photo/businessman-working-with-laptop-office_23-2148017060.jpg?_wi=2", imageAlt: "Programming Languages" + id: "1", name: "Languages", price: "C#, Python, Java, JavaScript", imageSrc: "http://img.b2bpic.net/free-photo/businessman-working-with-laptop-office_23-2148017060.jpg", imageAlt: "Programming Languages" }, { - id: "2", name: "Web Technologies", price: "ASP.NET, HTML5, CSS3, React, Tailwind", imageSrc: "http://img.b2bpic.net/free-photo/businessman-working-with-laptop-office_23-2148017060.jpg?_wi=3", imageAlt: "Web Technologies" + id: "2", name: "Web Technologies", price: "ASP.NET, HTML5, CSS3, React, Tailwind", imageSrc: "http://img.b2bpic.net/free-photo/businessman-working-with-laptop-office_23-2148017060.jpg", imageAlt: "Web Technologies" }, { - id: "3", name: "Databases", price: "MySQL, Firebase, MongoDB, Atlas", imageSrc: "http://img.b2bpic.net/free-photo/businessman-working-with-laptop-office_23-2148017060.jpg?_wi=4", imageAlt: "Database Systems" + id: "3", name: "Databases", price: "MySQL, Firebase, MongoDB, Atlas", imageSrc: "http://img.b2bpic.net/free-photo/businessman-working-with-laptop-office_23-2148017060.jpg", imageAlt: "Database Systems" }, { - id: "4", name: "Tools & Platforms", price: "Git, GitHub, Docker, Linux, VS Code", imageSrc: "http://img.b2bpic.net/free-photo/businessman-working-with-laptop-office_23-2148017060.jpg?_wi=5", imageAlt: "Developer Tools" + id: "4", name: "Tools & Platforms", price: "Git, GitHub, Docker, Linux, VS Code", imageSrc: "http://img.b2bpic.net/free-photo/businessman-working-with-laptop-office_23-2148017060.jpg", imageAlt: "Developer Tools" } ]} gridVariant="four-items-2x2-equal-grid" diff --git a/src/components/shared/SvgTextLogo/SvgTextLogo.tsx b/src/components/shared/SvgTextLogo/SvgTextLogo.tsx index f214190..898d116 100644 --- a/src/components/shared/SvgTextLogo/SvgTextLogo.tsx +++ b/src/components/shared/SvgTextLogo/SvgTextLogo.tsx @@ -1,51 +1,56 @@ -"use client"; +import React, { SVGProps } from "react"; -import { memo } from "react"; -import useSvgTextLogo from "./useSvgTextLogo"; -import { cls } from "@/lib/utils"; - -interface SvgTextLogoProps { - logoText: string; - adjustHeightFactor?: number; - verticalAlign?: "top" | "center"; - className?: string; +interface SvgTextLogoProps extends SVGProps { + text: string; + fontSize?: number; + fontWeight?: number | string; + letterSpacing?: number; } -const SvgTextLogo = memo(function SvgTextLogo({ - logoText, - adjustHeightFactor, - verticalAlign = "top", - className = "", -}) { - const { svgRef, textRef, viewBox, aspectRatio } = useSvgTextLogo(logoText, false, adjustHeightFactor); +const SvgTextLogo = React.forwardRef( + ( + { + text, + fontSize = 48, + fontWeight = 700, + letterSpacing = 0, + className, + ...props + }, + ref + ) => { + const textLength = text.length; + const charWidth = fontSize * 0.6; + const width = textLength * charWidth + 40; + const height = fontSize + 20; - return ( - - - {logoText} - - - ); -}); + + {text} + + + ); + } +); SvgTextLogo.displayName = "SvgTextLogo"; -export default SvgTextLogo; +export default SvgTextLogo; \ No newline at end of file