Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| aa7ee3f19e | |||
| e1ed111c55 | |||
| 24544eb680 |
@@ -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,
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -7,21 +7,15 @@ import { Link } from "react-router-dom";
|
|||||||
import PremiumBadge from "../shared/PremiumBadge";
|
import PremiumBadge from "../shared/PremiumBadge";
|
||||||
import { ProjectCard } from "./ProjectCard";
|
import { ProjectCard } from "./ProjectCard";
|
||||||
|
|
||||||
const gradientColors = [
|
|
||||||
"from-neon-blue/90",
|
|
||||||
"from-neon-purple/90",
|
|
||||||
"from-neon-green/90",
|
|
||||||
"from-neon-pink/90",
|
|
||||||
];
|
|
||||||
|
|
||||||
export default function ProjectsSection() {
|
export default function ProjectsSection() {
|
||||||
const { data: projectsData } = useProjects({
|
const { data: projectsData } = useProjects({
|
||||||
fields: "category, title, image, liveUrl",
|
fields: "category, title, image, liveUrl",
|
||||||
limit: 6,
|
limit: 6,
|
||||||
});
|
});
|
||||||
console.log(projectsData?.data.data);
|
|
||||||
const projects = projectsData?.data.data || [];
|
const projects = projectsData?.data.data || [];
|
||||||
console.log("project from homepage", projects);
|
|
||||||
const ref = useRef<HTMLElement>(null);
|
const ref = useRef<HTMLElement>(null);
|
||||||
const isInView = useInView(ref, { once: true, margin: "-100px" });
|
const isInView = useInView(ref, { once: true, margin: "-100px" });
|
||||||
|
|
||||||
@@ -31,7 +25,7 @@ export default function ProjectsSection() {
|
|||||||
ref={ref}
|
ref={ref}
|
||||||
className="py-24 relative overflow-hidden bg-secondary/30"
|
className="py-24 relative overflow-hidden bg-secondary/30"
|
||||||
>
|
>
|
||||||
{/* Background Pattern */}
|
|
||||||
<div className="absolute inset-0 opacity-5">
|
<div className="absolute inset-0 opacity-5">
|
||||||
<div
|
<div
|
||||||
className="absolute inset-0"
|
className="absolute inset-0"
|
||||||
@@ -43,7 +37,7 @@ export default function ProjectsSection() {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="container mx-auto px-4 relative z-10">
|
<div className="container mx-auto px-4 relative z-10">
|
||||||
{/* Section Header */}
|
|
||||||
<motion.div
|
<motion.div
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
animate={isInView ? { opacity: 1, y: 0 } : {}}
|
animate={isInView ? { opacity: 1, y: 0 } : {}}
|
||||||
@@ -62,7 +56,7 @@ export default function ProjectsSection() {
|
|||||||
</p>
|
</p>
|
||||||
</motion.div>
|
</motion.div>
|
||||||
|
|
||||||
{/* Projects Grid */}
|
|
||||||
<div className="grid md:grid-cols-2 lg:grid-cols-3 gap-8 mb-16">
|
<div className="grid md:grid-cols-2 lg:grid-cols-3 gap-8 mb-16">
|
||||||
{projects.map((project, index) => {
|
{projects.map((project, index) => {
|
||||||
return (
|
return (
|
||||||
@@ -76,7 +70,7 @@ export default function ProjectsSection() {
|
|||||||
})}
|
})}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* See All Button */}
|
|
||||||
<motion.div
|
<motion.div
|
||||||
initial={{ opacity: 0, y: 30 }}
|
initial={{ opacity: 0, y: 30 }}
|
||||||
animate={isInView ? { opacity: 1, y: 0 } : {}}
|
animate={isInView ? { opacity: 1, y: 0 } : {}}
|
||||||
|
|||||||
@@ -1,18 +1,13 @@
|
|||||||
import { Link, useLocation } from "react-router-dom";
|
import { Link } from "react-router-dom";
|
||||||
import { useEffect } from "react";
|
|
||||||
|
|
||||||
const NotFound = () => {
|
const NotFound = () => {
|
||||||
const location = useLocation();
|
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
console.error("404 Error: User attempted to access non-existent route:", location.pathname);
|
|
||||||
}, [location.pathname]);
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="flex min-h-screen items-center justify-center bg-muted">
|
<div className="flex min-h-screen items-center justify-center bg-muted">
|
||||||
<div className="text-center">
|
<div className="text-center">
|
||||||
<h1 className="mb-4 text-4xl font-bold">404</h1>
|
<h1 className="mb-4 text-4xl font-bold">404</h1>
|
||||||
<p className="mb-4 text-xl text-muted-foreground">Oops! Page not found</p>
|
<p className="mb-4 text-xl text-muted-foreground">
|
||||||
|
Oops! Page not found.
|
||||||
|
</p>
|
||||||
<Link to="/" className="text-primary underline hover:text-primary/90">
|
<Link to="/" className="text-primary underline hover:text-primary/90">
|
||||||
Return to Home
|
Return to Home
|
||||||
</Link>
|
</Link>
|
||||||
|
|||||||
Reference in New Issue
Block a user