import { useState } from 'react'; import { motion } from 'framer-motion'; import { ArrowLeft, Calendar, Clock, User, Search } from 'lucide-react'; import { Link } from 'react-router-dom'; import { Button } from '@/components/ui/button'; import { Input } from '@/components/ui/input'; import Navbar from '@/components/Navbar'; import Footer from '@/components/Footer'; import PageTransition from '@/components/PageTransition'; import { useBlogs } from './../hooks/queires/useBlogs'; const categories = ['All', 'AI & Machine Learning', 'Cloud Solutions', 'Web Development', 'Mobile Development']; const containerVariants = { hidden: { opacity: 0 }, visible: { opacity: 1, transition: { staggerChildren: 0.1 }, }, }; const itemVariants = { hidden: { opacity: 0, y: 30 }, visible: { opacity: 1, y: 0, transition: { duration: 0.5, ease: 'easeOut' as const }, }, }; export default function Blog() { const {data} = useBlogs(); const blogPosts = data?.data.result; const [activeCategory, setActiveCategory] = useState('All'); const [searchQuery, setSearchQuery] = useState(''); const filteredPosts = blogPosts?.filter(post => { const matchesCategory = activeCategory === 'All' || post.category === activeCategory; const matchesSearch = post.title.toLowerCase().includes(searchQuery.toLowerCase()) || post.excerpt.toLowerCase().includes(searchQuery.toLowerCase()); return matchesCategory && matchesSearch; }); return (
{/* Hero Section */}

Our Blog

Insights, tutorials, and thought leadership from our team of experts.

{/* Search */}
setSearchQuery(e.target.value)} className="pl-12 py-6 rounded-full glass border-primary/30 focus:border-primary" />
{/* Category Filter */} {categories.map((category) => ( ))}
{/* Blog Posts Grid */}
{filteredPosts?.map((post) => (
{post.title}
{post.category}

{post.title}

{post.excerpt}

{post.author.name} {new Date(post.date).toLocaleDateString('en-US', { month: 'short', day: 'numeric' })} {post.readTime}
))} {filteredPosts?.length === 0 && (

No articles found matching your criteria.

)}
); }