From 4ac69d81077583b53fc04c7405f83faf3150fde4 Mon Sep 17 00:00:00 2001 From: bender Date: Fri, 13 Mar 2026 09:46:42 +0000 Subject: [PATCH 1/3] Update src/app/contact/page.tsx --- src/app/contact/page.tsx | 375 ++++----------------------------------- 1 file changed, 37 insertions(+), 338 deletions(-) diff --git a/src/app/contact/page.tsx b/src/app/contact/page.tsx index 3d195d9..a5c04f9 100644 --- a/src/app/contact/page.tsx +++ b/src/app/contact/page.tsx @@ -2,56 +2,10 @@ import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; import NavbarStyleCentered from "@/components/navbar/NavbarStyleCentered/NavbarStyleCentered"; -import HeroSplitKpi from "@/components/sections/hero/HeroSplitKpi"; -import FeatureCardOne from "@/components/sections/feature/FeatureCardOne"; -import ProductCardTwo from "@/components/sections/product/ProductCardTwo"; -import MetricCardSeven from "@/components/sections/metrics/MetricCardSeven"; -import TeamCardFive from "@/components/sections/team/TeamCardFive"; -import TestimonialCardTwo from "@/components/sections/testimonial/TestimonialCardTwo"; import ContactText from "@/components/sections/contact/ContactText"; import FooterBaseReveal from "@/components/sections/footer/FooterBaseReveal"; -import Link from "next/link"; -import { Sparkles, Zap, Award, CheckCircle, Briefcase, Star } from "lucide-react"; export default function ContactPage() { - const navItems = [ - { name: "Home", id: "/" }, - { name: "Services", id: "services" }, - { name: "Portfolio", id: "portfolio" }, - { name: "Career", id: "team" }, - { name: "Contact", id: "contact" }, - ]; - - const footerColumns = [ - { - title: "Product", - items: [ - { label: "Services", href: "/#services" }, - { label: "Portfolio", href: "/#portfolio" }, - { label: "Pricing", href: "#" }, - { label: "Documentation", href: "#" }, - ], - }, - { - title: "Company", - items: [ - { label: "About Us", href: "#" }, - { label: "Team", href: "/#team" }, - { label: "Careers", href: "/careers" }, - { label: "Blog", href: "#" }, - ], - }, - { - title: "Connect", - items: [ - { label: "Contact", href: "/#contact" }, - { label: "Twitter", href: "https://twitter.com" }, - { label: "LinkedIn", href: "https://linkedin.com" }, - { label: "GitHub", href: "https://github.com" }, - ], - }, - ]; - return ( -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
-
-- 2.49.1 From c219506ad5ef8e7713d75fcc17e97a3867a0ae73 Mon Sep 17 00:00:00 2001 From: bender Date: Fri, 13 Mar 2026 09:46:43 +0000 Subject: [PATCH 2/3] Update src/app/page.tsx --- src/app/page.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/page.tsx b/src/app/page.tsx index ed67b78..8627619 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -46,7 +46,7 @@ export default function HomePage() { Date: Fri, 13 Mar 2026 09:46:43 +0000 Subject: [PATCH 3/3] Update src/components/shared/SvgTextLogo/SvgTextLogo.tsx --- .../shared/SvgTextLogo/SvgTextLogo.tsx | 86 ++++++++++--------- 1 file changed, 45 insertions(+), 41 deletions(-) diff --git a/src/components/shared/SvgTextLogo/SvgTextLogo.tsx b/src/components/shared/SvgTextLogo/SvgTextLogo.tsx index f214190..062e774 100644 --- a/src/components/shared/SvgTextLogo/SvgTextLogo.tsx +++ b/src/components/shared/SvgTextLogo/SvgTextLogo.tsx @@ -1,51 +1,55 @@ -"use client"; +import React, { useEffect, useRef } from 'react'; -import { memo } from "react"; -import useSvgTextLogo from "./useSvgTextLogo"; -import { cls } from "@/lib/utils"; +const SvgTextLogo = ({ text = 'WEBUILD' }: { text?: string }) => { + const svgRef = useRef(null); -interface SvgTextLogoProps { - logoText: string; - adjustHeightFactor?: number; - verticalAlign?: "top" | "center"; - className?: string; -} + useEffect(() => { + if (svgRef.current) { + const letters = text.split(''); + const radius = 80; + const cx = 100; + const cy = 100; -const SvgTextLogo = memo(function SvgTextLogo({ - logoText, - adjustHeightFactor, - verticalAlign = "top", - className = "", -}) { - const { svgRef, textRef, viewBox, aspectRatio } = useSvgTextLogo(logoText, false, adjustHeightFactor); + letters.forEach((letter, i) => { + const angle = (i / letters.length) * 2 * Math.PI - Math.PI / 2; + const x = cx + radius * Math.cos(angle); + const y = cy + radius * Math.sin(angle); + + const rotation = ((i / letters.length) * 360) + 90; + + const tspan = document.createElementNS('http://www.w3.org/2000/svg', 'text'); + tspan.setAttribute('x', x.toString()); + tspan.setAttribute('y', y.toString()); + tspan.setAttribute('transform', `rotate(${rotation} ${x} ${y})`); + tspan.setAttribute('text-anchor', 'middle'); + tspan.setAttribute('dominant-baseline', 'central'); + tspan.setAttribute('font-size', '16'); + tspan.setAttribute('font-weight', 'bold'); + tspan.setAttribute('fill', 'currentColor'); + tspan.textContent = letter; + + svgRef.current?.appendChild(tspan); + }); + } + + return () => { + if (svgRef.current) { + while (svgRef.current.firstChild) { + svgRef.current.removeChild(svgRef.current.firstChild); + } + } + }; + }, [text]); return ( - - {logoText} - - + width="200" + height="200" + viewBox="0 0 200 200" + className="text-current" + /> ); -}); - -SvgTextLogo.displayName = "SvgTextLogo"; +}; export default SvgTextLogo; -- 2.49.1