diff --git a/src/components/Admin/AdminPanel.css b/src/components/Admin/AdminPanel.css index e103ec1..9276191 100644 --- a/src/components/Admin/AdminPanel.css +++ b/src/components/Admin/AdminPanel.css @@ -661,6 +661,14 @@ font-size: 16px; color: #666; } + + .featured-filter { + width: 100%; + padding: 8px; + border: 1px solid #ddd; + border-radius: 4px; + margin-bottom: 5px; + } .reset-filters-button:hover { color: #ff3333; diff --git a/src/components/Admin/AdminPanel.js b/src/components/Admin/AdminPanel.js index 2b3ca21..87b11e4 100644 --- a/src/components/Admin/AdminPanel.js +++ b/src/components/Admin/AdminPanel.js @@ -17,6 +17,7 @@ const AdminPanel = () => { const [completenessFilter, setCompletenessFilter] = useState('all'); const [categoryFilter, setCategoryFilter] = useState('all'); const [tagFilter, setTagFilter] = useState('all'); + const [featuredFilter, setFeaturedFilter] = useState('all'); // Login state const [email, setEmail] = useState(''); @@ -185,6 +186,7 @@ const AdminPanel = () => { setCompletenessFilter('all'); setCategoryFilter('all'); setTagFilter('all'); + setFeaturedFilter('all'); setSearchQuery(''); }; @@ -254,7 +256,7 @@ const AdminPanel = () => { }); }; - // Filter resources based on status, search query, completeness, category, and tag + // Filter resources based on status, search query, completeness, category, tag, and featured status const filteredResources = resources.filter(resource => { // Status filter if (statusFilter !== 'all' && resource.status !== statusFilter) return false; @@ -274,6 +276,10 @@ const AdminPanel = () => { // Tag filter if (tagFilter !== 'all' && (!resource.tagIds || !resource.tagIds.includes(parseInt(tagFilter)))) return false; + // Featured filter + if (featuredFilter === 'featured' && !resource.featured) return false; + if (featuredFilter === 'not-featured' && resource.featured) return false; + return true; }); @@ -622,7 +628,7 @@ const AdminPanel = () => { className="search-input" /> {(searchQuery || statusFilter !== 'all' || completenessFilter !== 'all' || - categoryFilter !== 'all' || tagFilter !== 'all') && ( + categoryFilter !== 'all' || tagFilter !== 'all' || featuredFilter !== 'all') && (