fix(bug-link):replace link(router) to achor for external url

This commit is contained in:
sanjidarimi
2026-06-17 20:52:40 +06:00
parent aa7ee3f19e
commit a3afa63717
5 changed files with 34 additions and 32 deletions
-1
View File
@@ -34,7 +34,6 @@ export default function BlogSection() {
<div className="absolute inset-0 bg-gradient-to-b from-transparent via-primary/5 to-transparent" />
<div className="container mx-auto px-4 relative z-10">
{/* Section Header */}
<motion.div
initial={{ opacity: 0, y: 20 }}
whileInView={{ opacity: 1, y: 0 }}
+25 -14
View File
@@ -1,6 +1,6 @@
import logo from "@/assets/logo.webp";
import { motion } from "framer-motion";
import { Facebook, Github, Gitlab, Instagram, Linkedin, Mail, Twitter } from "lucide-react";
import { Facebook, Gitlab, Instagram, Linkedin } from "lucide-react";
import { Link } from "react-router-dom";
const quickLinks = [
@@ -24,7 +24,11 @@ const socials = [
href: "https://www.linkedin.com/company/techzaa",
label: "LinkedIn",
},
{ icon: Facebook, href: "https://www.facebook.com/techzaaalpha", label: "Facebook" },
{
icon: Facebook,
href: "https://www.facebook.com/techzaaalpha",
label: "Facebook",
},
{ icon: Gitlab, href: "https://gitlab.techzaa.tech", label: "Gitlab" },
{ icon: Instagram, href: "#", label: "Instagram" },
];
@@ -32,16 +36,16 @@ const socials = [
export default function Footer() {
return (
<footer className="relative overflow-hidden bg-secondary/50 py-20">
{/* Animated gradient divider */}
<div className="absolute top-0 left-0 right-0 h-1 gradient-primary-animated" />
{/* Background decoration */}
<div className="absolute inset-0 opacity-20">
<div className="absolute bottom-0 left-0 w-96 h-96 bg-primary/10 rounded-full blur-[150px]" />
<div className="absolute top-0 right-0 w-72 h-72 bg-neon-purple/10 rounded-full blur-[120px]" />
</div>
{/* Circuit pattern background */}
<div className="absolute inset-0 opacity-5">
<svg
className="w-full h-full"
@@ -70,7 +74,7 @@ export default function Footer() {
<div className="container mx-auto px-4 relative z-10">
<div className="grid md:grid-cols-2 lg:grid-cols-4 gap-12 mb-16">
{/* Brand */}
<motion.div
initial={{ opacity: 0, y: 20 }}
whileInView={{ opacity: 1, y: 0 }}
@@ -84,11 +88,9 @@ export default function Footer() {
Transforming ideas into powerful digital solutions. We build the
future with technology.
</p>
</motion.div>
{/* Quick Links */}
<motion.div
initial={{ opacity: 0, y: 20 }}
whileInView={{ opacity: 1, y: 0 }}
@@ -111,7 +113,7 @@ export default function Footer() {
</ul>
</motion.div>
{/* Services */}
<motion.div
initial={{ opacity: 0, y: 20 }}
whileInView={{ opacity: 1, y: 0 }}
@@ -157,7 +159,7 @@ export default function Footer() {
))}
</div>
<p className="text-muted-foreground text-sm">
Rangpur, Bangladesh
Rangpur, Bangladesh
<br />
techzaa.alpha@gmail.com
<br />
@@ -179,13 +181,22 @@ export default function Footer() {
© {new Date().getFullYear()} TechZaa. All rights reserved.
</p>
<div className="flex items-center gap-6 text-sm text-muted-foreground">
<Link to="/privacy" className="hover:text-primary transition-colors">
<Link
to="/privacy"
className="hover:text-primary transition-colors"
>
Privacy Policy
</Link>
<Link to="/privacy" className="hover:text-primary transition-colors">
<Link
to="/privacy"
className="hover:text-primary transition-colors"
>
Terms of Service
</Link>
<Link to="/privacy" className="hover:text-primary transition-colors">
<Link
to="/privacy"
className="hover:text-primary transition-colors"
>
Cookie Policy
</Link>
</div>
+2 -5
View File
@@ -1,11 +1,9 @@
import { motion, useInView } from "framer-motion";
import { Github, Linkedin, Twitter } from "lucide-react";
import { useRef } from "react";
import { Autoplay, Pagination } from "swiper/modules";
import { Swiper, SwiperSlide } from "swiper/react";
import { useTeam } from "@/hooks/queires/useTeam";
import { Link } from "react-router-dom";
import PremiumBadge from "../shared/PremiumBadge";
export default function TeamSection() {
@@ -19,14 +17,14 @@ export default function TeamSection() {
return (
<section id="team" ref={ref} className="pt-20 1relative overflow-hidden">
{/* Background decoration */}
<div className="absolute inset-0 opacity-30">
<div className="absolute top-0 right-1/4 w-72 h-72 bg-neon-purple/10 rounded-full blur-[120px]" />
<div className="absolute bottom-0 left-1/4 w-64 h-64 bg-primary/10 rounded-full blur-xl" />
</div>
<div className="container mx-auto px-4 relative z-10">
{/* Section Header */}
<motion.div
initial={{ opacity: 0, y: 20 }}
animate={isInView ? { opacity: 1, y: 0 } : {}}
@@ -42,7 +40,6 @@ export default function TeamSection() {
</p>
</motion.div>
{/* Team Slider Container */}
<div className="w-full">
<Swiper
direction={"horizontal"}
+6 -8
View File
@@ -16,11 +16,9 @@ import ReactMarkdown from "react-markdown";
import { Link, useNavigate, useParams } from "react-router-dom";
import remarkGfm from "remark-gfm";
import { toast } from "sonner";
export default function BlogArticle() {
const { id } = useParams<{ id: string }>();
const { data } = useBlogById(id);
const post = data?.data.data;
const navigate = useNavigate();
// const post = getPostBySlug(id || '');
@@ -337,24 +335,24 @@ export default function BlogArticle() {
<p className="text-muted-foreground mb-4">{post.author.bio}</p>
<div className="flex gap-3 justify-center md:justify-start">
{post.author.twitter && (
<Link
to={`https://twitter.com/${post.author.twitter}`}
<a
href={`https://twitter.com/${post.author.twitter}`}
target="_blank"
rel="noopener noreferrer"
className="p-2 rounded-full glass hover:neon-glow transition-all"
>
<Twitter className="w-5 h-5" />
</Link>
</a>
)}
{post.author.linkedin && (
<Link
to={`https://linkedin.com/in/${post.author.linkedin}`}
<a
href={`https://linkedin.com/in/${post.author.linkedin}`}
target="_blank"
rel="noopener noreferrer"
className="p-2 rounded-full glass hover:neon-glow transition-all"
>
<Linkedin className="w-5 h-5" />
</Link>
</a>
)}
</div>
</div>
-3
View File
@@ -77,7 +77,6 @@ export default function Projects() {
<div className="min-h-screen bg-background text-foreground antialiased selection:bg-primary/20">
<section className="pt-32 pb-12 relative overflow-hidden border-b border-border/40">
<div className="container mx-auto px-4 sm:px-6 lg:px-8 relative z-10">
{/* Back Arrow Wrapper - Kept clean on left side */}
<motion.div
initial={{ opacity: 0, x: shouldReduceMotion ? 0 : -10 }}
@@ -98,7 +97,6 @@ export default function Projects() {
</Button>
</motion.div>
{/* Core Header Content Module - Flex-centered alignment */}
<div className="w-full flex flex-col items-center justify-center text-center">
<div className="max-w-3xl mb-12">
<motion.h1
@@ -166,7 +164,6 @@ export default function Projects() {
</div>
</motion.div>
</div>
</div>
</section>