46 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
'use client';
 | 
						|
 | 
						|
import React from 'react';
 | 
						|
import DashboardLayout from '../adminDashboard/dashlayout';
 | 
						|
import SiteCard from '@/components/dashboards/SiteCard'; // Import the new SiteCard component
 | 
						|
import { mockSiteData, SiteName } from '@/types/SiteData'; // Import your mock data and SiteName type
 | 
						|
 | 
						|
const SitesPage = () => {
 | 
						|
    // Helper function to determine status (can be externalized if used elsewhere)
 | 
						|
    const getSiteStatus = (siteName: SiteName): string => {
 | 
						|
        const statusMap: Record<SiteName, string> = {
 | 
						|
            'Site A': 'Active',
 | 
						|
            'Site B': 'Inactive',
 | 
						|
            'Site C': 'Faulty',
 | 
						|
        };
 | 
						|
        return statusMap[siteName];
 | 
						|
    };
 | 
						|
 | 
						|
    return (
 | 
						|
        <DashboardLayout>
 | 
						|
            <div className="p-6 space-y-6">
 | 
						|
                <h1 className="text-2xl font-bold mb-6 dark:text-white-light">All Sites Overview</h1>
 | 
						|
 | 
						|
                <div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6">
 | 
						|
                    {/* Iterate over the keys of mockSiteData (which are your SiteNames) */}
 | 
						|
                    {Object.keys(mockSiteData).map((siteNameKey) => {
 | 
						|
                        const siteName = siteNameKey as SiteName; // Cast to SiteName type
 | 
						|
                        const siteDetails = mockSiteData[siteName];
 | 
						|
                        const siteStatus = getSiteStatus(siteName);
 | 
						|
 | 
						|
                        return (
 | 
						|
                            <SiteCard
 | 
						|
                                key={siteName} // Important for React list rendering
 | 
						|
                                siteName={siteName}
 | 
						|
                                details={siteDetails}
 | 
						|
                                status={siteStatus}
 | 
						|
                            />
 | 
						|
                        );
 | 
						|
                    })}
 | 
						|
                </div>
 | 
						|
            </div>
 | 
						|
        </DashboardLayout>
 | 
						|
    );
 | 
						|
};
 | 
						|
 | 
						|
export default SitesPage; |