import React, { useState, useEffect } from 'react'; import { Link } from 'react-router-dom'; const DatasetsPage = () => { const [datasets, setDatasets] = useState([]); const [loading, setLoading] = useState(true); const [error, setError] = useState(null); const [searchTerm, setSearchTerm] = useState(''); const [categoryFilter, setCategoryFilter] = useState('All'); useEffect(() => { // In a real app, this would fetch from an API // For demo purposes, we'll use mock data const mockDatasets = [ { id: 1, title: 'Cold Chain Infrastructure Map', description: 'Geospatial data on refrigeration facilities across Sub-Saharan Africa. Includes location, capacity, and operational status of cold storage facilities.', category: 'Infrastructure', size: '2.4 GB', downloads: 1240, tags: ['geospatial', 'refrigeration', 'Africa', 'logistics'] }, { id: 2, title: 'Post-Harvest Loss Hotspots', description: 'Identified areas with highest food loss rates in South Asia. Contains data on crop types, loss percentages, and contributing factors.', category: 'Analytics', size: '890 MB', downloads: 890, tags: ['analytics', 'loss assessment', 'South Asia', 'crops'] }, { id: 3, title: 'Processing Capacity Database', description: 'List of food processing facilities with available capacity. Includes contact information, equipment types, and scheduling availability.', category: 'Industry', size: '1.1 GB', downloads: 1560, tags: ['processing', 'manufacturing', 'capacity', 'directory'] }, { id: 4, title: 'Food Waste Composition Analysis', description: 'Detailed analysis of food waste streams in urban environments. Data covers waste composition by type, seasonal variations, and disposal methods.', category: 'Waste Management', size: '3.2 GB', downloads: 2100, tags: ['waste', 'composition', 'urban', 'analysis'] }, { id: 5, title: 'Agricultural Surplus Mapping', description: 'Real-time mapping of agricultural surpluses available for redistribution. Updated weekly with data from farms and cooperatives.', category: 'Supply Chain', size: '1.7 GB', downloads: 980, tags: ['surplus', 'redistribution', 'mapping', 'real-time'] }, { id: 6, title: 'Policy Instruments Database', description: 'Comprehensive database of food loss and waste reduction policies worldwide. Includes policy descriptions, implementation status, and impact assessments.', category: 'Policy', size: '520 MB', downloads: 1650, tags: ['policy', 'regulations', 'government', 'database'] } ]; setTimeout(() => { setDatasets(mockDatasets); setLoading(false); }, 500); }, []); const categories = ['All', ...new Set(datasets.map(dataset => dataset.category))]; const filteredDatasets = datasets.filter(dataset => { const matchesSearch = dataset.title.toLowerCase().includes(searchTerm.toLowerCase()) || dataset.description.toLowerCase().includes(searchTerm.toLowerCase()) || dataset.tags.some(tag => tag.toLowerCase().includes(searchTerm.toLowerCase())); const matchesCategory = categoryFilter === 'All' || dataset.category === categoryFilter; return matchesSearch && matchesCategory; }); if (loading) { return (

Open Datasets

); } if (error) { return (

Open Datasets

Error loading datasets: {error}

); } return (

Open Datasets

setSearchTerm(e.target.value)} />
{filteredDatasets.map((dataset) => (

{dataset.title}

{dataset.category}

{dataset.description}

{dataset.tags.map((tag, index) => ( {tag} ))}
Size: {dataset.size} {dataset.downloads} downloads
))}
{filteredDatasets.length === 0 && (

No datasets found matching your criteria.

)}
); }; export default DatasetsPage;