build error fixes

This commit is contained in:
2025-10-09 20:50:32 +05:30
parent 42f065dac0
commit 2499ec2ada
5 changed files with 104 additions and 228 deletions

View File

@ -1,6 +1,6 @@
// components/BlogListing.tsx
'use client';
import { useState, useEffect } from 'react';
import { useState, useEffect, useCallback } from 'react';
import Image from 'next/image';
import Link from 'next/link';
import { ChevronRight } from 'lucide-react';
@ -25,34 +25,32 @@ const BlogListing: React.FC = () => {
};
// Filter blogs based on category and search query
const filterBlogs = () => {
let filtered = blogs;
const filterBlogs = useCallback(() => {
let filtered = blogs;
// Filter by category
if (selectedCategory !== 'All Categories') {
filtered = filtered.filter(blog =>
blog.tags.some(tag =>
tag.toLowerCase().includes(selectedCategory.toLowerCase())
)
);
}
if (selectedCategory !== 'All Categories') {
filtered = filtered.filter(blog =>
blog.tags.some(tag =>
tag.toLowerCase().includes(selectedCategory.toLowerCase())
)
);
}
// Filter by search query
if (searchQuery.trim()) {
const query = searchQuery.toLowerCase().trim();
filtered = filtered.filter(blog =>
blog.title.toLowerCase().includes(query) ||
blog.excerpt.toLowerCase().includes(query) ||
blog.tags.some(tag => tag.toLowerCase().includes(query)) ||
(blog.professors && blog.professors.some(prof =>
prof.firstName?.toLowerCase().includes(query) ||
prof.name?.toLowerCase().includes(query)
))
);
}
if (searchQuery.trim()) {
const query = searchQuery.toLowerCase().trim();
filtered = filtered.filter(blog =>
blog.title.toLowerCase().includes(query) ||
blog.excerpt.toLowerCase().includes(query) ||
blog.tags.some(tag => tag.toLowerCase().includes(query)) ||
(blog.professors && blog.professors.some(prof =>
prof.firstName?.toLowerCase().includes(query) ||
prof.name?.toLowerCase().includes(query)
))
);
}
setFilteredBlogs(filtered);
};
setFilteredBlogs(filtered);
}, [blogs, selectedCategory, searchQuery]);
// Load blogs from API
useEffect(() => {
@ -85,10 +83,11 @@ const BlogListing: React.FC = () => {
// Filter blogs when category or search changes
useEffect(() => {
if (mounted && blogs.length > 0) {
filterBlogs();
}
}, [selectedCategory, searchQuery, blogs, mounted]);
if (mounted && blogs.length > 0) {
filterBlogs();
}
}, [mounted, filterBlogs]);
// Handle mount
useEffect(() => {