Sites Management
Manage your sites, configure industries, and select sectors. Multiple sites can be active simultaneously.
{/* Info Alert */}
{/* Sites Grid */}
{sites.length === 0 ? (
No sites yet
Create your first site to get started
) : (
{sites.map((site) => (
}
onToggle={handleToggle}
onSettings={handleSettings}
onDetails={handleDetails}
isToggling={togglingSiteId === site.id}
/>
))}
)}
{/* Create/Edit Site Modal */}
{
setShowSiteModal(false);
setSelectedSite(null);
setFormData({
name: '',
domain: '',
description: '',
is_active: false,
});
}}
onSubmit={handleSaveSite}
title={selectedSite ? 'Edit Site' : 'Create New Site'}
submitLabel={selectedSite ? 'Update Site' : 'Create Site'}
fields={getSiteFormFields()}
isLoading={isSaving}
/>
{/* Sectors Selection Modal */}
setShowSectorsModal(false)}
onSubmit={handleSelectSectors}
title={selectedSite ? `Configure Sectors for ${selectedSite.name}` : 'Configure Sectors'}
submitLabel={isSelectingSectors ? 'Saving...' : 'Save Sectors'}
cancelLabel="Cancel"
isLoading={isSelectingSectors}
className="max-w-2xl"
customBody={
{selectedIndustry && (
{industries.find(i => i.slug === selectedIndustry)?.description}
)}
{selectedIndustry && (
{getIndustrySectors().map((sector) => (
))}
Selected: {selectedSectors.length} / 5 sectors
)}
}
customFooter={
}
/>
{/* Site Details Modal - Editable */}
{selectedSite && (
{
setShowDetailsModal(false);
setSelectedSite(null);
}}
onSubmit={handleSaveDetails}
title={`Edit Site: ${selectedSite.name}`}
submitLabel="Save Changes"
fields={getSiteFormFields()}
isLoading={isSaving}
customFooter={
}
/>
)}
>
);
}