"use client" import { useMemo } from "react" import Link from "next/link" import { useProjects } from "@/app/providers/ProjectsProvider" import { ProjectInterface } from "@/lib/types" import { shuffleArray } from "@/lib/utils" import { LABELS } from "@/app/labels" import { Icons } from "../icons" import ProjectCard from "./project-card" import { ProjectProps } from "@/app/(pages)/projects/[id]/page" export default function DiscoverMoreProjects({ project }: ProjectProps) { const { projects: allProjects, onFilterProject } = useProjects() const suggestedProject = useMemo(() => { const projectList = allProjects.filter( (p: ProjectInterface) => p.id !== project.id ) // Filter projects by tags onFilterProject("") const suggestedProjects = projectList.filter((p) => { const projectThemes = project.tags?.themes ?? [] const pThemes = p.tags?.themes ?? [] return projectThemes.some((tag) => pThemes.includes(tag)) }) // No match return random projects if (suggestedProjects?.length < 2) { return shuffleArray(projectList).slice(0, 2) } return suggestedProjects.slice(0, 2) }, [allProjects, project.id, project.tags?.themes, onFilterProject]) return (