From 5249561a54a3c6891b5abc4169e3b361c2207df1 Mon Sep 17 00:00:00 2001 From: sanjidarimi Date: Thu, 14 May 2026 20:21:03 +0600 Subject: [PATCH] fixed folder stucture --- src/App.tsx | 2 +- src/components/{ => home}/AboutSection.tsx | 3 +- src/components/{ => home}/BlogSection.tsx | 2 +- src/components/{ => home}/ContactModal.tsx | 0 src/components/{ => home}/ContactSection.tsx | 2 +- src/components/{ => home}/FAQSection.tsx | 2 +- src/components/{ => home}/Footer.tsx | 0 src/components/{ => home}/HeroSection.tsx | 0 src/components/{ => home}/NavLink.tsx | 0 src/components/{ => home}/Navbar.tsx | 0 src/components/{ => home}/PageTransition.tsx | 0 src/components/{ => home}/ProjectCard.tsx | 0 src/components/{ => home}/ProjectsSection.tsx | 2 +- src/components/{ => home}/ScrollToTop.tsx | 0 src/components/{ => home}/ServicesSection.tsx | 2 +- src/components/{ => home}/TeamSection.tsx | 2 +- .../{ => home}/TestimonialsSection.tsx | 10 ++-- src/pages/Blog.tsx | 2 +- src/pages/BlogArticle.tsx | 2 +- src/pages/Index.tsx | 19 +++---- src/pages/ProjectDetails.tsx | 2 +- src/pages/Projects.tsx | 2 +- .../components/projects/ManageProject.tsx | 2 +- src/pages/admins/layout/MainLayout.tsx | 4 +- src/types/projects.type.ts | 53 ++++++++++++++++++- 25 files changed, 84 insertions(+), 29 deletions(-) rename src/components/{ => home}/AboutSection.tsx (99%) rename src/components/{ => home}/BlogSection.tsx (99%) rename src/components/{ => home}/ContactModal.tsx (100%) rename src/components/{ => home}/ContactSection.tsx (99%) rename src/components/{ => home}/FAQSection.tsx (99%) rename src/components/{ => home}/Footer.tsx (100%) rename src/components/{ => home}/HeroSection.tsx (100%) rename src/components/{ => home}/NavLink.tsx (100%) rename src/components/{ => home}/Navbar.tsx (100%) rename src/components/{ => home}/PageTransition.tsx (100%) rename src/components/{ => home}/ProjectCard.tsx (100%) rename src/components/{ => home}/ProjectsSection.tsx (98%) rename src/components/{ => home}/ScrollToTop.tsx (100%) rename src/components/{ => home}/ServicesSection.tsx (98%) rename src/components/{ => home}/TeamSection.tsx (99%) rename src/components/{ => home}/TestimonialsSection.tsx (95%) diff --git a/src/App.tsx b/src/App.tsx index 3532875..56a88e0 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -4,7 +4,7 @@ import { ThemeProvider } from "@/contexts/ThemeContext"; import { ReactQueryDevtools } from "@tanstack/react-query-devtools"; import { AnimatePresence } from "framer-motion"; import { BrowserRouter, Route, Routes, useLocation } from "react-router-dom"; -import ScrollToTop from "./components/ScrollToTop"; +import ScrollToTop from "./components/home/ScrollToTop"; import OverviewPage from "./pages/admins/components/dashboards/OverviewPage"; import ManageProject from "./pages/admins/components/projects/ManageProject"; import DashboardLayout from "./pages/admins/layout/DashboardLayout"; diff --git a/src/components/AboutSection.tsx b/src/components/home/AboutSection.tsx similarity index 99% rename from src/components/AboutSection.tsx rename to src/components/home/AboutSection.tsx index c421b01..6d15be4 100644 --- a/src/components/AboutSection.tsx +++ b/src/components/home/AboutSection.tsx @@ -1,7 +1,8 @@ import { motion, useInView } from "framer-motion"; import { Award, Rocket, Users, Zap } from "lucide-react"; import { useEffect, useRef, useState } from "react"; -import PremiumBadge from "./shared/PremiumBadge"; +import PremiumBadge from "../shared/PremiumBadge"; + const stats = [ { icon: Zap, value: 10, suffix: "+", label: "Years Experience" }, diff --git a/src/components/BlogSection.tsx b/src/components/home/BlogSection.tsx similarity index 99% rename from src/components/BlogSection.tsx rename to src/components/home/BlogSection.tsx index b2be957..c2d675a 100644 --- a/src/components/BlogSection.tsx +++ b/src/components/home/BlogSection.tsx @@ -3,7 +3,7 @@ import { useBlogs } from "@/hooks/queires/useBlogs"; import { motion } from "framer-motion"; import { ArrowRight, Calendar, Clock, User } from "lucide-react"; import { Link } from "react-router-dom"; -import PremiumBadge from "./shared/PremiumBadge"; +import PremiumBadge from "../shared/PremiumBadge"; const containerVariants = { hidden: { opacity: 0 }, diff --git a/src/components/ContactModal.tsx b/src/components/home/ContactModal.tsx similarity index 100% rename from src/components/ContactModal.tsx rename to src/components/home/ContactModal.tsx diff --git a/src/components/ContactSection.tsx b/src/components/home/ContactSection.tsx similarity index 99% rename from src/components/ContactSection.tsx rename to src/components/home/ContactSection.tsx index 1adcbb5..42305ba 100644 --- a/src/components/ContactSection.tsx +++ b/src/components/home/ContactSection.tsx @@ -4,7 +4,7 @@ import { Textarea } from "@/components/ui/textarea"; import { motion, useInView } from "framer-motion"; import { CheckCircle, Mail, MapPin, Phone, Send } from "lucide-react"; import { useRef, useState } from "react"; -import PremiumBadge from "./shared/PremiumBadge"; +import PremiumBadge from "../shared/PremiumBadge"; const contactInfo = [ { icon: Mail, label: "Email", value: "techzaa.alpha@gmail.com" }, diff --git a/src/components/FAQSection.tsx b/src/components/home/FAQSection.tsx similarity index 99% rename from src/components/FAQSection.tsx rename to src/components/home/FAQSection.tsx index db257d3..43ad473 100644 --- a/src/components/FAQSection.tsx +++ b/src/components/home/FAQSection.tsx @@ -7,7 +7,7 @@ import { import { motion, useInView, useScroll, useSpring } from "framer-motion"; import { Sparkles } from "lucide-react"; import { useRef, useState } from "react"; -import PremiumBadge from "./shared/PremiumBadge"; +import PremiumBadge from "../shared/PremiumBadge"; const faqs = [ { diff --git a/src/components/Footer.tsx b/src/components/home/Footer.tsx similarity index 100% rename from src/components/Footer.tsx rename to src/components/home/Footer.tsx diff --git a/src/components/HeroSection.tsx b/src/components/home/HeroSection.tsx similarity index 100% rename from src/components/HeroSection.tsx rename to src/components/home/HeroSection.tsx diff --git a/src/components/NavLink.tsx b/src/components/home/NavLink.tsx similarity index 100% rename from src/components/NavLink.tsx rename to src/components/home/NavLink.tsx diff --git a/src/components/Navbar.tsx b/src/components/home/Navbar.tsx similarity index 100% rename from src/components/Navbar.tsx rename to src/components/home/Navbar.tsx diff --git a/src/components/PageTransition.tsx b/src/components/home/PageTransition.tsx similarity index 100% rename from src/components/PageTransition.tsx rename to src/components/home/PageTransition.tsx diff --git a/src/components/ProjectCard.tsx b/src/components/home/ProjectCard.tsx similarity index 100% rename from src/components/ProjectCard.tsx rename to src/components/home/ProjectCard.tsx diff --git a/src/components/ProjectsSection.tsx b/src/components/home/ProjectsSection.tsx similarity index 98% rename from src/components/ProjectsSection.tsx rename to src/components/home/ProjectsSection.tsx index df8969f..1adf35e 100644 --- a/src/components/ProjectsSection.tsx +++ b/src/components/home/ProjectsSection.tsx @@ -5,7 +5,7 @@ import { ArrowRight } from "lucide-react"; import { useRef } from "react"; import { Link } from "react-router-dom"; import { ProjectCard } from "./ProjectCard"; -import PremiumBadge from "./shared/PremiumBadge"; +import PremiumBadge from "../shared/PremiumBadge"; const gradientColors = [ "from-neon-blue/90", diff --git a/src/components/ScrollToTop.tsx b/src/components/home/ScrollToTop.tsx similarity index 100% rename from src/components/ScrollToTop.tsx rename to src/components/home/ScrollToTop.tsx diff --git a/src/components/ServicesSection.tsx b/src/components/home/ServicesSection.tsx similarity index 98% rename from src/components/ServicesSection.tsx rename to src/components/home/ServicesSection.tsx index e01ac7d..d7efef3 100644 --- a/src/components/ServicesSection.tsx +++ b/src/components/home/ServicesSection.tsx @@ -1,7 +1,7 @@ import { motion, useInView } from "framer-motion"; import { Brain, Cloud, Globe, Smartphone } from "lucide-react"; import { useRef } from "react"; -import PremiumBadge from "./shared/PremiumBadge"; +import PremiumBadge from "../shared/PremiumBadge"; const services = [ { diff --git a/src/components/TeamSection.tsx b/src/components/home/TeamSection.tsx similarity index 99% rename from src/components/TeamSection.tsx rename to src/components/home/TeamSection.tsx index 7889c19..ebd58c4 100644 --- a/src/components/TeamSection.tsx +++ b/src/components/home/TeamSection.tsx @@ -6,7 +6,7 @@ import { Swiper, SwiperSlide } from "swiper/react"; import { useTeam } from "@/hooks/queires/useTeam"; import { Link } from "react-router-dom"; -import PremiumBadge from "./shared/PremiumBadge"; +import PremiumBadge from "../shared/PremiumBadge"; export default function TeamSection() { const { data: teamdata } = useTeam(); diff --git a/src/components/TestimonialsSection.tsx b/src/components/home/TestimonialsSection.tsx similarity index 95% rename from src/components/TestimonialsSection.tsx rename to src/components/home/TestimonialsSection.tsx index 15752a4..7da4c3c 100644 --- a/src/components/TestimonialsSection.tsx +++ b/src/components/home/TestimonialsSection.tsx @@ -5,6 +5,7 @@ import useEmblaCarousel from "embla-carousel-react"; import { motion } from "framer-motion"; import { ChevronLeft, ChevronRight, Quote, Star } from "lucide-react"; import { useCallback, useEffect, useState } from "react"; +import PremiumBadge from "../shared/PremiumBadge"; export default function TestimonialsSection() { const { data: reveiwsData } = useReviews(); @@ -50,11 +51,12 @@ export default function TestimonialsSection() { transition={{ duration: 0.6 }} className="text-center mb-16" > - - Client Stories - +

- What Our Clients Say + What Our{" "} + + Clients Say +

Don't just take our word for it - hear from the amazing companies diff --git a/src/pages/Blog.tsx b/src/pages/Blog.tsx index 8acacfc..ffc4761 100644 --- a/src/pages/Blog.tsx +++ b/src/pages/Blog.tsx @@ -1,4 +1,4 @@ -import PageTransition from "@/components/PageTransition"; +import PageTransition from "@/components/home/PageTransition"; import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; import { motion } from "framer-motion"; diff --git a/src/pages/BlogArticle.tsx b/src/pages/BlogArticle.tsx index f0de011..b3095d3 100644 --- a/src/pages/BlogArticle.tsx +++ b/src/pages/BlogArticle.tsx @@ -1,4 +1,4 @@ -import PageTransition from "@/components/PageTransition"; +import PageTransition from "@/components/home/PageTransition"; import { Button } from "@/components/ui/button"; import { getRelatedPosts } from "@/data/blogData"; import { useBlogById } from "@/hooks/queires/useBlogs"; diff --git a/src/pages/Index.tsx b/src/pages/Index.tsx index b8f275b..dc2dd67 100644 --- a/src/pages/Index.tsx +++ b/src/pages/Index.tsx @@ -1,12 +1,13 @@ -import AboutSection from "@/components/AboutSection"; -import ContactSection from "@/components/ContactSection"; -import FAQSection from "@/components/FAQSection"; -import HeroSection from "@/components/HeroSection"; -import PageTransition from "@/components/PageTransition"; -import ProjectsSection from "@/components/ProjectsSection"; -import ServicesSection from "@/components/ServicesSection"; -import TeamSection from "@/components/TeamSection"; -import TestimonialsSection from "@/components/TestimonialsSection"; +import AboutSection from "@/components/home/AboutSection"; +import ContactSection from "@/components/home/ContactSection"; +import FAQSection from "@/components/home/FAQSection"; +import HeroSection from "@/components/home/HeroSection"; +import PageTransition from "@/components/home/PageTransition"; +import ProjectsSection from "@/components/home/ProjectsSection"; +import ServicesSection from "@/components/home/ServicesSection"; +import TeamSection from "@/components/home/TeamSection"; +import TestimonialsSection from "@/components/home/TestimonialsSection"; + const Index = () => { return ( diff --git a/src/pages/ProjectDetails.tsx b/src/pages/ProjectDetails.tsx index 5ef1995..c2b830b 100644 --- a/src/pages/ProjectDetails.tsx +++ b/src/pages/ProjectDetails.tsx @@ -1,4 +1,4 @@ -import PageTransition from "@/components/PageTransition"; +import PageTransition from "@/components/home/PageTransition"; import { Button } from "@/components/ui/button"; import { useProjectById } from "@/hooks/queires/useProjects"; import { motion } from "framer-motion"; diff --git a/src/pages/Projects.tsx b/src/pages/Projects.tsx index d324627..970bda2 100644 --- a/src/pages/Projects.tsx +++ b/src/pages/Projects.tsx @@ -1,4 +1,4 @@ -import PageTransition from "@/components/PageTransition"; +import PageTransition from "@/components/home/PageTransition"; import { Button } from "@/components/ui/button"; import { useProjects } from "@/hooks/queires/useProjects"; import { AnimatePresence, motion } from "framer-motion"; diff --git a/src/pages/admins/components/projects/ManageProject.tsx b/src/pages/admins/components/projects/ManageProject.tsx index a736a9a..c6ee1d5 100644 --- a/src/pages/admins/components/projects/ManageProject.tsx +++ b/src/pages/admins/components/projects/ManageProject.tsx @@ -13,7 +13,7 @@ export default function ManageProject() { const { data: projectsData, isLoading } = useProjects(); const updateMutation = useUpdateProject(); const deleteMutation = useDeleteProject(); - +console.log("project data", projectsData?.data.data.result) const [selectedProject, setSelectedProject] = useState( null, ); diff --git a/src/pages/admins/layout/MainLayout.tsx b/src/pages/admins/layout/MainLayout.tsx index eaadd7f..e16ff0b 100644 --- a/src/pages/admins/layout/MainLayout.tsx +++ b/src/pages/admins/layout/MainLayout.tsx @@ -1,6 +1,6 @@ import { Outlet } from "react-router-dom"; -import Navbar from "@/components/Navbar"; -import Footer from "@/components/Footer"; +import Navbar from "@/components/home/Navbar"; +import Footer from "@/components/home/Footer"; const MainLayout = () => { return ( diff --git a/src/types/projects.type.ts b/src/types/projects.type.ts index 88a2977..821afbf 100644 --- a/src/types/projects.type.ts +++ b/src/types/projects.type.ts @@ -17,4 +17,55 @@ export type T_projects = { status: ProjectStatus; createdAt: Date; updatedAt: Date; -} \ No newline at end of file +} +/** + * _id:string; + title: string; + slug: string, + description: string; + status : str + images?: string; + category: ProjectCategory; + githubLink: string; + liveLink?: string; + technologies: string[]; + companyName: string; + completionYear?: number; + isFeatured: boolean; + status: ProjectStatus; + createdAt: Date; + updatedAt: Date; + * + * ------------------ + * + * { + "title": "AI Chat Application", + "shortDescription": "A real-time chat app powered by AI responses.", + "fullDescription": "Full description of the project...", + "category": [ + "Web Development", + "AI", + "SaaS" + ], + "status": "completed", + "isFeatured": true, + "technologies": [ + "Node.js", + "Express", + "MongoDB", + "React", + "TypeScript", + "OpenAI API" + ], + "publishedYear": "2025", + "workingDuration": "3 months", + "previewUrl": "https://example.com/ai-chat-app", + "features": [ + "Real-time messaging", + "AI-powered responses", + "User authentication", + "Chat history persistence", + "Responsive UI" + ] +} + */ \ No newline at end of file