diff --git a/src/app/page.tsx b/src/app/page.tsx index ecda86c..4bc5c03 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -6,7 +6,7 @@ import HeroSplitTestimonial from '@/components/sections/hero/HeroSplitTestimonia import SplitAbout from '@/components/sections/about/SplitAbout'; import FeatureHoverPattern from '@/components/sections/feature/featureHoverPattern/FeatureHoverPattern'; import FooterSimple from '@/components/sections/footer/FooterSimple'; -import { Code, Cpu, Crosshair, Cube, Leaf, Rocket, User, Wind, Zap, Globe } from "lucide-react"; +import { Code, Cpu, Crosshair, Leaf, Rocket, User, Wind, Zap, Globe, Layout } from "lucide-react"; export default function LandingPage() { return ( @@ -91,7 +91,7 @@ export default function LandingPage() { title: "Autonomous Robotics", description: "Intelligent systems design, sensor integration, and autonomous decision-making algorithms.", icon: Zap }, { - title: "3D Visualization", description: "Interactive 3D environments, real-time rendering, and immersive user experiences.", icon: Cube + title: "3D Visualization", description: "Interactive 3D environments, real-time rendering, and immersive user experiences.", icon: Layout }, { title: "Software Architecture", description: "Scalable system design, real-time performance optimization, and robust engineering frameworks.", icon: Code @@ -137,7 +137,7 @@ export default function LandingPage() { title: "CFD Wing Analysis", description: "Advanced aerodynamic simulation using computational fluid dynamics to optimize aircraft wing performance, pressure distribution, and fuel efficiency." }, { - icon: Cube, + icon: Layout, title: "Portfolio V1", description: "Interactive 3D design system showcasing digital presence through immersive spatial experience and minimalist interface patterns." } ]} diff --git a/src/components/shared/SvgTextLogo/SvgTextLogo.tsx b/src/components/shared/SvgTextLogo/SvgTextLogo.tsx index f214190..6b6af74 100644 --- a/src/components/shared/SvgTextLogo/SvgTextLogo.tsx +++ b/src/components/shared/SvgTextLogo/SvgTextLogo.tsx @@ -1,51 +1,52 @@ -"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; + fontSize?: number; + letterSpacing?: number; + textColor?: string; + dominantBaseline?: 'auto' | 'text-top' | 'hanging' | 'middle' | 'central' | 'text-bottom' | 'ideographic' | 'mathematical' | 'inherit'; } -const SvgTextLogo = memo(function SvgTextLogo({ - logoText, - adjustHeightFactor, - verticalAlign = "top", - className = "", -}) { - const { svgRef, textRef, viewBox, aspectRatio } = useSvgTextLogo(logoText, false, adjustHeightFactor); +const SvgTextLogo: React.FC = ({ + text, + className = '', + fontSize = 48, + letterSpacing = 2, + textColor = '#000000', + dominantBaseline = 'central' +}) => { + const textLength = text.length; + const totalWidth = textLength * (fontSize * 0.6) + (textLength - 1) * letterSpacing; + const padding = 20; + const svgWidth = totalWidth + padding * 2; + const svgHeight = fontSize + padding * 2; return ( - {logoText} + {text} ); -}); - -SvgTextLogo.displayName = "SvgTextLogo"; +}; export default SvgTextLogo;