fixed folder stucture
This commit is contained in:
+1
-1
@@ -4,7 +4,7 @@ import { ThemeProvider } from "@/contexts/ThemeContext";
|
|||||||
import { ReactQueryDevtools } from "@tanstack/react-query-devtools";
|
import { ReactQueryDevtools } from "@tanstack/react-query-devtools";
|
||||||
import { AnimatePresence } from "framer-motion";
|
import { AnimatePresence } from "framer-motion";
|
||||||
import { BrowserRouter, Route, Routes, useLocation } from "react-router-dom";
|
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 OverviewPage from "./pages/admins/components/dashboards/OverviewPage";
|
||||||
import ManageProject from "./pages/admins/components/projects/ManageProject";
|
import ManageProject from "./pages/admins/components/projects/ManageProject";
|
||||||
import DashboardLayout from "./pages/admins/layout/DashboardLayout";
|
import DashboardLayout from "./pages/admins/layout/DashboardLayout";
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
import { motion, useInView } from "framer-motion";
|
import { motion, useInView } from "framer-motion";
|
||||||
import { Award, Rocket, Users, Zap } from "lucide-react";
|
import { Award, Rocket, Users, Zap } from "lucide-react";
|
||||||
import { useEffect, useRef, useState } from "react";
|
import { useEffect, useRef, useState } from "react";
|
||||||
import PremiumBadge from "./shared/PremiumBadge";
|
import PremiumBadge from "../shared/PremiumBadge";
|
||||||
|
|
||||||
|
|
||||||
const stats = [
|
const stats = [
|
||||||
{ icon: Zap, value: 10, suffix: "+", label: "Years Experience" },
|
{ icon: Zap, value: 10, suffix: "+", label: "Years Experience" },
|
||||||
@@ -3,7 +3,7 @@ import { useBlogs } from "@/hooks/queires/useBlogs";
|
|||||||
import { motion } from "framer-motion";
|
import { motion } from "framer-motion";
|
||||||
import { ArrowRight, Calendar, Clock, User } from "lucide-react";
|
import { ArrowRight, Calendar, Clock, User } from "lucide-react";
|
||||||
import { Link } from "react-router-dom";
|
import { Link } from "react-router-dom";
|
||||||
import PremiumBadge from "./shared/PremiumBadge";
|
import PremiumBadge from "../shared/PremiumBadge";
|
||||||
|
|
||||||
const containerVariants = {
|
const containerVariants = {
|
||||||
hidden: { opacity: 0 },
|
hidden: { opacity: 0 },
|
||||||
@@ -4,7 +4,7 @@ import { Textarea } from "@/components/ui/textarea";
|
|||||||
import { motion, useInView } from "framer-motion";
|
import { motion, useInView } from "framer-motion";
|
||||||
import { CheckCircle, Mail, MapPin, Phone, Send } from "lucide-react";
|
import { CheckCircle, Mail, MapPin, Phone, Send } from "lucide-react";
|
||||||
import { useRef, useState } from "react";
|
import { useRef, useState } from "react";
|
||||||
import PremiumBadge from "./shared/PremiumBadge";
|
import PremiumBadge from "../shared/PremiumBadge";
|
||||||
|
|
||||||
const contactInfo = [
|
const contactInfo = [
|
||||||
{ icon: Mail, label: "Email", value: "techzaa.alpha@gmail.com" },
|
{ icon: Mail, label: "Email", value: "techzaa.alpha@gmail.com" },
|
||||||
@@ -7,7 +7,7 @@ import {
|
|||||||
import { motion, useInView, useScroll, useSpring } from "framer-motion";
|
import { motion, useInView, useScroll, useSpring } from "framer-motion";
|
||||||
import { Sparkles } from "lucide-react";
|
import { Sparkles } from "lucide-react";
|
||||||
import { useRef, useState } from "react";
|
import { useRef, useState } from "react";
|
||||||
import PremiumBadge from "./shared/PremiumBadge";
|
import PremiumBadge from "../shared/PremiumBadge";
|
||||||
|
|
||||||
const faqs = [
|
const faqs = [
|
||||||
{
|
{
|
||||||
@@ -5,7 +5,7 @@ import { ArrowRight } from "lucide-react";
|
|||||||
import { useRef } from "react";
|
import { useRef } from "react";
|
||||||
import { Link } from "react-router-dom";
|
import { Link } from "react-router-dom";
|
||||||
import { ProjectCard } from "./ProjectCard";
|
import { ProjectCard } from "./ProjectCard";
|
||||||
import PremiumBadge from "./shared/PremiumBadge";
|
import PremiumBadge from "../shared/PremiumBadge";
|
||||||
|
|
||||||
const gradientColors = [
|
const gradientColors = [
|
||||||
"from-neon-blue/90",
|
"from-neon-blue/90",
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
import { motion, useInView } from "framer-motion";
|
import { motion, useInView } from "framer-motion";
|
||||||
import { Brain, Cloud, Globe, Smartphone } from "lucide-react";
|
import { Brain, Cloud, Globe, Smartphone } from "lucide-react";
|
||||||
import { useRef } from "react";
|
import { useRef } from "react";
|
||||||
import PremiumBadge from "./shared/PremiumBadge";
|
import PremiumBadge from "../shared/PremiumBadge";
|
||||||
|
|
||||||
const services = [
|
const services = [
|
||||||
{
|
{
|
||||||
@@ -6,7 +6,7 @@ import { Swiper, SwiperSlide } from "swiper/react";
|
|||||||
|
|
||||||
import { useTeam } from "@/hooks/queires/useTeam";
|
import { useTeam } from "@/hooks/queires/useTeam";
|
||||||
import { Link } from "react-router-dom";
|
import { Link } from "react-router-dom";
|
||||||
import PremiumBadge from "./shared/PremiumBadge";
|
import PremiumBadge from "../shared/PremiumBadge";
|
||||||
|
|
||||||
export default function TeamSection() {
|
export default function TeamSection() {
|
||||||
const { data: teamdata } = useTeam();
|
const { data: teamdata } = useTeam();
|
||||||
+6
-4
@@ -5,6 +5,7 @@ import useEmblaCarousel from "embla-carousel-react";
|
|||||||
import { motion } from "framer-motion";
|
import { motion } from "framer-motion";
|
||||||
import { ChevronLeft, ChevronRight, Quote, Star } from "lucide-react";
|
import { ChevronLeft, ChevronRight, Quote, Star } from "lucide-react";
|
||||||
import { useCallback, useEffect, useState } from "react";
|
import { useCallback, useEffect, useState } from "react";
|
||||||
|
import PremiumBadge from "../shared/PremiumBadge";
|
||||||
|
|
||||||
export default function TestimonialsSection() {
|
export default function TestimonialsSection() {
|
||||||
const { data: reveiwsData } = useReviews();
|
const { data: reveiwsData } = useReviews();
|
||||||
@@ -50,11 +51,12 @@ export default function TestimonialsSection() {
|
|||||||
transition={{ duration: 0.6 }}
|
transition={{ duration: 0.6 }}
|
||||||
className="text-center mb-16"
|
className="text-center mb-16"
|
||||||
>
|
>
|
||||||
<span className="inline-block px-4 py-2 rounded-full glass text-primary text-sm font-medium mb-4">
|
<PremiumBadge text=" Client Stories" />
|
||||||
Client Stories
|
|
||||||
</span>
|
|
||||||
<h2 className="text-4xl md:text-5xl font-bold mb-6">
|
<h2 className="text-4xl md:text-5xl font-bold mb-6">
|
||||||
What Our <span className="text-transparent bg-clip-text bg-gradient-to-r from-primary to-accent-foreground">Clients Say</span>
|
What Our{" "}
|
||||||
|
<span className="text-transparent bg-clip-text bg-gradient-to-r from-primary to-accent-foreground">
|
||||||
|
Clients Say
|
||||||
|
</span>
|
||||||
</h2>
|
</h2>
|
||||||
<p className="text-muted-foreground max-w-2xl mx-auto text-lg">
|
<p className="text-muted-foreground max-w-2xl mx-auto text-lg">
|
||||||
Don't just take our word for it - hear from the amazing companies
|
Don't just take our word for it - hear from the amazing companies
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
import PageTransition from "@/components/PageTransition";
|
import PageTransition from "@/components/home/PageTransition";
|
||||||
import { Button } from "@/components/ui/button";
|
import { Button } from "@/components/ui/button";
|
||||||
import { Input } from "@/components/ui/input";
|
import { Input } from "@/components/ui/input";
|
||||||
import { motion } from "framer-motion";
|
import { motion } from "framer-motion";
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import PageTransition from "@/components/PageTransition";
|
import PageTransition from "@/components/home/PageTransition";
|
||||||
import { Button } from "@/components/ui/button";
|
import { Button } from "@/components/ui/button";
|
||||||
import { getRelatedPosts } from "@/data/blogData";
|
import { getRelatedPosts } from "@/data/blogData";
|
||||||
import { useBlogById } from "@/hooks/queires/useBlogs";
|
import { useBlogById } from "@/hooks/queires/useBlogs";
|
||||||
|
|||||||
+10
-9
@@ -1,12 +1,13 @@
|
|||||||
import AboutSection from "@/components/AboutSection";
|
import AboutSection from "@/components/home/AboutSection";
|
||||||
import ContactSection from "@/components/ContactSection";
|
import ContactSection from "@/components/home/ContactSection";
|
||||||
import FAQSection from "@/components/FAQSection";
|
import FAQSection from "@/components/home/FAQSection";
|
||||||
import HeroSection from "@/components/HeroSection";
|
import HeroSection from "@/components/home/HeroSection";
|
||||||
import PageTransition from "@/components/PageTransition";
|
import PageTransition from "@/components/home/PageTransition";
|
||||||
import ProjectsSection from "@/components/ProjectsSection";
|
import ProjectsSection from "@/components/home/ProjectsSection";
|
||||||
import ServicesSection from "@/components/ServicesSection";
|
import ServicesSection from "@/components/home/ServicesSection";
|
||||||
import TeamSection from "@/components/TeamSection";
|
import TeamSection from "@/components/home/TeamSection";
|
||||||
import TestimonialsSection from "@/components/TestimonialsSection";
|
import TestimonialsSection from "@/components/home/TestimonialsSection";
|
||||||
|
|
||||||
|
|
||||||
const Index = () => {
|
const Index = () => {
|
||||||
return (
|
return (
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import PageTransition from "@/components/PageTransition";
|
import PageTransition from "@/components/home/PageTransition";
|
||||||
import { Button } from "@/components/ui/button";
|
import { Button } from "@/components/ui/button";
|
||||||
import { useProjectById } from "@/hooks/queires/useProjects";
|
import { useProjectById } from "@/hooks/queires/useProjects";
|
||||||
import { motion } from "framer-motion";
|
import { motion } from "framer-motion";
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import PageTransition from "@/components/PageTransition";
|
import PageTransition from "@/components/home/PageTransition";
|
||||||
import { Button } from "@/components/ui/button";
|
import { Button } from "@/components/ui/button";
|
||||||
import { useProjects } from "@/hooks/queires/useProjects";
|
import { useProjects } from "@/hooks/queires/useProjects";
|
||||||
import { AnimatePresence, motion } from "framer-motion";
|
import { AnimatePresence, motion } from "framer-motion";
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ export default function ManageProject() {
|
|||||||
const { data: projectsData, isLoading } = useProjects();
|
const { data: projectsData, isLoading } = useProjects();
|
||||||
const updateMutation = useUpdateProject();
|
const updateMutation = useUpdateProject();
|
||||||
const deleteMutation = useDeleteProject();
|
const deleteMutation = useDeleteProject();
|
||||||
|
console.log("project data", projectsData?.data.data.result)
|
||||||
const [selectedProject, setSelectedProject] = useState<T_projects | null>(
|
const [selectedProject, setSelectedProject] = useState<T_projects | null>(
|
||||||
null,
|
null,
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { Outlet } from "react-router-dom";
|
import { Outlet } from "react-router-dom";
|
||||||
import Navbar from "@/components/Navbar";
|
import Navbar from "@/components/home/Navbar";
|
||||||
import Footer from "@/components/Footer";
|
import Footer from "@/components/home/Footer";
|
||||||
|
|
||||||
const MainLayout = () => {
|
const MainLayout = () => {
|
||||||
return (
|
return (
|
||||||
|
|||||||
@@ -17,4 +17,55 @@ export type T_projects = {
|
|||||||
status: ProjectStatus;
|
status: ProjectStatus;
|
||||||
createdAt: Date;
|
createdAt: Date;
|
||||||
updatedAt: Date;
|
updatedAt: Date;
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* _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"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
*/
|
||||||
Reference in New Issue
Block a user